如何检测我的服务是使用SSL还是TLS以及哪个版本

时间:2019-05-20 13:33:38

标签: apache ssl nginx weblogic tls1.2

在通过HTTPS进行[LISTENING]通信的weblogic服务器和web服务器上,有一些选项可以指定TLS或SSL。

我无权访问Web或应用程序服务器配置,但是我想确定我通过HTTPS与Web服务器[nginx,apache http webserver]或appserver [weblogic]的连接是否使用SSL或TLS,以及它的版本。

如果&如何确定?请提出。

1 个答案:

答案 0 :(得分:0)

如果您无法使用某些在线工具来提供服务,或者您的服务未托管在公共互联网上,那么您可以尝试一下。

您可以将nmap用作brand来查看哪些TLS版本,尤其是服务器响应的密码。

如果您没有nmap,或者您无法通过服务访问系统上的系统上安装nmap,则可以使用一些默认工具来查看可用的密码。 例如:

  • nmap -sV --script ssl-enum-ciphers -p <port> <host>:您可以使用openssl连接到服务器,也可以在命令行中指定ssl密码。 例如:

    openssl

如果看到成功的连接,则可以确保服务器能够使用该TLS版本(在示例中为$ openssl s_client -connect <host>:<port> -tls1_2 -cipher AES128-GCM-SHA256)和在该示例中使用密码(TLSv1.2)进行协商。

您可以找到对openssl here有效的所有密码。运行示例如下:

TLS_RSA_WITH_AES_128_GCM_SHA256
  • $ openssl s_client -connect example.com:443 -tls1_2 -cipher AES128-GCM-SHA256 CONNECTED(00000005) depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA verify return:1 depth=1 C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA verify return:1 depth=0 C = US, ST = California, L = Los Angeles, O = Internet Corporation for Assigned Names and Numbers, OU = Technology, CN = www.example.org verify return:1 --- Certificate chain .... --- Server certificate -----BEGIN CERTIFICATE----- MIIHQDCCBiigAwIBAgIQD9B43Ujxor1NDyupa2A4/jANBgkqhkiG9w0BAQsFADBN ... 0Gs4+eH6F9h3SojmPTYkT+8KuZ9w84Mn+M8qBXUQoYoKgIjN -----END CERTIFICATE----- subject=/C=US/ST=California/L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers/OU=Technology/CN=www.example.org issuer=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA --- No client certificate CA names sent --- SSL handshake has read 4297 bytes and written 408 bytes --- New, TLSv1/SSLv3, Cipher is AES128-GCM-SHA256 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: ... TLS session ticket: 0000 - 57 04 cc 0f 69 dc 93 6c-e5 d6 50 0a 1c d0 d8 ce W...i..l..P..... ... 0090 - 9a 34 af 1e c2 09 cf 00-6d 68 36 41 09 40 de 0a .4......mh6A.@.. Start Time: 1558594372 Timeout : 7200 (sec) Verify return code: 0 (ok) --- :您可以使用curl进行相同的操作。例如:
curl

在这种情况下,您将获得作为有效响应代码的输出,如果连接成功并且$ curl https://example.com --tlsv1.2 --ciphers AES128-GCM-SHA256 -w "%{http_code}\n" -o /dev/null -s 是握手失败,则说200,因此可以区别使用它。

注意:在两种情况下,都可以通过选中000来查找opensslcurl支持的TLS版本。例如:

卷曲:

--help

openssl:

 -1, --tlsv1         Use >= TLSv1 (SSL)
     --tlsv1.0       Use TLSv1.0 (SSL)
     --tlsv1.1       Use TLSv1.1 (SSL)
     --tlsv1.2       Use TLSv1.2 (SSL)
     --tlsv1.3       Use TLSv1.3 (SSL)