
testssl.sh v3.2.4
Тестирование шифрования TLS/SSL на любом порту в любом месте
Введение
testssl.sh — это бесплатная утилита командной строки, которая проверяет службу сервера на любом порту на поддержку TLS/SSL-шифров, протоколов, а также на наличие некоторых криптографических уязвимостей.
Ключевые возможности
- Чёткий вывод: вы легко можете определить, что хорошо, а что плохо.
- Машиночитаемый вывод (CSV, два формата JSON), а также HTML-вывод.
- Не требуется установка или настройка. Никаких gems, CPAN, pip и тому подобного.
- Работает «из коробки»: Linux, MacOS, FreeBSD, NetBSD, WSL2, MSYS2/Cygwin, OpenBSD (требуется bash).
- Предоставляется Dockerfile, а также официальный контейнер на DockerHub и GHCR.
- Гибкость: вы можете тестировать любую службу с поддержкой SSL/TLS и STARTTLS, а не только веб-серверы на порту 443.
- Инструментарий: несколько опций командной строки помогут вам запустить свой тест и настроить свой вывод.
- Надёжность: функции тщательно протестированы.
- Конфиденциальность: только вы видите результат, а не третья сторона.
- Свобода: это 100% открытый исходный код. Вы можете посмотреть код и узнать, что происходит.
- Разработка ведётся свободно и открыто на GitHub. Участие и вклады приветствуются.
- Модульные тесты обеспечивают зрелость: проверка согласованности, корректности JSON, работа под Linux и MacOS и многое другое!
Лицензия
Это программное обеспечение является бесплатным. Вы можете использовать его на условиях GPLv2, см. LICENSE.
Атрибуция важна для будущего этого проекта — также и в интернете. Поэтому, если вы предлагаете сканер на основе testssl.sh в качестве общедоступного и/или платного сервиса в интернете, настоятельно рекомендуется сообщать вашей аудитории, что вы используете эту программу, и указывать, откуда её можно получить. Это помогает нам получать исправления ошибок, другие отзывы и больше вкладов.
Совместимость
Testssl.sh работает на любых дистрибутивах Linux/BSD и MacOS «из коробки». Начиная с версии 2.9 (очень старой) большинство ограничений из-за отключённых функций клиента openssl устранены благодаря проверкам на основе bash-сокетов. Поставляется старая версия с проблемным OpenSSL, но в наши дни вы также можете использовать любую версию LibreSSL или OpenSSL.
testssl.sh также работает на других Unix-подобных системах «из коробки» при условии, что у них установлен /bin/bash версии >= 3.2 и стандартные утилиты, такие как sed и awk. Windows (с использованием MSYS2, Cygwin или WSL/WSL2) также поддерживается. При запуске testssl.sh выполняется неявная (тихая) проверка наличия двоичных файлов. Для System V Unix, вероятно, потребуется установить GNU grep.
Уведомления об обновлениях можно найти на GitHub или самые важные — в Mastodon или Bluesky. Twitter больше не используется.
Установка
Вы можете скачать ветку 3.3dev testssl.sh, просто клонировав этот git-репозиторий:
git clone --depth 1 https://github.com/testssl/testssl.sh.git --branch 3.3dev
3.3dev — это последняя ветка разработки, которая развилась из стабильной версии 3.2. Мы стараемся не проводить крупные эксперименты в ветке dev, однако суть разработки в том, что будут изменения, и изменениям может потребоваться время для созревания.
Docker
Testssl.sh имеет минимальные требования. Как уже говорилось, вам не нужно ничего устанавливать или собирать. Вы можете просто запустить его из каталога, в который он склонирован. Но если вы не хотите тянуть репозиторий GitHub в выбранный вами каталог, вы можете вытянуть контейнер из DockerHub и запустить его:
docker run --rm -it ghcr.io/testssl/testssl.sh <your_cmd_line>
Или, если вы клонировали этот репозиторий, вы также можете просто cd в INSTALLDIR и запустить
docker build . -t imagefoo && docker run --rm -t imagefoo testssl.net
Для получения дополнительной информации обратитесь к Dockerfile.md.
Без гарантии
Использование программы осуществляется без каких-либо гарантий. Используйте её на свой страх и риск.
Testssl.sh предназначен для использования как автономный инструмент командной строки. Хотя мы старались применить лучшие практики безопасности и санировать внешние данные, мы не можем гарантировать, что программа не содержит уязвимостей. Работа в качестве веб-сервиса может нести риски безопасности, и вам рекомендуется применять дополнительные меры безопасности. Проверяйте ввод от пользователя и от всех служб, к которым выполняется запрос.
Статус
Учитывая текущий состав разработчиков, мы поддерживаем только версии n-1. Вы смотрите на ветку 3.3.dev, где ведётся дальнейшая разработка, прежде чем 3.4 станет стабильной версией, а 3.2 — старой стабильной. Если вы сомневаетесь в изменениях, вам нужно использовать 3.2. Версия 3.0.10 была последней, новых обновлений не будет.
Документация
- .. она существует для чтения. Пожалуйста, делайте это :-) — по крайней мере, перед тем как задавать вопросы. См. man-страницу в форматах groff, html и markdown в
~/doc/. - https://testssl.sh/ поможет вам начать.
- Также есть документация, сгенерированная ИИ, см. также ниже.
- Will Hunt предоставил более подробное описание. Хотя оно было написано для старой версии (2.8), оно всё ещё содержит справочную информацию.