Как я могу проверить, поддерживается ли TLS 1.2 на удаленном веб-сервере из оболочки RHEL/CentOS?
Я на CentOS 5.9.
Я хотел бы определить из оболочки Linux, если удаленный веб-сервер специально поддерживает TLS 1.2 (в отличие от TLS 1.0). Есть ли простой способ проверить это?
Я не вижу связанной опции на openssl
но, возможно, я что-то упускаю.
2 ответа
Вы должны использовать 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 соответственно.
Также вы можете перечислить все поддерживаемые шифры, используя:
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