Sto eseguendo il comando Nmap sotto per testare la potenza delle suite di crittografia che ho usato nel mio host
nmap -sV --script ssl-enum-ciphers -p 443 <host>
Il file Nmap doc dice che Ogni ciphersuite viene mostrata con un grado di lettera (da A a F ) indica la forza della connessione e la linea di uscita che inizia con Meno forza mostra la forza del cifrario più debole offerto
Quando ho eseguito il comando sull'host, ho ottenuto l'output come mostrato di seguito
| 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
Le mie domande
- Come per il documento, i cifrari contrassegnati con "E" sono i cifrari deboli e in un altro modo posso considerare il codice contrassegnato come "A" come cifrario strong?
- TLS_RSA_WITH_AES_128_CBC_SHA è contrassegnato come "A" qui, ma in alcune discussioni, ho osservato che è menzionato come WEAK. È a causa dell'uso di SHA1? in tal caso, perché è classificato come "A" in NMAP?
- Ho configurato l'elenco di codici qui sotto sul mio server.
ciphers="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"
ma le cifre come SSL_RSA_WITH_RC4_128 non sono disponibili nell'output Nmap, invece, ci sono cifrari come TLS_RSA_WITH_RC4_128, qual è la ragione di ciò? Possiamo usare SSL e TLS in modo intercambiabile nelle Cipher?
- Anche se ho aggiunto TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 come codice nel mio server, non era disponibile nei risultati Nmap, quale potrebbe essere il motivo?
PS: sto usando JDK 1.7 come versione sottostante di JDK per il server