Jak mogę sprawdzić, czy TLS 1.2 jest obsługiwany na zdalnym serwerze WWW z powłoki RHEL / CentOS?

102

Jestem na CentOS 5.9.

Chciałbym ustalić na podstawie powłoki linux, czy zdalny serwer WWW obsługuje TLS 1.2 (w przeciwieństwie do TLS 1.0). Czy można to łatwo sprawdzić?

Nie widzę powiązanej opcji, opensslale być może coś przeoczyłem.

Mike B.
źródło

Odpowiedzi:

161

Powinieneś użyć openssl s_client, a szukana opcja to -tls1_2.

Przykładowym poleceniem byłoby:

openssl s_client -connect google.com:443 -tls1_2

Jeśli otrzymasz łańcuch certyfikatów i uzgadnianie, wiesz, że dany system obsługuje TLS 1.2. Jeśli widzisz, że nie widzisz łańcucha certyfikatów i coś podobnego do „błędu uzgadniania”, wiesz, że nie obsługuje TLS 1.2. Możesz także przetestować pod kątem TLS 1 lub TLS 1.1, używając odpowiednio -tls1 lub tls1_1.

Jakub
źródło
8
I pamiętaj, że będziesz musiał użyć wersji OpenSSL, która obsługuje TLS 1.2, a to oznacza, że ​​CentOS 5 jest gotowy.
Michael Hampton
14
Nie działa w systemie Mac OS X 10.11
Quanlong
Michael Hampton, tylko konfiguracje OOB: [me @ serwer] [~] cat / etc / redhat-release CentOS zwolnić 5,11 (Final) [me @ serwer] [~] wersji OpenSSL OpenSSL 1.0.2d 9 Lip 2015;)
Kevin_Kinsey
12
@Quanlong homebrew has openssl v1.0.2. Zainstaluj, a następnie uruchom z/usr/local/Cellar/openssl/1.0.2d_1/bin/openssl s_client -connect google.com:443 -tls1_2
Xiao
6
Działa dobrze pobrew upgrade openssl
Quanlong
87

Możesz także wyświetlić listę wszystkich obsługiwanych szyfrów, używając:

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

A następnie sprawdź dane wyjściowe. Jeśli jest obsługiwany, otrzymasz coś takiego:

|   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
Glueon
źródło
4
Naprawdę ciężko mi było sprawić, by ten skrypt innej firmy działał. Napisałem mój dla osób zainteresowanych: tutaj .
Xavier Lucas
2
Działa mi to świetnie.
colefner