Мне было поручено реализовать 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.