
Schnelle und leistungsstarke SSL/TLS-Scanning-Bibliothek.
SSLyze ist ein schnelles und leistungsstarkes SSL/TLS-Scan-Tool und eine Python-Bibliothek.
SSLyze kann die SSL/TLS-Konfiguration eines Servers analysieren, indem es eine Verbindung zu ihm herstellt. So wird sichergestellt, dass starke Verschlüsselungseinstellungen (Zertifikat, Cipher Suiten, elliptische Kurven usw.) verwendet werden und der Server nicht anfällig für bekannte TLS-Angriffe (Heartbleed, ROBOT, OpenSSL CCS Injection usw.) ist.
Unter Windows, Linux (x86 oder x64) und macOS kann SSLyze direkt über pip installiert werden:
$ 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"
Es kann auch per Docker verwendet werden:
$ docker run --rm -it nablac0d3/sslyze:6.1.0 www.google.com
Schließlich kann eine vorkompilierte Windows-ausführbare Datei von der Releases-Seite heruntergeladen werden.
Ein Beispielskript zur Verwendung der Python-API von SSLyze finden Sie unter ./api_sample.py.
Die vollständige Dokumentation der Python-API von SSLyze ist hier verfügbar.
Standardmäßig überprüft SSLyze die Scanergebnisse des Servers anhand der von Mozilla empfohlenen "Intermediate"-TLS-Konfiguration und gibt einen Exit-Code ungleich Null zurück, wenn der Server nicht konform ist.
$ python -m sslyze mozilla.com
Checking results against Mozilla's "intermediate" configuration. See https://ssl-config.mozilla.org/ for more details.
mozilla.com:443: OK - Compliant.
Die zu prüfende Mozilla-Konfiguration kann über --mozilla_config={old, intermediate, modern} konfiguriert werden:
$ python -m sslyze --mozilla_config=modern mozilla.com
Checking results against Mozilla's "modern" configuration. See https://ssl-config.mozilla.org/ for more details.
mozilla.com:443: FAILED - Not compliant.
* certificate_types: Deployed certificate types are {'rsa'}, should have at least one of {'ecdsa'}.
* certificate_signatures: Deployed certificate signatures are {'sha256WithRSAEncryption'}, should have at least one of {'ecdsa-with-SHA512', 'ecdsa-with-SHA256', 'ecdsa-with-SHA384'}.
* tls_versions: TLS versions {'TLSv1.2'} are supported, but should be rejected.
* ciphers: Cipher suites {'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'} are supported, but should be rejected.
Alternativ können Sie Ihre eigene benutzerdefinierte TLS-Konfiguration prüfen, indem Sie eine JSON-Datei bereitstellen, die dem TLS-Konfigurationsformat von Mozilla folgt:
$ python -m sslyze --custom_tls_config custom_tls_config_example.json mozilla.com
Checking results against custom TLS configuration.
mozilla.com:443: OK - Compliant.
Siehe custom_tls_config_example.json für ein Beispiel einer benutzerdefinierten TLS-Konfiguration, die von SSLyze verwendet werden kann.
Diese Funktionalität kann genutzt werden, um einfach einen SSLyze-Scan als CI/CD-Schritt auszuführen und so die TLS-Konformität sicherzustellen.
Zum Einrichten einer Entwicklungsumgebung:
$ pip install --upgrade pip setuptools wheel
$ pip install -e .
$ pip install -r requirements-dev.txt
Die Tests können dann mit folgendem Befehl ausgeführt werden:
$ invoke test
Copyright (c) 2026 Alban Diquet
SSLyze wird unter den Bedingungen der GNU Affero General Public License (AGPL) zur Verfügung gestellt. Siehe LICENSE.txt für Details und Ausnahmen.