Wie kann ich überprüfen, ob TLS 1.2 auf einem Remote-Webserver von der RHEL / CentOS-Shell unterstützt wird?

102

Ich bin auf CentOS 5.9.

Ich möchte anhand der Linux-Shell feststellen, ob ein Remote-Webserver TLS 1.2 (im Gegensatz zu TLS 1.0) unterstützt. Gibt es eine einfache Möglichkeit, dies zu überprüfen?

Ich sehe keine verwandte Option, opensslaber ich übersehen vielleicht etwas.

Mike B
quelle

Antworten:

161

Sie sollten openssl s_client verwenden und die gesuchte Option ist -tls1_2.

Ein Beispielbefehl wäre:

openssl s_client -connect google.com:443 -tls1_2

Wenn Sie die Zertifikatskette und den Handshake erhalten, wissen Sie, dass das betreffende System TLS 1.2 unterstützt. Wenn die Zertifikatskette nicht angezeigt wird und ein ähnlicher Fehler wie "Handshake-Fehler" vorliegt, wird TLS 1.2 nicht unterstützt. Sie können TLS 1 oder TLS 1.1 auch mit -tls1 bzw. tls1_1 testen.

Jakob
quelle
8
Und denken Sie daran, dass Sie eine Version von OpenSSL verwenden müssen, die TLS 1.2 unterstützt, und dass CentOS 5 genau richtig ist.
Michael Hampton
14
Funktioniert nicht unter Mac OS X 10.11
Quanlong
Michael Hampton, nur OOB-Setups: [me @ server] [~] cat / etc / redhat-release CentOS-Release 5.11 (Final) [me @ server] [~] openssl-Version OpenSSL 1.0.2d 9. Juli 2015;)
Kevin_Kinsey
12
@ Quanlong Homebrew hat openssl v1.0.2. Installiere es und starte es mit/usr/local/Cellar/openssl/1.0.2d_1/bin/openssl s_client -connect google.com:443 -tls1_2
Xiao
6
Es funktioniert gut nachbrew upgrade openssl
Quanlong
87

Sie können auch alle unterstützten Chiffren auflisten, indem Sie Folgendes verwenden:

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

Und dann überprüfen Sie die Ausgabe. Wenn es unterstützt wird, erhalten Sie so etwas:

|   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
Kleber
quelle
4
Es fiel mir wirklich schwer, dieses Skript eines Drittanbieters zum Laufen zu bringen. Schrieb mir für Interessenten: hier .
Xavier Lucas
2
Bei mir hat es super geklappt.
Colefner