Почтовый сервер · 2 min read · Oct 05, 2025

Полное решение почтового сервера с виртуальными доменами и пользователями (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Страница 11

B. Безопасный Postfix+TLS

Чтобы начать, нам нужно установить postfix на secure-mail.example.com. Эта установка не нуждается в поддержке квот (она не обрабатывает локальную доставку), но чтобы упростить задачу, мы установим его так же, как и выше:

# dpkg -i postfix_2.3.8-2_i386.deb  
# dpkg -i postfix-mysql_2.3.8-2_i386.deb

Если/когда автонастройка задаст вам вопросы о postfix во время установки, просто выберите “ Нет конфигурации “

dpkg установит все файлы конфигурации для Postfix в /etc/postfix, поэтому перейдите туда и создайте файл main.cf:

# cd /etc/postfix  
# touch main.cf

Файл main.cf можно редактировать двумя различными способами. Вы можете использовать свой любимый текстовый редактор или встроенный инструмент postfix postconf. Мы уже использовали postconf один раз, чтобы определить нашу версию в подразделе IV.A выше.

Настоящая польза от инструмента postconf заключается в том, что он имеет встроенную проверку ошибок и устраняет возможность “странностей” из-за возвратов каретки, переводов строк, странных кавычек и т.д. Мы будем использовать его в этом руководстве, но это не обязательно.

Начните с заполнения основной информации:

# postconf -e 'myhostname = secure-mail.example.com'  
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'  
# postconf -e 'biff = no'  
# postconf -e 'append_dot_mydomain = no'  
# postconf -e 'myorigin = example.com'  
# postconf -e 'inet_interfaces = all'  
# postconf -e 'local_recipient_maps ='  
# postconf -e 'local_transport = error:local mail delivery is disabled'  
# postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, reject'

Вы заметите, что на этот раз мы отключили локальную доставку. Поскольку это в основном просто сервер ретрансляции, мы не хотим, чтобы он пытался “доставить”
любую почту… просто отправить её дальше. Мы также настроили SMTP-сервер так, чтобы он разрешал только SASL-аутентифицированные сессии и отклонял любые другие сессии.

Теперь мы хотим заполнить информацию для SASL (SMTP-аутентификация). Это НЕ шифрует соединение, это просто требует, чтобы пользователи вошли в систему:

# postconf -e 'smtpd_sasl_auth_enable = yes'  
# postconf -e 'smtpd_sasl_security_options = noanonymous'  
# postconf -e 'broken_sasl_auth_clients = yes'  
# postconf -e 'smtpd_sasl_type = dovecot'  
# postconf -e 'smtpd_sasl_path = private/auth'

Теперь ваша установка postfix будет запрашивать dovecot для всех своих потребностей в аутентификации, но она все еще не зашифрована. Давайте изменим это…

# postconf -e 'smtpd_tls_cert_file = /etc/ssl/example.com/mailserver/mail-cert.pem'  
# postconf -e 'smtpd_tls_key_file = /etc/ssl/example.com/mailserver/mail-key.pem'  
# postconf -e 'smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_session_cache'  
# postconf -e 'smtpd_tls_security_level = encrypt'  
# postconf -e 'smptd_tls_received_header = no'  
# postconf -e 'smtpd_tls_loglevel = 0'  
# postconf -e 'tls_random_source = dev:/dev/urandom'

Перезагрузите postfix…

# postfix reload

А затем давайте запустим Dovecot…

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.