Bloqueo de algoritmos de cifrado con un tamaño de bloque de 64 bits (como DES y 3DES) ataque de cumpleaños conocido como Sweet32

0

Estoy usando nodejs y Ubuntu.

Cuando escaneo mi dominio en trustwave.com, recibí el siguiente error

Bloquee los algoritmos de cifrado con un tamaño de bloque de 64 bits (como DES y 3DES) ataque de cumpleaños conocido como Sweet32

  

Esta es una vulnerabilidad de cifrado, no limitada a ningún SSL / TLS específico   Implementación de software. DES y Tripple DES (3DES) bloquean cifrados con   un tamaño de bloque de 64 bits, tiene un límite de cumpleaños de aproximadamente 4   mil millones de bloques (o 2 a la potencia de 32, de ahí el nombre de este   vulnerabilidad). Un atacante de hombre en el medio (MitM), que es capaz de   capturar una gran cantidad de tráfico de red cifrado, puede recuperar   datos confidenciales de texto sin formato.

y este problema puede evitarse desactivando los cifrados de bloque de 64 bits de longitud (como DES / 3DES) en todos los servidores SSL / TLS. El procedimiento exacto depende de la implementación real. Consulte la documentación de su software de servidor SSL / TLS y el software de servicio real (servidor http, servidor de correo, etc.).

NOTA

  

1: este hallazgo se basa en una prueba en vivo que realmente detecta cuál   los cifrados son compatibles con el servidor. Es muy importante tener en cuenta que   en muchos casos, una actualización de software (versión con portada posterior proporcionada por   Proveedor del sistema operativo o versión "vainilla" tomada directamente de   El proveedor de SSL / TLS) no será suficiente para resolver este problema. Generalmente   la actualización de software no sobrescribe la configuración modificada manualmente   archivos, lo que significa que DES / 3DES todavía puede estar disponible, incluso si el   la actualización del software los desactiva de forma predeterminada.

Soy nuevo en nodejs y varias cosas,

He usado el siguiente código

var constants = require('constants')
  , https = require('https')
  , path = require('path')
  , tls = require('tls')
  , fs = require('fs');
var sslOptions = {
  key: fs.readFileSync('/etc/ssl/private/private.key'),
  secureProtocol: 'SSLv23_server_method',
 secureOptions: constants.SSL_OP_NO_SSLv3 | constants.SSL_OP_NO_SSLv2 | constants.SSL_OP_NO_TLSv1,
 // secureOptions: require('constants').SSL_OP_NO_TLSv1,
  cert: fs.readFileSync('/etc/ssl/certs/STAR_w.crt'),
  ca: [
            fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot_1.crt'),
            fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot_2.crt'),
            fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot_3.crt')
        ],
  ciphers:[
    "ECDHE-RSA-AES256-SHA384",
    "DHE-RSA-AES256-SHA384",
    "ECDHE-RSA-AES256-SHA256",
    "DHE-RSA-AES256-SHA256",
    "ECDHE-RSA-AES128-SHA256",
    "DHE-RSA-AES128-SHA256",
    "ECDHE-RSA-DES-CBC3-SHA",
    "DES-CBC3-SHA",
    "ECDHE-RSA-DES-CBC3-SHA",
    "DES-CBC3-SHA",
    "HIGH",
    "!aNULL",
    "!eNULL",
    "!EXPORT",
    "!DES",
    "!RC4",
    "!MD5",
    "!PSK",
    "!SRP",
    "!CAMELLIA"
].join(':'),
  //ca: fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot.crt'),
  requestCert: false,
  rejectUnauthorized: false
};

¿Alguna idea de cómo desactivar el chiper?

Gracias

    
pregunta Ankita Kashyap 09.11.2016 - 08:32
fuente

2 respuestas

3

La respuesta a su pregunta está incluida en su pregunta. Para citar:

  

Este problema se puede evitar al desactivar los cifrados de bloque de 64 bits de longitud (como DES / 3DES) en todos los servidores SSL / TLS.

Por lo tanto, elimine los siguientes cifrados que ha agregado explícitamente a su configuración:

"DES-CBC3-SHA",
"ECDHE-RSA-DES-CBC3-SHA",

Tenga en cuenta que debe eliminar todo uso de estos cifrados porque, por alguna razón desconocida, los ha agregado dos veces. Además, debe denegar explícitamente cualquier cifrado 3DES que pueda o no estar incluido en su configuración de HIGH (según la versión de OpenSSL) agregando un !3DES explícito al conjunto de cifrado.

Además, recomiendo seguir los conjuntos de cifrados buenos conocidos como los que recomienda Mozilla .

    
respondido por el Steffen Ullrich 09.11.2016 - 08:49
fuente
0

Como dice el artículo, el cifrado vulnerable es 3DES. Esto se muestra como DES-CBC3 en su configuración. Elimine las 4 líneas que lo contienen entre los cifrados AES y la palabra clave "ALTO", reinicie el servidor y estará listo para comenzar.

    
respondido por el J.A.K. 09.11.2016 - 08:52
fuente

Lea otras preguntas en las etiquetas