Как я могу проверить, поддерживается ли TLS 1.2 на удаленном веб-сервере из оболочки RHEL / CentOS?

102

Я на CentOS 5.9.

Я хотел бы определить из оболочки Linux, если удаленный веб-сервер специально поддерживает TLS 1.2 (в отличие от TLS 1.0). Есть ли простой способ проверить это?

Я не вижу связанной опции, opensslно, возможно, я что-то упускаю.

Майк Б
источник

Ответы:

161

Вы должны использовать openssl s_client, и вы ищете опцию -tls1_2.

Пример команды будет:

openssl s_client -connect google.com:443 -tls1_2

Если вы получили цепочку сертификатов и рукопожатие, вы знаете, что рассматриваемая система поддерживает TLS 1.2. Если вы видите, что не видите цепочку сертификатов и что-то похожее на «ошибку рукопожатия», вы знаете, что она не поддерживает TLS 1.2. Вы также можете проверить TLS 1 или TLS 1.1 с -tls1 или tls1_1 соответственно.

Иаков
источник
8
И имейте в виду, что вам придется использовать версию OpenSSL, которая поддерживает TLS 1.2, а это означает, что CentOS 5 прямо сейчас.
Майкл Хэмптон
14
Не работает в Mac OS X 10.11
Quanlong
Майкл Хэмптон, только установки OOB: [me @ server] [~] cat / etc / redhat-release CentOS выпуск 5.11 (Final) [me @ server] [~] openssl версия OpenSSL 1.0.2d 9 июля 2015;)
Kevin_Kinsey
12
@Quanlong homebrew имеет openssl v1.0.2. Установите его и запустите/usr/local/Cellar/openssl/1.0.2d_1/bin/openssl s_client -connect google.com:443 -tls1_2
Xiao
6
Это работает хорошо послеbrew upgrade openssl
Quanlong
87

Также вы можете перечислить все поддерживаемые шифры, используя:

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

А затем проверьте вывод. Если это поддерживается, вы получите что-то вроде этого:

|   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
источник
4
Получил действительно трудное время, пытаясь заставить работать этот сторонний скрипт. Написал мой для желающих: здесь .
Ксавье Лукас
2
Это прекрасно сработало для меня.
Colefner