testssl.sh это бесплатный инструмент тестирования с открытым исходным кодом. Он очень многофункционален, используется для проверки служб шифрования TLS/SSL на наличие поддерживаемых шифров, протоколов и некоторых криптографических дефектов на серверах Linux/BSD. Testssl.sh может быть запущен на macOS X и Windows с помощью MSYS2 или Cygwin.
Особенности Testssl.sh
- Простота установки и использования.
- Очень гибкий, он может использоваться для проверки служб SSL/TLS и STARTTLS.
- Поставляется с несколькими опциями командной строки для различных категорий проверок.
- Поддерживает различные типы вывода, включая цветной вывод.
- testssl.sh поддерживает проверку идентификатора сеанса SSL.
- Поддерживает проверку наличия нескольких сертификатов сервера.
- Предлагает абсолютную конфиденциальность, только вы можете видеть результат, а не третья сторона.
- Поддерживает вход в систему в формате (flat) JSON + CSV.
- testssl.sh поддерживает массовое тестирование в последовательном (по умолчанию) или параллельном режимах.
- Поддерживает предустановку параметров командной строки с помощью переменных окружения и многое другое.
Важно: Вы должны использовать bash (который поставляется предустановленным в большинстве дистрибутивов Linux), а для эффективного использования рекомендуется более новая версия OpenSSL (1.1.1).
Как установить и использовать Testssl.sh в Linux
Вы можете установить testssl.sh, клонируйте этот репозиторий git, как показано ниже.
# git clone --depth 1 https://github.com/drwetter/testssl.sh.git
# cd testssl.sh
После клонирования testssl.sh выполните следующую команду, чтобы сделать тест веб-сайта.
# ./testssl.sh https://www.google.com/
Чтобы запустить проверку на наличие протоколов ftp, smtp, pop3, imap, xmpp, telnet, ldap, postgres, mysql, используйте к команде подставьте атрибут -t
.
# ./testssl.sh -t smtp https://www.google.com/
По умолчанию все массовые тесты выполняются в последовательном режиме, вы можете включить параллельное тестирование с помощью параметра --parallel
.
# ./testssl.sh --parallel https://www.google.com/
Если вы не хотите использовать системную программу openssl по умолчанию, тогда используйте флаг —openssl, чтобы указать альтернативу.
# ./testssl.sh --parallel --sneaky --openssl /path/to/your/openssl https://www.google.com/
Возможно, вы захотите сохранить лог для последующего анализа, testssl.sh, для этого есть опция --log
(хранить файл журнала в текущем каталоге) или --logfile
(указать местоположение файла журнала).
# ./testssl.sh --parallel --sneaky --logging https://www.google.com/
Чтобы отключить поиск DNS, который может увеличить скорость тестирования, используйте параметр -n
# ./testssl.sh -n --parallel --sneaky --logging https://www.google.com/
Запуск одиночной проверка с помощью testssl.sh
Вы также можете запускать одиночные тесты. Например вы можете протестировать различные настройки сервера, предпочтения сервера, заголовки сервера. А так же выполнить проверку разных уязвимостей вашего сервера. Для этого есть несколько вариантов.
Например, параметр -e
позволяет удаленно проверять каждый локальный шифр. Если вы хотите сделать тест быстрее, то используйте параметр --fast.
Это позволит пропустить некоторые проверки, а если вы используете openssl, то он отображает только первый предложенный шифр.
# ./testssl.sh -e --fast --parallel https://www.google.com/
-p
Опция позволяет протестировать протоколы TLS/SSL (включая SPDY/HTTP2).
# ./testssl.sh -p —parallel —sneaky https://www.google.com/
С помощью этого параметра можно просмотреть стандартные параметры и сертификат сервера-S
.
# ./testssl.sh -С https://www.google.com/
Затем, чтобы увидеть предпочтительный протокол сервера+шифр, используйте -P
флаг.
# ./testssl.sh -P https://www.google.com/
А опция -U
поможет вам протестировать все уязвимости (если это применимо).
# ./testssl.sh -U --sneaky https://www.google.com/
К сожалению, мы не можем рассказать про все параметры и опции здесь. Используйте команду ниже, чтобы увидеть список всех дополнительных параметров.
# ./testssl.sh --help
Подробнее читайте на сайте testssl. sh Репозиторий Github: https://github.com/drwetter/testssl.sh
Заключение
testssl.sh это полезный инструмент безопасности, который должен иметь и использовать каждый системный администратор Linux. Этот инструмент подойдет для тестирования служб с поддержкой TSL/SSL. Если у вас есть какие-либо вопросы или мысли делитесь ими в форме комментариев. Кроме того, вы также можете поделиться с нами любыми подобными инструментами, которые вы встретили или используете.