Comment puis-je vérifier si TLS 1.2 est pris en charge sur un server Web distant à partir du shell RHEL / CentOS?

Je suis sur CentOS 5.9.

Je voudrais déterminer à partir du shell linux si un server Web distant supporte spécifiquement TLS 1.2 (par opposition à TLS 1.0). Y a-t-il un moyen simple de vérifier cela?

Je ne vois pas une option connexe sur openssl mais peut-être que je suis sur quelque chose.

Vous devez utiliser openssl s_client, et l'option que vous searchz est -tls1_2.

Un exemple de command serait:

openssl s_client -connect google.com:443 -tls1_2

Si vous obtenez la string de certificate et la poignée de main que vous connaissez, le système prend en charge TLS 1.2. Si vous voyez, vous ne voyez pas la string des certificates, et quelque chose de similaire à "Erreur de saisie des mains", vous savez qu'il ne prend pas en charge TLS 1.2. Vous pouvez également tester TLS 1 ou TLS 1.1 avec -tls1 ou tls1_1 respectivement.

De plus, vous pouvez répertorier tous les parameters pris en charge à l'aide de:

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

Ensuite, vérifiez la sortie. Si cela est pris en charge, vous obtiendrez quelque chose comme ceci:

 | 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