2014-10-15 6 views
6

Um meine Thrift Server gegen die SSLv3 vulnerability vor kurzem entdeckt zu sichern, ich ausdrücklich festgestellt, welche Protokolle für den Server-Socket aktiviert werden soll:einen Thrift Server Aginst die Verwundbarkeit POODLE SSL Sicherung

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

jedoch, wenn auch ein selbst überprüfen mit Hilfe der TestSSLServer Listen nur TLSv1.1 und TLSv1.2, bin ich noch in der Lage mit OpenSSL mit SSLv3 verbinden:

openssl s_client -connect localhost:1111 -ssl3 

Wie kann ich ganz deaktivieren SSLv3 auf Thrift, so dass es während des SSL-Handshake nicht bereits ?

+0

Was gibt Ihnen sslServerSocket.getEnabledProtocols() und sslServerSocket.getSupportedProtocols() vor und nach der Aktivierung von Protokollen? – martiner

+0

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 – semberal

+0

Ist es nicht möglich, die SSLContext-Instanz ohne SSL einzurichten? Weitere Informationen finden Sie unter http://download.java.net/jdk7/archive/b124/docs/technotes/guides/security/jsse/JSSERefGuide.html. – chipiik

Antwort

2

Es scheint, dass ich die openssl Client-Ausgabe falsch interpretiert habe. Auch wenn es CONNECTED(00000003) in der ersten Zeile ist, folgt die Fehlermeldung:

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

Es ist daher nicht möglich, mit dem Server zu verbinden; Das in der Frage dargestellte Code-Snippet funktioniert einwandfrei.