如何在Jetty中禁用SSLv3协议以防止Poodle攻击
是否有任何特定的排除列表禁用仅SSLv3密码不是TLSv1 / 2。
我有docker8,升级到9现在不是一个选择。 我当前的jetty-ssl.xml如下所示
......... SSL_RSA_WITH_NULL_MD5 SSL_RSA_WITH_NULL_SHA SSL_RSA_EXPORT_WITH_RC4_40_MD5 SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_RC4_128_SHA SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 SSL_RSA_WITH_IDEA_CBC_SHA SSL_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_RSA_WITH_DES_CBC_SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA SSL_DH_DSS_WITH_DES_CBC_SHA SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_DH_RSA_WITH_DES_CBC_SHA SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA SSL_DHE_DSS_WITH_DES_CBC_SHA SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_DHE_RSA_WITH_DES_CBC_SHA SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 SSL_DH_anon_WITH_RC4_128_MD5 SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA SSL_DH_anon_WITH_DES_CBC_SHA SSL_DH_anon_WITH_3DES_EDE_CBC_SHA SSL_FORTEZZA_KEA_WITH_NULL_SHA SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA SSL_FORTEZZA_KEA_WITH_RC4_128_SHA SSL_DHE_RSA_WITH_AES_128_CBC_SHA SSL_RSA_WITH_AES_128_CBC_SHA
还是当我运行“sslscan –no-failed –ssl3 localhost:443”时,我得到了
Supported Server Cipher(s): Accepted SSLv3 128 bits DHE-RSA-AES128-SHA Accepted SSLv3 128 bits AES128-SHA Prefered Server Cipher(s): SSLv3 128 bits DHE-RSA-AES128-SHA
我必须在我们集成Jetty源代码的应用程序中禁用SSLv3。 根据我在代码中更改的内容,我猜你会添加以下内容:
- SSLv3
试一试,让我知道它是否适合你。
要扩展@Lars答案..
对于Jetty 7,Jetty 8和Jetty 9,您必须在用于配置基于SSL的连接器的任何SslContextFactory
上排除协议SSLv3
(而不是密码)。
对于Jetty Distribution
编辑${jetty.home}/etc/jetty-ssl.xml
并添加以下XML片段。
- SSLv3
在管理org.eclipse.jetty.http.ssl.SslContextFactory
的任何元素内部
对于Jetty Embedded
您为基于SSL的连接器创建/管理的任何SslContextFactory,您只需设置排除的协议。
SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.addExcludeProtocols("SSLv3"); sslContextFactory.setKeyStorePath(...); ...
我配置了Jetty 8.1 whitout ssl3。 您可以看到jetty-ssl.xml的完整结构。
<精氨酸> <精氨酸> ... Set> ... Set> ... Set> ... Set> ... Set - SSLv3 Item> 阵列> 设定> 新> 精氨酸>
... Set> ... Set> 新> 精氨酸> 通话> 配置>