Почтовый сервер · 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…
Get new posts in your inbox
No spam. Unsubscribe anytime.