Как мне перечислить наборы шифров SSL / TLS, которые предлагает конкретный веб-сайт?

368060
Jeremy Powell

Как я могу получить список наборов шифров SSL / TLS, предлагаемых конкретным веб-сайтом?

Я пробовал openssl, но если вы посмотрите на вывод:

$ echo -n | openssl s_client -connect www.google.com:443  CONNECTED(00000003) depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA verify error:num=20:unable to get local issuer certificate verify return:0 --- Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority --- Server certificate -----BEGIN CERTIFICATE----- MIIDITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBM MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0x MTEyMTgyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC gYEA6PmGD5D6htffvXImttdEAoN4c9kCKO+IRTn7EOh8rqk41XXGOOsKFQebg+jN gtXj9xVoRaELGYW84u+E593y17iYwqG7tcFR39SDAqc9BkJb4SLD3muFXxzW2k6L 05vuuWciKh0R73mkszeK9P4Y/bz5RiNQl/Os/CRGK1w7t0UCAwEAAaOB5zCB5DAM BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0 ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF AAOBgQCfQ89bxFApsb/isJr/aiEdLRLDLE5a+RLizrmCUi3nHX4adpaQedEkUjh5 u2ONgJd8IyAPkU0Wueru9G2Jysa9zCRo1kNbzipYvzwY4OA8Ys+WAi0oR1A04Se6 z5nRUP8pJcA2NhUzUnC+MY+f6H/nEQyNv4SgQhqAibAxWEEHXw== -----END CERTIFICATE----- subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com issuer=/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA --- No client certificate CA names sent --- SSL handshake has read 1777 bytes and written 316 bytes --- New, TLSv1/SSLv3, Cipher is AES256-SHA Server public key is 1024 bit Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1 Cipher : AES256-SHA Session-ID: 748E2B5FEFF9EA065DA2F04A06FBF456502F3E64DF1B4FF054F54817C473270C Session-ID-ctx:  Master-Key: C4284AE7D76421F782A822B3780FA9677A726A25E1258160CA30D346D65C5F4049DA3D10A41F3FA4816DD9606197FAE5 Key-Arg : None Start Time: 1266259321 Timeout : 300 (sec) Verify return code: 20 (unable to get local issuer certificate) --- 

это просто показывает, что набор шифров - это что-то с AES256-SHA. Я знаю, что могу пролистать шестнадцатеричный дамп разговора, но я надеялся на что-то более элегантное.

Я бы предпочел сделать это на Linux, но Windows (или другой) будет в порядке. Этот вопрос мотивирован тестированием безопасности, которое я проводил для PCI, и общим тестированием на проникновение.

Обновить:

Ниже GregS указывает, что сервер SSL выбирает из комплектов шифров клиента. Так что, похоже, мне нужно будет протестировать все наборы шифров по одному. Я думаю, что я могу взломать что-то вместе, но есть ли более простой, более перспективный (например, новые шифры) способ сделать это?

236
Может быть `гнатс-кли`? grawity 14 лет назад 0
После смены названия этот вопрос действительно не требует программного обеспечения. Голосование возобновить. Bob 9 лет назад 0
@ fixer1234 Если это сделает вас счастливее, я удалил любое вхождение слова «инструмент». Основной вопрос состоит в том, чтобы спросить, как выполнить определенную задачу в любом случае; это небольшая перефразировка, и она далека от более открытых вопросов типа «список программного обеспечения». Bob 9 лет назад 0
@Bob: я в восторге. :-) Голосование возобновить. fixer1234 9 лет назад 0

20 ответов на вопрос

205
indiv

Я написал скрипт bash для тестирования комплектов шифров. Он получает список поддерживаемых наборов шифров из OpenSSL и пытается подключиться, используя каждый из них. Если рукопожатие прошло успешно, оно печатается YES. Если рукопожатие не прошло успешно, оно печатает NO, а затем текст ошибки OpenSSL.

