Я готовлюсь к развертыванию нового SMTP-сервера и не знаю, как гарантировать, что он использует надежное шифрование. Программное обеспечение сервера - Postfix, работающее только по SMTP. Я добавил следующее в main.cf
файл (украден из Вот):
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5
smtpd_tls_security_level = encrypt
smtpd_tls_mandatory_protocols = TLSv1
# Also available with Postfix ≥ 2.5:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
Перезапустил демон, и, похоже, все работает как задумано, но я не уверен, как проверить, что включены только сильные шифры. Следующее позволяет мне подключиться, но я не уверен, какая комбинация флагов (-no_ssl3
, -no_tls1
и т. д.), чтобы убедиться, что включено только надежное шифрование.
openssl s_client -starttls smtp -crlf -connect mail.mysite.com:25
Вы можете проверить отдельные шифры, используя -cipher <cipherspec>
вариант (см. руководство OpenSSL для получения дополнительной информации об этом параметре и о том, как писать спецификации шифров).
В вашем случае вы можете указать cipherspec всех низкоуровневых шифров, которые вы не хотите использовать, и ваш сервер должен отклонить попытку.
Вам также следует проверить шифры, которые вы хотеть использовать (индивидуально), чтобы убедиться, что они работают.