SSLyze

Network Analysis v6.3.1 · 29.03.2026 активный

Быстрая Python-библиотека и CLI для аудита TLS/SSL: проверяет сертификаты, наборы шифров, эллиптические кривые; поддерживает SMTP, XMPP, LDAP, RDP, IMAP и POP3 через STARTTLS.

v6.3.1
29.03.2026 current
Добавлен 26.06.2026 · Обновлён 26.06.2026 · Network Analysis
Установка
# pip
pip install sslyze

# pipx
pipx install sslyze

# Пример: полный аудит TLS
python -m sslyze --regular example.com:443

# Несколько хостов
python -m sslyze example.com:443 evil.com:8443

# JSON-вывод для автоматизации
python -m sslyze --json_out results.json example.com
переведено ИИ

SSLyze

Запуск тестов Загрузки Версия PyPI Версия Python

SSLyze — это быстрый и мощный инструмент для сканирования SSL/TLS и Python-библиотека.

SSLyze может анализировать конфигурацию SSL/TLS сервера, подключаясь к нему, чтобы убедиться, что он использует сильные настройки шифрования (сертификат, наборы шифров, эллиптические кривые и т.д.), и что он не уязвим для известных атак на TLS (Heartbleed, ROBOT, инъекция OpenSSL CCS и т.д.).

Основные возможности

  • Фокус на скорости и надежности: SSLyze — это проверенный инструмент, который ежедневно используется для надежного сканирования сотен тысяч серверов.
  • Прост в операционализации: SSLyze можно запускать напрямую из CI/CD для непрерывной проверки сервера на соответствие рекомендуемым Mozilla конфигурациям TLS.
  • Полностью документированный Python API для запуска сканирований напрямую из любого приложения на Python, например, из функции, развёрнутой в AWS Lambda.
  • Поддержка сканирования не-HTTP серверов, включая серверы SMTP, XMPP, LDAP, POP, IMAP, RDP, Postgres и FTP.
  • Результаты сканирования можно легко сохранить в JSON-файл для последующей обработки.
  • И многое другое!

Быстрый старт

В Windows, Linux (x86 или x64) и macOS SSLyze можно установить напрямую через pip:

$ pip install --upgrade pip setuptools wheel
$ pip install --upgrade sslyze
$ python -m sslyze www.yahoo.com www.google.com "[2607:f8b0:400a:807::2004]:443"

Его также можно использовать через Docker:

$ docker run --rm -it nablac0d3/sslyze:6.1.0 www.google.com

Наконец, предкомпилированный исполняемый файл для Windows можно загрузить со страницы релизов.

Документация Python API

Пример скрипта, описывающий использование Python API SSLyze, доступен по адресу ./api_sample.py.

Полная документация по Python API SSLyze доступна здесь.

Использование как шага CI/CD

По умолчанию SSLyze проверяет результаты сканирования сервера на соответствие рекомендуемой Mozilla "промежуточной" конфигурации TLS и возвращает ненулевой код выхода, если сервер не соответствует.

$ python -m sslyze mozilla.com
Проверка результатов на соответствие "промежуточной" конфигурации Mozilla. Подробнее см. на https://ssl-config.mozilla.org/.

mozilla.com:443: OK - Соответствует.

Конфигурацию Mozilla для проверки можно настроить через --mozilla_config={old, intermediate, modern}:

$ python -m sslyze --mozilla_config=modern mozilla.com
Проверка результатов на соответствие "современной" конфигурации Mozilla. Подробнее см. на https://ssl-config.mozilla.org/.

mozilla.com:443: FAILED - Не соответствует.
    * certificate_types: Развернутые типы сертификатов {'rsa'}, должен быть хотя бы один из {'ecdsa'}.
    * certificate_signatures: Развернутые подписи сертификатов {'sha256WithRSAEncryption'}, должна быть хотя бы одна из {'ecdsa-with-SHA512', 'ecdsa-with-SHA256', 'ecdsa-with-SHA384'}.
    * tls_versions: Поддерживаются версии TLS {'TLSv1.2'}, но они должны отклоняться.
    * ciphers: Поддерживаются наборы шифров {'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'}, но они должны отклоняться.

Альтернативно вы можете проверить соответствие вашей собственной пользовательской конфигурации TLS, предоставив JSON-файл, следующий формату конфигурации TLS от Mozilla:

$ python -m sslyze --custom_tls_config custom_tls_config_example.json mozilla.com
Проверка результатов на соответствие пользовательской конфигурации TLS.

mozilla.com:443: OK - Соответствует.

Пример пользовательской конфигурации TLS, которую может использовать SSLyze, смотрите в custom_tls_config_example.json.

Эту функциональность можно использовать для простого запуска сканирования SSLyze как шага CI/CD для обеспечения соответствия TLS.

Среда разработки

Для настройки среды разработки:

$ pip install --upgrade pip setuptools wheel
$ pip install -e . 
$ pip install -r requirements-dev.txt

Затем тесты можно запустить с помощью:

$ invoke test

Лицензия

Авторское право (c) 2026 Alban Diquet

SSLyze доступен на условиях лицензии GNU Affero General Public License (AGPL). Подробности и исключения смотрите в LICENSE.txt.

Комментарии
Войдите, чтобы оставить комментарий