#!/usr/bin/env bash  # OpenSSL requires the port number. SERVER=$1 DELAY=1 ciphers=$(openssl ciphers 'ALL:eNULL' | sed -e 's/:/ /g')  echo Obtaining cipher list from $(openssl version).  for cipher in $ do echo -n Testing $cipher... result=$(echo -n | openssl s_client -cipher "$cipher" -connect $SERVER 2>&1) if [[ "$result" =~ ":error:" ]] ; then error=$(echo -n $result | cut -d':' -f6) echo NO \($error\) else if [[ "$result" =~ "Cipher is $" || "$result" =~ "Cipher :" ]] ; then echo YES else echo UNKNOWN RESPONSE echo $result fi fi sleep $DELAY done 

Вот пример выходных данных, показывающих 3 неподдерживаемых шифра и 1 поддерживаемый шифр:

[@linux ~]$ ./test_ciphers 192.168.1.11:443 Obtaining cipher list from OpenSSL 0.9.8k 25 Mar 2009. Testing ADH-AES256-SHA...NO (sslv3 alert handshake failure) Testing DHE-RSA-AES256-SHA...NO (sslv3 alert handshake failure) Testing DHE-DSS-AES256-SHA...NO (sslv3 alert handshake failure) Testing AES256-SHA...YES 

РЕДАКТИРОВАТЬ: добавить гибкость, так как хост и порт предоставляются в качестве параметра для сценария

