Назад | Перейти на главную страницу

Как настроить TLS для работы с почтовым сервером Postfix

Мне было поручено реализовать TLS на сервере ретрансляции электронной почты Postfix для международного офиса.

Я знаю, что мне нужно изменить /etc/postfix/main.cf, чтобы настроить TLS. У нас есть еще один сервер ретрансляции электронной почты в США, который настроен с использованием TLS и имеет следующую конфигурацию TLS:

# TLS parameters 'mail.company-name.com'
smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key
smtpd_use_tls=yes
smtp_tls_loglevel=5
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Я могу реализовать эту конфигурацию на сервере Postfix моего международного офиса, поэтому мне просто интересно, все ли мне осталось сделать, это создать сертификат для mail.company-name.in, аналогичный сертификату, который указан в следующих строках:

smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key

Новая конфигурация будет следующей:

# TLS parameters 'mail.company-name.in'
smtpd_tls_cert_file=/etc/ssl/certs/company-name.in.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.in.key
smtpd_use_tls=yes
smtp_tls_loglevel=5
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Я упускаю что-нибудь еще, что вы могли заметить? Любые советы будут оценены.

Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы, и я буду рад их уточнить.

Спасибо за помощь!

Я предполагаю, что у вас еще нет подписанного сертификата для вашего домена, иначе ваш вопрос был бы бессмысленным.

Если вам нужен сертификат, подписанный ЦС, вам нужно перейти в ЦС и предоставить им свой CSR, тогда вы получите сертификат. Какой CA вы выбрали, не имеет значения, если ему доверяют устройства вашего клиента.

Чтобы сгенерировать CSR, вы можете использовать openssl:

openssl req -new -newkey rsa:4096 -nodes -out company-name.com.csr -keyout company-name.com.key

Вам нужно ответить на несколько вопросов, но все они, за исключением Common Name, не имеют значения.

См. Также например Как купить SSL-сертификат? и много других вопросов здесь.


РЕДАКТИРОВАТЬ:

smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key

Эти строки определяют, какой сертификат и ключевой файл использовать для сеансов TLS. Если вы хотите, чтобы клиенты могли проверять действительность, вам необходимо предоставить цепочке сертификатов smtpd_tls_CAfile.

smtpd_use_tls=yes
smtp_tls_note_starttls_offer=yes

Это обеспечивает гибкое шифрование. Т.е. когда SMTP-клиент подключается, доставляя почту на ваш сервер / доставляя почту на другой SMTP-сервер, он объявляет, что STARTTLS доступен.

smtp_tls_loglevel=5

Полезно для отладки. Обратите внимание, что документы не рекомендую ничего выше 2 и 5 вообще не определяю. 1 разумно.

smtpd_tls_security_level=may

Включает гибкое шифрование, но не требует его. Вы можете установить его на encrypt для подачи.

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Требуется для билетов на сеанс и рекомендуется.

Вы хотите ознакомиться с руководством BetterCrypto.org Прикладное усиление криптографии, он содержит полный пример для Postfix.