Как я могу проверить, поддерживается ли 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
Другие вопросы по тегам