Estoy ejecutando el siguiente comando de Nmap para probar la fortaleza de las suites de cifrado que he usado en mi host
nmap -sV --script ssl-enum-ciphers -p 443 <host>
El Nmap doc dice que cada conjunto de cifrado se muestra con una calificación de letras (de la A a la F). ) que indica la fuerza de la conexión y la línea de salida que comienza con la fuerza mínima muestra la fuerza de la cifra más débil ofrecida
Cuando ejecuté el comando contra el host obtuve el resultado como se muestra a continuación
| ssl-enum-ciphers:
| TLSv1.0:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 768) - E
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 768) - C
| TLS_DHE_RSA_WITH_DES_CBC_SHA (dh 768) - E
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C
| compressors:
| NULL
| cipher preference: client
| warnings:
| 64-bit block cipher 3DES vulnerable to SWEET32 attack
| 64-bit block cipher DES vulnerable to SWEET32 attack
| Broken cipher RC4 is deprecated by RFC 7465
| Ciphersuite uses MD5 for message integrity
| Key exchange (dh 768) of lower strength than certificate key
| TLSv1.1:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 768) - E
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 768) - C
| TLS_DHE_RSA_WITH_DES_CBC_SHA (dh 768) - E
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C
| compressors:
| NULL
| cipher preference: client
| warnings:
| 64-bit block cipher 3DES vulnerable to SWEET32 attack
| 64-bit block cipher DES vulnerable to SWEET32 attack
| Broken cipher RC4 is deprecated by RFC 7465
| Ciphersuite uses MD5 for message integrity
| Key exchange (dh 768) of lower strength than certificate key
| TLSv1.2:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 768) - E
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 768) - C
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C
| compressors:
| NULL
| cipher preference: client
| warnings:
| 64-bit block cipher 3DES vulnerable to SWEET32 attack
| Broken cipher RC4 is deprecated by RFC 7465
| Ciphersuite uses MD5 for message integrity
| Key exchange (dh 768) of lower strength than certificate key
|_ least strength: E
Mis preguntas
- Según el documento, los Cifrados marcados como "E" son el cifrado débil y, de otra manera, ¿puedo considerar el cifrado marcado como "A" como el cifrado fuerte?
- TLS_RSA_WITH_AES_128_CBC_SHA está marcado como "A" aquí, pero en algunas discusiones, he observado que se menciona como DÉBIL. ¿Es por el uso de SHA1? si es así, ¿por qué se califica como "A" en NMAP?
- He configurado la siguiente lista de cifrado en mi servidor.
cifrados="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
pero los cifrados como SSL_RSA_WITH_RC4_128 no están disponibles en la salida de Nmap, en cambio, hay cifrados como TLS_RSA_WITH_RC4_128, ¿cuál es la razón de esto? ¿Podemos usar SSL y TLS indistintamente en los cifrados?
- Aunque he agregado el TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 como un cifrado en mi servidor, no estaba disponible en los resultados de Nmap, ¿cuál podría ser la razón para esto?
PS: estoy usando JDK 1.7 como la versión JDK subyacente para el servidor