使用 OpenSSL 测试 SMTP 安全性?

Jac*_* M. 3 ssl smtp postfix openssl

我正准备部署一个新的 SMTP 服务器,但我不确定如何确保它使用强加密。服务器软件是仅运行 SMTP 的 Postfix。我已将以下内容添加到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
Run Code Online (Sandbox Code Playgroud)

重新启动守护进程,一切似乎都按预期工作,但我不确定如何测试是否只启用了强密码。下面让我来连接的,但我不知道标志(其中组合-no_ssl3-no_tls1以确保只有强大的加密被启用等)来使用。

openssl s_client -starttls smtp -crlf -connect mail.mysite.com:25
Run Code Online (Sandbox Code Playgroud)

vor*_*aq7 6

您可以使用该-cipher <cipherspec>选项测试各个密码(有关此选项的更多信息以及如何编写密码规范,请参阅 OpenSSL 手册)。

在您的情况下,您可以指定您不想使用的所有低级密码的密码规范,并且您的服务器应该拒绝该尝试。
您还应该(单独)测试您想要使用的密码以确保它们有效。

  • 支持 `high` 配置的实际密码列表位于 `tls_high_cipherlist` 配置参数中,因此请查看它以确定应该和不应该启用哪些内容。例如,奇怪的是,它们默认启用 RC4,因此您将启用它并能够在您可能不期望的时候与其连接。 (2认同)