【问题标题】:Securing a Thrift server aginst the POODLE SSL vulnerability针对 POODLE SSL 漏洞保护 Thrift 服务器
【发布时间】:2014-10-15 16:06:31
【问题描述】:

为了保护我的 Thrift 服务器免受最近发现的 SSLv3 vulnerability 的攻击,我明确说明了应该为服务器套接字启用哪些协议:

TServerSocket socket = TSSLTransportFactory.getServerSocket(...);
SSLServerSocket sslServerSocket = (SSLServerSocket) socket.getServerSocket;
sslServerSocket.setEnabledProtocols(new String[] {"TLSv1.1", "TLSv1.2"});

但是,即使使用 TestSSLServer 进行的检查仅列出 TLSv1.1 和 TLSv1.2,我仍然可以使用 SSLv3 连接 OpenSSL:

openssl s_client -connect localhost:1111 -ssl3

如何在 Thrift 上完全禁用 SSLv3,使其在 SSL 握手期间失败?

【问题讨论】:

  • 在设置启用协议之前和之后,是什么给了您 sslServerSocket.getEnabledProtocols() 和 sslServerSocket.getSupportedProtocols()?
  • BEFORE_ENABLED:SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2 | BEFORE_SUPPORTED:SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2 | AFTER_ENABLED:TLSv1.1,TLSv1.2 | AFTER_SUPPORTED:SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2
  • 没有 SSL 就不能设置 SSLContext 实例吗?请参阅download.java.net/jdk7/archive/b124/docs/technotes/guides/… 了解更多信息。

标签: java security ssl thrift


【解决方案1】:

似乎我误解了 openssl 客户端输出。即使第一行有CONNECTED(00000003),错误信息如下:

140535757866656:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:337:

因此,无法连接到服务器;问题中提供的代码 sn-p 工作正常。

【讨论】:

    猜你喜欢
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多