web-dev-qa-db-fra.com

Comment désactiver le protocole SSLv3 dans Jetty pour empêcher Poodle Attack

Existe-t-il une liste d'exclusion spécifique disponible qui désactive uniquement les chiffres SSLv3 qui ne sont pas TLSv1/2.

J'ai la jetée 8, et la mise à niveau vers 9 n'est pas une option maintenant. Mon jetty-ssl.xml actuel se présente comme suit

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

toujours quand je lance "sslscan --no-failed --ssl3 localhost: 443" je reçois

    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
19
Atul Soman

J'ai dû désactiver SSLv3 dans une application où nous intégrons le code source de Jetty. En fonction de ce que j'ai changé dans le code, je suppose que vous ajoutez ce qui suit:

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

Essayez-le et faites-moi savoir si cela fonctionne pour vous.

13
Lars

Pour développer la réponse @Lars ..

Pour Jetty 7, Jetty 8 et Jetty 9, vous devez exclure le protocole SSLv3 (pas le chiffre) sur tout SslContextFactory que vous utilisez pour configurer un connecteur SSL.

Pour une distribution Jetty

Modifiez le ${jetty.home}/etc/jetty-ssl.xml et ajoutez l'extrait XML suivant.

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

À l'intérieur de tout élément qui gère un org.Eclipse.jetty.http.ssl.SslContextFactory

Pour Jetty Embedded

Tout SslContextFactory que vous créez/gérez pour vos connecteurs SSL, il vous suffit de définir les protocoles exclus.

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

J'ai configuré Jetty 8.1 sans SSL3. Vous pouvez voir la structure complète 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> 
 </ Configurer > 
 
0
user2918934