服务器通过SMTP连接Amazon SES未使用TLS 1.2的排查求助
SMTP连接Amazon SES时TLS版本异常降级排查
收到通知邮件,告知我们的服务器通过SMTP向Amazon SES发送邮件时,仍在使用TLS 1.0/1.1,需要升级为TLS 1.2。但我检查了所有涉及的服务器组件,确认它们均支持TLS 1.2,具体如下:
Ubuntu 16.04.3 LTS OpenSSL 1.0.2g PHP 7.1 Laravel 5.5 Swiftmailer v6.0 Sendmail 8.15.2
基于以上组件的支持情况,我无法理解为何SES会报告TLS 1.0/1.1握手的问题。
我使用以下tcpdump命令监控TLS版本低于1.2的连接:
$ tcpdump "tcp port 587 and (tcp[((tcp[12] & 0xf0) >>2)] = 0x16) && (tcp[((tcp[12] & 0xf0) >>2)+9] = 0x03) && ( (tcp[((tcp[12] & 0xf0) >>2)+10] = 0x01) || (tcp[((tcp[12] & 0xf0) >>2)+10] = 0x02))" -X
捕获结果中包含如下内容:
"0x0050: e941 7b4f a11f 3444 4f57 4e47 5244 0020 .A{O..4DOWNGRD.."
我猜测DOWNGRD意味着连接被降级回TLS 1.1或1.0。
但执行以下openssl测试命令时:
$ openssl s_client -crlf -starttls smtp -connect email-smtp.eu-west-1.amazonaws.com:587 -tls1_2
得到的结果显示可以正常建立TLS 1.2连接:
SSL-Session: Protocol : TLSv1.2 Cipher : ECD........
请问有人能解释这一现象,或提供进一步排查问题的命令吗?
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

