¿Cuál es el impacto exacto de agregar SSLv3 a jdk.tls.disabledAlgorithms en java 7 u 8

0

Estaba intentando eliminar el soporte para SSLv3 de una aplicación web que se ejecuta en WebSphere 8.5 / Java 7, y de acuerdo con varias fuentes (entre otras, Boletín de seguridad de WebSphere para CVE-2014-3566 ), pensé que podría hacerlo agregando

jdk.tls.disabledAlgorithms=SSLv3

a jre/lib/security/java.security .

Sin embargo, las pruebas con nmap y otras herramientas mostraron que el protocolo SSLv3 todavía está presente; y sé que la configuración afecta al servidor porque logré desactivar RC4 de la misma manera.

Intenté verificar el comportamiento de Oracle JDK con el siguiente código:

import javax.net.ssl.SSLContext;
import java.security.*;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        System.out.println(Security.getProperty("jdk.tls.disabledAlgorithms"));
        List<String> protocols = new ArrayList<>();
        for (Provider provider : Security.getProviders()) {
            for (Object prop : provider.keySet()) {
                String key = (String) prop;
                if (key.startsWith("SSLContext.")
                        && !key.equals("SSLContext.Default")
                        && key.matches(".*[0-9].*"))
                    protocols.add(key.substring("SSLContext.".length()));
                else if (key.startsWith("Alg.Alias.SSLContext.")
                        && key.matches(".*[0-9].*"))
                    protocols.add(key.substring("Alg.Alias.SSLContext.".length()));
            }
        }
        Collections.sort(protocols);
        System.out.println(protocols);

        SecureRandom rand = new SecureRandom();
    }
}

y ejecutándose con las últimas versiones de JDK 7 y 8, puedo ver que SSLv3 está incluido en los algoritmos deshabilitados y, sin embargo, también está disponible. Por ejemplo, con JDK 8:

SSLv3, RC4, MD5withRSA, DH keySize < 768
[SSLv3, TLSv1, TLSv1.1, TLSv1.2]

La primera línea es el valor actual de jdk.tls.disabledAlgorithms , y la segunda, los protocolos disponibles.

Así que me pregunto qué se supone que debe hacer esa configuración; Como dije, sé que afecta a otros algoritmos, pero ¿por qué se informa que SSLv3 aún está disponible?

Gracias

    
pregunta Frédéric Dumont 10.08.2016 - 07:16
fuente

0 respuestas

Lea otras preguntas en las etiquetas