Linux
如何從 RHEL/CentOS shell 驗證遠端 Web 伺服器是否支持 TLS 1.2?
我在 CentOS 5.9 上。
我想從 linux shell 確定遠端 Web 伺服器是否專門支持 TLS 1.2(而不是 TLS 1.0)。有沒有簡單的方法來檢查?
我沒有看到相關的選項,
openssl
但也許我忽略了一些東西。
您應該使用 openssl s_client,而您正在尋找的選項是 -tls1_2。
一個範例命令是:
openssl s_client -connect google.com:443 -tls1_2
如果您獲得證書鍊和握手,您就知道相關係統支持 TLS 1.2。如果您看到沒有看到證書鏈,以及類似於“握手錯誤”的內容,您就知道它不支持 TLS 1.2。您還可以分別使用 -tls1 或 tls1_1 測試 TLS 1 或 TLS 1.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