在通过HTTPS进行[LISTENING]通信的weblogic服务器和web服务器上,有一些选项可以指定TLS或SSL。
我无权访问Web或应用程序服务器配置,但是我想确定我通过HTTPS与Web服务器[nginx,apache http webserver]或appserver [weblogic]的连接是否使用SSL或TLS,以及它的版本。
如果&如何确定?请提出。
答案 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
来查找openssl
和curl
支持的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)