Pregunta ¿Cómo puedo verificar si TLS 1.2 es compatible con un servidor web remoto desde el shell RHEL / CentOS?


Estoy en CentOS 5.9.

Me gustaría determinar desde el shell de Linux si un servidor web remoto admite específicamente TLS 1.2 (a diferencia de TLS 1.0). ¿Hay una manera fácil de verificar eso?

No estoy viendo una opción relacionada en openssl pero tal vez estoy pasando por alto algo.


88
2017-10-21 20:39


origen




Respuestas:


Debe usar openssl s_client, y la opción que está buscando es -tls1_2.

Un ejemplo de comando sería:

openssl s_client -connect google.com:443 -tls1_2

Si obtiene la cadena de certificados y el protocolo de enlace, sabrá que el sistema en cuestión admite TLS 1.2. Si ve que no ve la cadena de certificados, y algo similar a "error de intercambio", sabe que no es compatible con TLS 1.2. También puede probar TLS 1 o TLS 1.1 con -tls1 o tls1_1 respectivamente.


134
2017-10-21 20:48



Y tenga en cuenta que tendrá que usar una versión de OpenSSL que hace TLS 1.2, y eso significa que CentOS 5 está listo. - Michael Hampton♦
No funciona en Mac OS X 10.11 - Quanlong
Michael Hampton, solo configuraciones de OOB: [me @ server] [~] cat / etc / redhat-release CentOS release 5.11 (Final) [me @ server] [~] versión de opensl OpenSSL 1.0.2d 9 Jul 2015;) - Kevin_Kinsey
@Quanlong homebrew tiene openssl v1.0.2. Instálelo y luego ejecútelo con /usr/local/Cellar/openssl/1.0.2d_1/bin/openssl s_client -connect google.com:443 -tls1_2 - Xiao
Funciona bien despues brew upgrade openssl - Quanlong


También puedes listar todos los cifrados soportados usando:

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

Y luego comprobar la salida. Si es compatible obtendrás algo como esto:

|   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

72
2017-10-21 20:52



Me costó mucho intentar hacer funcionar este script de terceros. Escribió el mío para las personas interesadas: aquí. - Xavier Lucas
Funciono muy bien para mi. - colefner