tls sslv3 que protocolo poodle entre diferencia desactivar cual bites java security ssl jetty

java - sslv3 - ssl deprecated



Cómo deshabilitar el protocolo SSLv3 en Jetty para evitar el ataque de poodle (3)

¿Hay alguna lista de exclusión específica disponible que deshabilite solo los cifrados SSLv3 que no son TLSv1 / 2?

Tengo el embarcadero 8, y actualizar a 9 no es una opción ahora. Mi actual jetty-ssl.xml se ve como sigue

<Configure id="Server" class="org.eclipse.jetty.server.Server"> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> <Arg> <New class="org.eclipse.jetty.http.ssl.SslContextFactory"> ......... </New> </Arg> <Set name="ExcludeCipherSuites"> <Array type="java.lang.String"> <Item>SSL_RSA_WITH_NULL_MD5</Item> <Item>SSL_RSA_WITH_NULL_SHA</Item> <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item> <Item>SSL_RSA_WITH_RC4_128_MD5</Item> <Item>SSL_RSA_WITH_RC4_128_SHA</Item> <Item>SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5</Item> <Item>SSL_RSA_WITH_IDEA_CBC_SHA</Item> <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_RSA_WITH_3DES_EDE_CBC_SHA</Item> <Item>SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DH_DSS_WITH_DES_CBC_SHA</Item> <Item>SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA</Item> <Item>SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DH_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA</Item> <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item> <Item>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</Item> <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</Item> <Item>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</Item> <Item>SSL_DH_anon_WITH_RC4_128_MD5</Item> <Item>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DH_anon_WITH_DES_CBC_SHA</Item> <Item>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</Item> <Item>SSL_FORTEZZA_KEA_WITH_NULL_SHA</Item> <Item>SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA</Item> <Item>SSL_FORTEZZA_KEA_WITH_RC4_128_SHA</Item> <Item>SSL_DHE_RSA_WITH_AES_128_CBC_SHA</Item> <Item>SSL_RSA_WITH_AES_128_CBC_SHA</Item> </Array> </Set> </New> </Arg> </Call>

aún cuando ejecuto "sslscan --no-failed --ssl3 localhost: 443" me sale

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


He configurado Jetty 8.1 sin ssl3. Puedes ver la estructura completa de jetty-ssl.xml.

<Configure id="Server" class="org.eclipse.jetty.server.Server"> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> <Arg> <New class="org.eclipse.jetty.http.ssl.SslContextFactory"> <Set name="keyStore">... </Set> <Set name="keyStorePassword">... </Set> <Set name="keyManagerPassword">... </Set> <Set name="trustStore">... </Set> <Set name="trustStorePassword>... </Set <Set name="ExcludeProtocols"> <Array type="java.lang.String"> <Item>SSLv3 </Item> </Array> </Set> </New> </Arg> <Set name="port">... </Set> <Set name="maxIdleTime">... </Set> </New> </Arg> </Call> </Configure>


Para ampliar en @Lars responde ..

Para Jetty 7, Jetty 8 y Jetty 9, debe excluir el protocolo SSLv3 (no el cifrado) en cualquier SslContextFactory que esté utilizando para configurar un Conector basado en SSL.

Para una distribución de embarcadero

Edite el ${jetty.home}/etc/jetty-ssl.xml y agregue el siguiente fragmento de ${jetty.home}/etc/jetty-ssl.xml XML.

<Set name="ExcludeProtocols"> <Array type="java.lang.String"> <Item>SSLv3</Item> </Array> </Set>

Dentro de cualquier elemento que maneje un org.eclipse.jetty.http.ssl.SslContextFactory

Para Embarcadero Embebido

Cualquier SslContextFactory que cree / administre para sus conectores basados ​​en SSL, solo necesita configurar los protocolos excluidos.

SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.addExcludeProtocols("SSLv3"); sslContextFactory.setKeyStorePath(...); ...


Tuve que deshabilitar SSLv3 en una aplicación donde integramos el código fuente de Jetty. Según lo que cambié en el código, supongo que agregaría lo siguiente:

<Set name="ExcludeProtocols"> <Array type="java.lang.String"> <Item>SSLv3</Item> </Array> </Set>

Dale una oportunidad y hazme saber si funciona para ti.