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


102

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 veo una opción relacionada opensslpero quizás estoy pasando por alto algo.

Respuestas:


161

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

Un comando de ejemplo sería:

openssl s_client -connect google.com:443 -tls1_2

Si obtiene la cadena de certificados y el apretón de manos, sabe que el sistema en cuestión es compatible con TLS 1.2. Si ve que no ve la cadena de certificados y algo similar al "error de protocolo de enlace", 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.


8
Y tenga en cuenta que tendrá que usar una versión de OpenSSL que haga TLS 1.2, y eso significa que CentOS 5 está listo.
Michael Hampton

14
No funciona en Mac OS X 10.11
Quanlong

Michael Hampton, solo configuraciones OOB: [me @ server] [~] cat / etc / redhat-release CentOS versión 5.11 (Final) [me @ server] [~] versión openssl OpenSSL 1.0.2d 9 de julio de 2015;)
Kevin_Kinsey

12
@Quanlong homebrew tiene openssl v1.0.2. Instálelo y luego ejecútelo/usr/local/Cellar/openssl/1.0.2d_1/bin/openssl s_client -connect google.com:443 -tls1_2
Xiao

66
Funciona bien despuésbrew upgrade openssl
Quanlong

87

También puede enumerar todos los cifrados compatibles con:

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

Y luego verifique la salida. Si es compatible, obtendrá 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

44
Me costó mucho tratar de hacer que este script de terceros funcione. Escribió el mío para las personas interesadas: aquí .
Xavier Lucas

2
Funciono muy bien para mi.
colefner
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.