Как я могу определить, использует ли мой сервис SSL или TLS и какую версию

Существуют варианты для указания TLS или SSL на сервере weblogic и веб-серверах, обменивающихся данными [ПРОСЛУШИВАНИЕ] через HTTPS.

У меня нет доступа к конфигурациям веб-сервера или сервера приложений, однако я хочу определить, использует ли мое соединение с веб-сервером [nginx, веб-сервер apache http] или сервером приложений [weblogic] через HTTPS SSL или TLS и какую его версию.

Если и как можно определить? Пожалуйста, предложите.

Вы можете попробовать указать на него Лаборатории SSL.

Richard Smith 20.05.2019 15:36

Обычно используется OpenSSL, feistyduck.com/library/openssl-cookbook/online/…

Lex Li 20.05.2019 15:40

Сделайте захват сети с помощью wireshark между apache и WebLogic и проверьте трафик.

Emmanuel Collin 20.05.2019 15:47
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
3
1 553
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы не можете использовать некоторые онлайн-инструменты для своего сервиса или ваш сервис не размещен в общедоступном Интернете, вы можете попробовать кое-что.

Вы можете использовать nmap как nmap -sV --script ssl-enum-ciphers -p <port> <host>, чтобы увидеть, какие версии TLS и, в частности, какие шифры, на которые отвечает ваш сервер.

Если у вас нет nmap или вам не разрешено устанавливать nmap в системе из вашей доступной службы, вы можете использовать некоторые инструменты по умолчанию, чтобы увидеть, какие шифры доступны. например:

  • openssl: Вы можете использовать openssl для подключения к серверу и указать шифры ssl в командной строке. например:

    $ openssl s_client -connect <host>:<port> -tls1_2 -cipher AES128-GCM-SHA256

Если вы видите успешное соединение, то можете быть уверены, что сервер может провести переговоры, используя эту версию TLS, TLSv1.2 в примере, и используя этот шифр, TLS_RSA_WITH_AES_128_GCM_SHA256 в примере.

Вы можете найти все шифры, которые действительны для openssl здесь. Пример запуска будет выглядеть так:

$ 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, если рукопожатие не удалось, поэтому вы можете различать его.

Примечание: версию TLS, поддерживаемую в openssl и curl, можно найти, проверив --help в обоих случаях. например:

завиток:

 -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)

открывает SL:

-tls1_2       - just use TLSv1.2
-tls1_1       - just use TLSv1.1
-tls1         - just use TLSv1
-dtls1        - just use DTLSv1

Другие вопросы по теме