
Bibliothèque de scan SSL/TLS rapide et puissante.
SSLyze est un outil de scan SSL/TLS rapide et puissant, ainsi qu’une bibliothèque Python.
SSLyze peut analyser la configuration SSL/TLS d’un serveur en s’y connectant, afin de vérifier qu’elle utilise des paramètres de chiffrement forts (certificat, suites de chiffrement, courbes elliptiques, etc.) et qu’elle n’est pas vulnérable aux attaques TLS connues (Heartbleed, ROBOT, injection CCS OpenSSL, etc.).
Sur Windows, Linux (x86 ou x64) et macOS, SSLyze peut être installé directement via 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"
Il peut également être utilisé via Docker :
$ docker run --rm -it nablac0d3/sslyze:6.1.0 www.google.com
Enfin, un exécutable Windows pré-compilé est disponible sur la page des Releases.
Un exemple de script décrivant comment utiliser l’API Python de SSLyze est disponible dans ./api_sample.py.
La documentation complète de l’API Python de SSLyze est disponible ici.
Par défaut, SSLyze compare les résultats du scan du serveur à la configuration TLS « intermédiaire » recommandée par Mozilla, et renvoie un code de sortie non nul si le serveur n’est pas conforme.
$ 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.
La configuration Mozilla à utiliser peut être choisie via --mozilla_config={old, intermediate, modern} :
$ 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.
Alternativement, vous pouvez vérifier votre propre configuration TLS personnalisée en fournissant un fichier JSON qui suit le format de configuration TLS de Mozilla :
$ python -m sslyze --custom_tls_config custom_tls_config_example.json mozilla.com
Checking results against custom TLS configuration.
mozilla.com:443: OK - Compliant.
Consultez custom_tls_config_example.json pour un exemple de configuration TLS personnalisée utilisable par SSLyze.
Cette fonctionnalité permet d’exécuter facilement un scan SSLyze comme étape CI/CD pour garantir la conformité TLS.
Pour mettre en place un environnement de développement :
$ pip install --upgrade pip setuptools wheel
$ pip install -e .
$ pip install -r requirements-dev.txt
Les tests peuvent ensuite être exécutés avec :
$ invoke test
Copyright (c) 2026 Alban Diquet
SSLyze est mis à disposition sous les termes de la GNU Affero General Public License (AGPL). Consultez LICENSE.txt pour les détails et les exceptions.