通过 SMTP 连接到 Amazon SES 时未使用 TLS 1.2 的 Web 服务器

Web server not using TLS 1.2 when connecting to Amazon SES via SMTP

提问人:Steve 提问时间:10/11/2023 最后编辑:Steve 更新时间:11/11/2023 访问量:232

问:

我收到一封电子邮件,指出在通过 SMTP 向 Amazon SES 发送电子邮件时,需要更新我们的服务器以使用 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

以上所有内容都支持 TLS 1.2,所以我不确定为什么 SES 会报告 TLS 1.0/1.1 握手。

我正在使用以下命令监视 TLS < 1.2 与 TCPdump 的连接:

$ 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 必须意味着恢复到 1.1 或 1.0。

但是,正在运行:

$ openssl s_client -crlf -starttls smtp -connect email-smtp.eu-west-1.amazonaws.com:587 -tls1_2

确实会导致:

SSL-Session:
Protocol  : TLSv1.2
Cipher    : ECD........

因此,我似乎能够直接建立联系。

任何人都可以就为什么会发生这种情况或建议任何命令来帮助识别问题吗?

php openssl ubuntu-16.04 tls1.2 亚马逊 SES

评论


答:

0赞 Naman Khator 11/11/2023 #1

https://github.com/laravel/framework/discussions/41075#discussioncomment-7499514

我没有使用tls,而是切换到上面评论中提到的SSL,它起作用了!