【发布时间】:2014-12-26 17:04:36
【问题描述】:
我有一个使用 OpenSSL 的服务器应用程序。我试图了解什么类型的 SSL 连接正在访问我的系统(即 SSLv2、SSLv3、TLSv1、TLSv1.1、TLSv1.2)。特别是,我正在努力禁用 SSLv3(re: POODLE)。在我这样做之前,我想看看谁/什么在 SSLv3 上连接
我目前正在使用 SSL_CIPHER_description 和 SSL_CIPHER_get_name 函数,它们提供了关于为每个连接协商的密码的非常好的信息
我在尝试区分 SSLv3 和 TLSv1 连接时遇到了一些挑战。每 https://www.openssl.org/docs/ssl/SSL_CIPHER_get_name.html:
"The TLSv1.0 ciphers are flagged with SSLv3. No new ciphers were added by TLSv1.1."
我已确认 TLSv1 连接被标记为 SSLv3 例如:SSL_CIPHER_description 在绝对是 TLSv1.0 的连接上返回以下内容: AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
有没有人知道如何在 OpenSSL 中检测连接是 SSLv3 还是 TLSv1?
【问题讨论】:
-
“在此之前,我想看看谁/什么在 SSLv3 上连接...” - TLS 1.0 is ubiquitous 客户端采用率为 99.7%。拔掉 SSLv3 的插头,不要回头。在 POODLE 之前 10 年,安全社区告诉你停止使用 SSLv3,因为它存在问题(请参阅 Loren Weith 的 Differences Between SSLv2, SSLv3, and TLS 论文)。如果一个客户端在 2015 年不支持 TLS,那么它永远不会......
标签: encryption openssl