我们之前的同事使用 postfix 设置了 webmin,以允许从应用程序服务器和电子邮件发送短信。
他阴云密布地离开,没有提供任何交接!
最近,我们更新了防火墙,使用 TLS 和更高级别的加密。我们对面向公众的系统进行了更改,没有任何问题!但是,现在有人告诉我们,我们的 SMS 网关出现了问题。位于 ASA 上的 DMZ 中的 Web 服务器执行 SMS 身份验证,用户登录后,系统会生成 SMS 并通过 SMS 网关发送,然后向用户发送登录代码。
自从防火墙更改后,用户不再收到这些短信。经过一番调查,似乎我们的错误与 CA 未列在 TLS 设置中有关。更改此设置给我们带来了一个新错误,未知 CA。我创建了一个新的自签名证书,更新了所有正确的设置,现在收到以下内容:
Mar 23 09:22:47 srvesms01 postfix/smtpd[14295]: connect from unknown[10.*.*.*]
Mar 23 09:22:53 srvesms01 postfix/smtpd[14083]: SSL_accept error from unknown[10.*.*.*]: -1
Mar 23 09:22:53 srvesms01 postfix/smtpd[14083]: warning: TLS library problem: 14083:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unkn own protocol:s23_srvr.c:647:
Mar 23 09:22:53 srvesms01 postfix/smtpd[14083]: lost connection after CONNECT from unknown[10.*.*.*]
生成 SMS 的 Web 服务器 (10.。.*) 已设置 TLS 并具有安全密码。
有人能帮我弄清楚这个问题吗?这对我来说都是新问题,所以对于任何愚蠢的问题我深表歉意!
谢谢
答案1
听起来潜在的问题是支持的 SSL/TLS 协议不匹配。
从表面上看,连接到 postfix(或具体来说,SMPTD)的客户端似乎正在尝试使用 SSLv3。
似乎不支持 SSLv3 - 您的更新是否包括配置仅有的TLS 的使用?
您可以通过以下方式快速检查服务器支持的功能(无需进入配置)openssl s_client
:
openssl s_client -connect mail.server:25 -starttls smtp -ssl2
openssl s_client -connect mail.server:25 -starttls smtp -ssl3
openssl s_client -connect mail.server:25 -starttls smtp -tls1
然后,您可以检查服务器支持的内容,以及这些命令是否允许您复制该问题。
如果需要的话,您可以在远程端执行类似的检查。
另一个想法是确保你有合适的TLS 设置在后缀中:
- 注意 的值(在 中
main.cf
)smtpd_tls_security_level
- 另请检查
smtpd_tls_mandatory_ciphers
、smtpd_tls_mandatory_protocols
和smtpd_tls_mandatory_exclude_ciphers