如何判断 boto 是否使用 SSLv3 或 TLS?

11

亚马逊即将停用SSLv3支持,我正在尝试验证boto是否使用TLS。 有没有一种好的方法来验证这一点? 或者有没有一种很好的测试可以显示TLS的使用情况?


我目前遇到了一个大问题,因为在使用boto进行S3操作时,Python 2.7会在SSL3握手阶段卡住。 - skrat
1
请参见:https://github.com/boto/boto/issues/3103#issuecomment-97103125。正如所述,这并不是boto本身的问题,但对于boto用户来说确实是一个问题。如果您有一个相当现代的openssl版本,那么应该没问题。 - garnaat
2个回答

3
如上所述,您可以使用数据包嗅探器来确定是否进行SSLv3连接:
# sudo tcpdump -i eth0 'tcp[((tcp[12]>>4)*4)+9:2]=0x0300'
将“eth0”替换为正确的接口。然后使用openssl执行SSLv3连接,以测试是否工作:
# openssl s_client -connect s3.amazonaws.com:443 -ssl3
如果网络接口正确,则tcpdump应该捕获到该活动。最后,测试您的应用程序。如果它正在使用SSLv3,则也应该可见。您还可以更改捕获过滤器以查看正在使用的协议:
TLSv1-0x0301 TLSv1.1-0x0302 TLSv1.2-0x0303

1
在高层次上,客户端和服务器将在SSL/TLS握手的一部分中协商支持哪个版本的协议,来自客户端和服务器端的最高支持版本将获胜。如果客户端支持最新的TLS 1.2,并且服务器也支持它,它们将决定使用TLS 1.2。您可以使用Wireshark或其他类似的数据包捕获工具来嗅探流量,以确定加密流量是否使用SSLv3或TLS。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接