SSLyze - инструмент для анализа конфигураций SSL / TLS

EgoRMagE

Script Kiddie
26.08.2020
9
0
1
1607508394223.png
SSLyze - это библиотека Python и инструмент командной строки, который может анализировать конфигурацию SSL сервера, подключившись к нему. Он разработан, чтобы быть быстрым и всеобъемлющим и может помочь организациям и тестировщикам выявлять неправильные конфигурации, влияющие на их серверы SSL / TLS.

Он использует оболочку OpenSSL, написанную на C, под названием nassl, которая специально разработана для обеспечения доступа SSLyze к низкоуровневым API OpenSSL, необходимым для выполнения глубокого тестирования SSL.

Особенности:
- Python API, чтобы запускать сканирование и обрабатывать результаты непосредственно из Python.
- Сканы автоматически распределяются между несколькими процессами, что делает их очень быстрыми.
- Тестирование производительности: возобновление сеанса и поддержка билетов TLS.
- Тестирование безопасности: наборы слабых шифров, небезопасное повторное согласование, CRIME, Heartbleed и многое другое.
- Проверка сертификата сервера и проверка отзыва через сшивание OCSP.
- Поддержка подтверждения StartTLS на SMTP, XMPP, LDAP, POP, IMAP, RDP, PostGres и FTP.
- Поддержка клиентских сертификатов при сканировании серверов, выполняющих взаимную аутентификацию.
- Результаты сканирования можно записать в файл XML или JSON для дальнейшей обработки.
И многое другое! SSLyze можно установить напрямую через pip:
Код:
pip install --upgrade setuptools
pip install sslyze
sslyze --regular www.yahoo.com:443 www.google.com "[2607:f8b0:400a:807::2004]:443"
Также легко напрямую клонировать репозиторий и получить требования:

Код:
git clone https://github.com/nabla-c0d3/sslyze.git
cd sslyze
pip install -r requirements.txt --target ./lib
python -m sslyze --regular www.yahoo.com:443 www.google.com "[2607:f8b0:400a:807::2004]:443"
В Linux сначала необходимо установить пакет "python-dev", чтобы можно было скомпилировать расширение nassl C:

sudo apt-get install python-dev

SSLyze был протестирован на следующих платформах:

  • Windows 7 (32 and 64 bits)
  • Debian 7 (32 and 64 bits)
  • MacOS Sierra
SSLyze также можно использовать как модуль Python для запуска сканирования и обработки результатов непосредственно в Python. Вот простой пример:

Код:
# Setup the server to scan and ensure it is online/reachable
hostname = u'smtp.gmail.com'
try:
    server_info = ServerConnectivityInfo(hostname=hostname, port=587,
             tls_wrapped_protocol=TlsWrappedProtocolEnum.STARTTLS_SMTP)
    server_info.test_connectivity_to_server()
except ServerConnectivityError as e:
    # Could not establish an SSL connection to the server
    raise RuntimeError(u'Error when connecting to {}: {}'.format(hostname, e.error_msg))
# Run one scan command synchronously to list the server's TLS 1.0 cipher suites
print(u'\nRunning one scan command synchronously...')
synchronous_scanner = SynchronousScanner()
command = Tlsv10ScanCommand()
scan_result = synchronous_scanner.run_scan_command(server_info, command)
for cipher in scan_result.accepted_cipher_list:
    print(u'    {}'.format(cipher.name))
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню