Come posso verificare se TLS 1.2 è supportato su un server Web remoto dalla shell RHEL / CentOS?


102

Sono su CentOS 5.9.

Vorrei determinare dalla shell di Linux se un server Web remoto supporta specificamente TLS 1.2 (al contrario di TLS 1.0). C'è un modo semplice per verificarlo?

Non vedo un'opzione correlata su opensslma forse sto trascurando qualcosa.

Risposte:


161

Dovresti usare openssl s_client e l'opzione che stai cercando è -tls1_2.

Un comando di esempio sarebbe:

openssl s_client -connect google.com:443 -tls1_2

Se ottieni la catena di certificati e l'handshake sai che il sistema in questione supporta TLS 1.2. Se vedi non visualizzare la catena di certificati e qualcosa di simile a "errore di handshake" sai che non supporta TLS 1.2. Puoi anche testare TLS 1 o TLS 1.1 rispettivamente con -tls1 o tls1_1.


8
E tieni presente che dovrai usare una versione di OpenSSL che fa TLS 1.2, e ciò significa che CentOS 5 è perfetto.
Michael Hampton

14
Non funziona su Mac OS X 10.11
Quanlong

Michael Hampton, solo configurazioni OOB: [me @ server] [~] cat / etc / redhat-release CentOS release 5.11 (Final) [me @ server] [~] openssl versione OpenSSL 1.0.2d 9 lug 2015;)
Kevin_Kinsey

12
@Quanlong homebrew ha openssl v1.0.2. Installalo quindi eseguilo con/usr/local/Cellar/openssl/1.0.2d_1/bin/openssl s_client -connect google.com:443 -tls1_2
Xiao,

6
Funziona bene dopobrew upgrade openssl
Quanlong,

87

Inoltre puoi elencare tutte le cifre supportate usando:

nmap --script ssl-enum-ciphers -p 443 www.example.com

E poi controlla l'output. Se è supportato otterrai qualcosa del genere:

|   TLSv1.2: 
|     ciphers: 
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_RSA_WITH_RC4_128_MD5 - strong
|       TLS_RSA_WITH_RC4_128_SHA - strong
|     compressors: 
|       NULL

4
È stato davvero difficile provare a far funzionare questo script di terze parti. Ho scritto il mio per le persone interessate: qui .
Xavier Lucas,

2
Ha funzionato benissimo per me.
Colefner,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.