Это фантастика. Это даже более точно, что я искал. Jeremy Powell 13 лет назад 0
openssl 1.0 нуждается в изменении: `if [[" $ result "= ~" Cipher: "]]; затем` вместо `if [[" $ result "= ~" Cipher is "]]; затем` я также проверяю SSL2 и безопасное пересмотр: `echo -n Тестирование ssl2 ... result = $ (echo -n | openssl s_client -ssl2 -connect $ SERVER 2> & 1) if [[" $ result "= ~" Шифр: "]]; тогда эхо поддерживается. Небезопасных! еще эхо не поддерживается, ОК fi echo -n Тестирование безопасного пересмотра SSL ... echo -n "" | openssl s_client -connect $ SERVER 2> & 1 | grep 'Secure Renegotiation'` Hubert Kario 13 лет назад 7
Существует еще один очень сложный сценарий оболочки, который использует sslscan и openssl: [TLSSLed] (http://www.taddong.com/en/lab.html#TLSSLED) Robert 12 лет назад 7
@HubertKario - более поздние версии openssl не поддерживают флаг -ssl2 (хотя он все еще указан в справке) Steven 11 лет назад 0
Ниже я перечислил другой скрипт, для которого требуется только OpenSSL под названием [CipherScan] (https://github.com/oparoz/cipherscan). Olivier - interfaSys 10 лет назад 2
@indiv Я создал файл `test_ciphers` со сценарием в вашем ответе и пытаюсь запустить сценарий в консоли` openSSL` в Windows как `openSSL> test_ciphers`, но получаю` openssl: Ошибка: 'test_ciphers' - недопустимая команда. `Можете ли вы сказать мне, как запустить ваш скрипт в Windows? RanPaul 9 лет назад 0
@RanPaul: Вы можете установить cygwin или msys, чтобы получить оболочку bash, а затем запустить этот скрипт как скрипт bash. Я пытался написать собственный скрипт для Windows, но в openssl s_client есть ошибка, из-за которой он зависает до нажатия клавиши, поэтому это невозможно. indiv 9 лет назад 0
@indiv это круто! Я добавил пару твиков для своего использования, как я могу сделать их доступными для всех? insaner 8 лет назад 0
@insaner: Если они существенны, я бы сказал, чтобы опубликовать их в новом ответе. У меня нет хорошего ответа на вопрос, что делать. indiv 8 лет назад 0
@indiv, вот оно: http://superuser.com/a/1035879/316396 insaner 8 лет назад 0
Обратите внимание, что этот сценарий [вероятно, не будет] (http://superuser.com/a/1125778/11574) сообщает вам, поддерживает ли сервер наборы шифров, которые не поддерживает OpenSSL. sampablokuper 8 лет назад 1
Предложение @Robert для [TLSSLed] (http://www.taddong.com/en/lab.html#TLSSLED) было фантастическим. Он был обновлен до 1.3 и имеет гораздо больше функциональности. Я использовал для тестирования безопасности и должен сказать, что я впечатлен. John Yeary 6 лет назад 1
138
Clint Pachl

Nmap with ssl-enum-ciphers

There is no better or faster way to get a list of available ciphers from a network service. Plus, nmap will provide a strength rating of strong, weak, or unknown for each available cipher.

First, download the ssl-enum-ciphers.nse nmap script (explanation here). Then from the same directory as the script, run nmap as follows:

List ciphers supported by an HTTP server

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

List ciphers supported by an IMAP server

$ nmap --script ssl-enum-ciphers -p 993 mail.example.com 

Here is a snippet of output from a Dovecot IMAP server:

993/tcp open imaps | ssl-enum-ciphers: | SSLv3: | ciphers: | TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_IDEA_CBC_SHA - weak ... | TLSv1.0: | ciphers: | TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_IDEA_CBC_SHA - weak ... |_ least strength: weak Nmap done: 1 IP address (1 host up) scanned in 1.03 seconds 
Есть ли способ использовать этот скрипт на IMAP с STARTTLS? STARTTLS в SMTP, похоже, работает, но в IMAP сценарий даже не запускается. Giel 10 лет назад 2
Пара вещей: вы можете запустить скрипт в своем дистрибутиве nmap, а не тот, который вы скачали. Проверьте, переименовав свой. Затем проверьте «portrule», который в некоторых версиях проверяет часто используемые номера портов. Заменить на `portrule = function () \ n return true \ n end` slim 9 лет назад 0
... и для работы с IMAP STARTTLS, FTPS `AUTH TLS` и т. д. потребуется взлом, но это возможно. slim 9 лет назад 0
В пакет Debian nmap входит скрипт ssl-enum-ciphers. : +1: ThorSummoner 8 лет назад 0
Одним из предостережений является то, что старые скрипты, которые могут быть включены в ваш дистрибутив / пакет, перечисляют шифры в алфавитном порядке, ** не ** предпочтительный порядок сервера (или клиента). Смотрите выше комментарий от @slim Clint Pachl 8 лет назад 1
За 2 года, прошедшие с момента написания этого ответа, Nmap добавил поддержку STARTTLS по FTP, NNTP, IMAP, LDAP, POP3, PostgreSQL, SMTP, XMPP, VNC и MS SQL, а также многих других улучшений, помимо простого перечисления поддерживаемых шифров. , bonsaiviking 8 лет назад 3
96
Kez

Есть ли инструмент, который может проверить то, что наборы шифров SSL / TLS предлагает определенный веб-сайт?

Да, вы можете использовать онлайн-инструмент на веб-сайте SSL Labs для запроса базы данных общедоступного сервера SSL.

Вот фрагмент информации, которую он предоставляет:

альтернативный текст

(скриншот с результатов google.com)

круто, спасибо, что нашли это. James K Polk 14 лет назад 0
Это именно то, что я искал! Большое спасибо! Jeremy Powell 14 лет назад 0
К сожалению, он поддерживает только HTTPS на стандартном порту, не может использовать его для проверки POP3S, IMAPS или IMAP с TLS Hubert Kario 13 лет назад 10
И хотя он поддерживает только HTTPS, ему даже не хватает поддержки SNI. Gurken Papst 12 лет назад 1
И хотя он отлично подходит для общедоступных сайтов, его нельзя использовать для сайтов в сетях, которые изолированы от Интернета. Iszi 9 лет назад 10
49
indiv

sslscan - это небольшая полезная утилита.

Он проверяет соединение с использованием TLS и SSL (а сценарий сборки может связываться с собственной копией OpenSSL, что также проверяет устаревшие версии SSL) и сообщает о наборах шифров и сертификате сервера.

Пример вывода для google.com(обрезано для удобства чтения):

$ sslscan google.com Testing SSL server google.com on port 443  TLS renegotiation: Secure session renegotiation supported  TLS Compression: Compression disabled  Heartbleed: TLS 1.2 not vulnerable to heartbleed TLS 1.1 not vulnerable to heartbleed TLS 1.0 not vulnerable to heartbleed  Supported Server Cipher(s): Preferred TLSv1.2 128 bits ECDHE-RSA-AES128-GCM-SHA256 Curve P-256 DHE 256 Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA Curve P-256 DHE 256 Accepted TLSv1.2 128 bits ECDHE-RSA-RC4-SHA Curve P-256 DHE 256 Accepted TLSv1.2 128 bits AES128-GCM-SHA256 Accepted TLSv1.2 128 bits AES128-SHA <snip> Preferred TLSv1.1 128 bits ECDHE-RSA-AES128-SHA Curve P-256 DHE 256 Accepted TLSv1.1 128 bits ECDHE-RSA-RC4-SHA Curve P-256 DHE 256 Accepted TLSv1.1 128 bits AES128-SHA <snip> Preferred TLSv1.0 128 bits ECDHE-RSA-AES128-SHA Curve P-256 DHE 256 Accepted TLSv1.0 128 bits ECDHE-RSA-RC4-SHA Curve P-256 DHE 256 Accepted TLSv1.0 128 bits AES128-SHA <snip> Preferred SSLv3 128 bits RC4-SHA Accepted SSLv3 128 bits RC4-MD5 <snip>  SSL Certificate: Signature Algorithm: sha256WithRSAEncryption RSA Key Strength: 2048  Subject: *.google.com Altnames: DNS:*.google.com, DNS:*.android.com, <snip> Issuer: Google Internet Authority G2  Not valid before: Apr 7 08:24:31 2016 GMT Not valid after: Jun 30 08:20:00 2016 GMT 
`yum install sslscan` работает на CentOS 6. a coder 9 лет назад 1
sudo dnf также устанавливает sslscan на Fedora 22. Zayne S Halsall 9 лет назад 1
`brew install sslscan` на OSX Xiao 8 лет назад 2
`sudo apt-get install sslscan` в Ubuntu (12.04 - так что все более поздние версии должны быть в порядке). balu 8 лет назад 0
Обновление: следует отметить, что официальная версия sslscan, найденная в репозиториях Debian и Ubuntu (в настоящее время 1.8.2 из 2009) * не * поддерживает TLS v1.1 и 1.2, см. Https://bugs.launchpad.net/ убунту / + источник / sslscan / + ошибка / 1372741. Поэтому следует использовать версию на GitHub, с которой связан OP. balu 8 лет назад 2
14
Olivier - interfaSys

Поскольку это отличный справочный поток для инструментов сканирования SSL, я перечислю CipherScan, который был создан год назад, и который также может выявить проблемы с шифрами обмена ключами. https://github.com/jvehent/cipherscan

Если вам нужен мой форк, который поддерживает SNI и FreeBSD, URL-адрес https://github.com/oparoz/cipherscan

Это скрипт, который вызывает openssl s_clientи поддерживает использование вашего собственного двоичного файла OpenSSL, чтобы вы могли тестировать будущие функции или новые шифры (chacha20 + poly1305 для каждого примера).

Он также позволяет вам подключаться к любому порту и использовать starttlss.

Вот типичный вывод

# ./cipherscan -o ./openssl api.mycompany.com:443 ................... prio ciphersuite protocols pfs_keysize 1 DHE-RSA-AES256-GCM-SHA384 TLSv1.2 DH,4096bits 2 DHE-RSA-AES256-SHA256 TLSv1.2 DH,4096bits 3 ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-384,384bits 4 ECDHE-RSA-AES256-SHA384 TLSv1.2 ECDH,P-384,384bits 5 DHE-RSA-AES128-GCM-SHA256 TLSv1.2 DH,4096bits 6 DHE-RSA-AES128-SHA256 TLSv1.2 DH,4096bits 7 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-384,384bits 8 ECDHE-RSA-AES128-SHA256 TLSv1.2 ECDH,P-384,384bits 9 DHE-RSA-CAMELLIA256-SHA TLSv1,TLSv1.1,TLSv1.2 DH,4096bits 10 DHE-RSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 DH,4096bits 11 ECDHE-RSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-384,384bits 12 DHE-RSA-CAMELLIA128-SHA TLSv1,TLSv1.1,TLSv1.2 DH,4096bits 13 DHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 DH,4096bits 14 ECDHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-384,384bits 15 CAMELLIA256-SHA TLSv1,TLSv1.1,TLSv1.2 16 AES256-SHA TLSv1,TLSv1.1,TLSv1.2 17 CAMELLIA128-SHA TLSv1,TLSv1.1,TLSv1.2 18 AES128-SHA TLSv1,TLSv1.1,TLSv1.2  Certificate: trusted, 4096 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: 300 OCSP stapling: supported 

И вот список вариантов

-a | --allciphers Test all known ciphers individually at the end. -b | --benchmark Activate benchmark mode. -d | --delay Pause for n seconds between connections -D | --debug Output ALL the information. -h | --help Shows this help text. -j | --json Output results in JSON format. -o | --openssl path/to/your/openssl binary you want to use. -v | --verbose Increase verbosity. 

Вывод json полезен, если вы вызываете это из других скриптов.

«Конфигурация big-SSLv3 не поддерживается, соединение не установлено» a coder 9 лет назад 0
12
Scott

https://github.com/iSECPartners/sslyze

Этот основан на Python, работает в Linux / Mac / Windows из командной строки.

8
fluxtendu

После небольшого поиска я нашел это Тестирование для SSL-TLS (OWASP-CM-001) :

Птар сканер, с помощью опции сканирования «-sv», способен идентифицировать SSL услуги. Сканеры уязвимостей, в дополнение к выполнению обнаружения служб, могут включать проверки на слабые шифры (например, сканер Nessus имеет возможность проверять службы SSL на произвольных портах и ​​сообщать о слабых шифрах).

а также: Foundstone SSL Digger - это инструмент для оценки надежности серверов SSL путем тестирования поддерживаемых шифров. Известно, что некоторые из этих шифров небезопасны.

4
Dirk

I am using for most of the SSL tests testssl.sh (see https://testssl.sh / devel version @ https://github.com/drwetter/testssl.sh. It tests for vulnerabilities, ciphers, protocols etc.

2
Dwayne

SSLScan великолепен; новый инструмент SSLDiagnos работает для Windows, или вы можете просто написать скрипт, используя openssl s_client.

2
Pi3cH

На pentesterscripting.com есть хороший небольшой скрипт, который использует SSLScan и OpenSSL для проверки:

  • SSL v2;
  • Недельные шифры;
  • MD5; а также
  • Уязвимость пересмотра TLS

http://www.pentesterscripting.com/discovery/ssl_tests (через интернет-архив Wayback Machine )

Дублирован здесь для защиты будущего, так как основной сайт уже мертв:

#!/usr/bin/env bash  # Description: # Script to extract the most security relevant details from a  # target SSL/TLS implementation by using sslscan. # Author: Raul Siles (raul _AT_ taddong _DOT_ com) # Taddong (www.taddong.com) # Date: 2011-05-27 # Version: 1.0 # # - Current SSL/TLS tests:  # SSLv2, NULL cipher, weak ciphers -key length-, strong  # ciphers -AES-, MD5 signed cert, SSL/TLS renegotiation # # Requires:  # - sslscan # https://sourceforge.net/projects/sslscan/ # # Credits: Based on ssl_test.sh by Aung Khant, http://yehg.net. #   # # /************************************************************************** # * Copyright 2011 by Taddong (Raul Siles) * # * * # * This program is free software; you can redistribute it and/or modify * # * it under the terms of the GNU General Public License as published by * # * the Free Software Foundation; either version 3 of the License, or * # * (at your option) any later version. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * # * GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program. If not, see <http://www.gnu.org/licenses/>. * # * * # **************************************************************************/ #  VERSION=1.0  OPENSSLVERSION=$(openssl version) SSLSCANVERSION=$(sslscan --version | grep version | sed -r "s/\x1B\[([0-9](;[0-9])?)?[m|K]//g")  echo ------------------------------------------------------ echo " TLSSLed - ($VERSION) based on sslscan and openssl" echo " by Raul Siles (www.taddong.com)" echo " ( inspired by ssl_test.sh by Aung Khant )" echo ------------------------------------------------------ echo + openssl version: $OPENSSLVERSION echo + $SSLSCANVERSION echo ------------------------------------------------------ echo  if [ $# -ne 2 ]; then  echo Usage: $0 IP PORT exit fi  HOST=$1 PORT=$2  echo [*] Analyzing SSL/TLS on $HOST:$PORT ... echo   # Run sslcan once, store the results to a log file and # analyze that file for all the different tests: DATE=$(date +%F_%R:%S) TARGET=$HOST:$PORT LOGFILE=sslscan\_$TARGET\_$DATE.log ERRFILE=sslscan\_$TARGET\_$DATE.err  echo [*] Running sslscan on $HOST:$PORT... sslscan $HOST:$PORT > $LOGFILE 2> $ERRFILE  echo echo [*] Testing for SSLv2 ... cat $LOGFILE | grep "Accepted SSLv2" echo echo [*] Testing for NULL cipher ... cat $LOGFILE | grep "NULL" | grep Accepted echo echo [*] Testing for weak ciphers \(based on key length\) ... cat $LOGFILE | grep " 40 bits" | grep Accepted echo  cat $LOGFILE | grep " 56 bits" | grep Accepted echo echo [*] Testing for strong ciphers \(AES\) ... cat $LOGFILE | grep "AES" | grep Accepted  echo  echo [*] Testing for MD5 signed certificate ... #cat $LOGFILE | grep -E 'MD5WithRSAEncryption|md5WithRSAEncryption' cat $LOGFILE | grep -i 'MD5WithRSAEncryption'  echo  echo [*] Checking preferred server ciphers ... cat $LOGFILE | sed '/Prefered Server Cipher(s):/,/^$/!d' | sed -r "s/\x1B\[([0-9](;[0-9])?)?[m|K]//g"  echo echo [*] Testing for SSLv3/TLSv1 renegotiation vuln. \(CVE-2009-3555\) ... #echo [*] echo R \| openssl s_client -connect $HOST:$PORT \| grep "DONE" # # Renegotiation details go to stderr (2>) # # if $OPENSSLVERSION is updated (version?) it supports RFC5746 and will print: # Secure Renegotiation IS NOT supported # Secure Renegotiation IS supported #  echo R | openssl s_client -connect $HOST:$PORT | grep -E "Secure Renegotiation IS|DONE"  echo echo [*] New files created: ls -l $LOGFILE if [ ! -s $ERRFILE ]; then # Error file is empty rm $ERRFILE else ls -l $ERRFILE fi  echo echo  echo [*] done echo 

Использование: ./ssltest.sh ХОЗЯЙСТВЕННЫЙ ПОРТ

Похожие вопросы