sslyze
Scanner rapide de configuration SSL/TLS. Teste les suites de chiffrement, la validité des certificats, les versions de protocole, HSTS, l'OCSP stapling, la reprise de session et les vulnérabilités TLS connues (BEAST, POODLE, Heartbleed). Fast SSL/TLS configuration scanner. Tests cipher suites, certificate validity, protocol versions, HSTS, OCSP stapling, session resumption, and known TLS vulnerabilities (BEAST, POODLE, Heartbleed).
↗ https://github.com/nabla-c0d3/sslyzeOverview
SSLyze is a fast and powerful SSL/TLS scanner that analyzes the TLS configuration of a server. It checks for weak cipher suites, certificate issues, protocol version support, and known vulnerabilities — providing a comprehensive security assessment of TLS deployments.
Basic Usage
Basic scan
sslyze target.com
Scan specific port
sslyze target.com:8443
Comprehensive scan
sslyze --regular target.com
JSON output
sslyze --json_out results.json target.com
Scan Options
Check all cipher suites
sslyze --sslv2 --sslv3 --tlsv1 --tlsv1_1 --tlsv1_2 --tlsv1_3 target.com
Certificate info
sslyze --certinfo target.com
# Check for specific vulnerabilities
sslyze --heartbleed target.com
sslyze --robot target.com
sslyze --openssl_ccs target.com
HTTP security headers (HSTS)
sslyze --http_headers target.com
Session resumption
sslyze --resum target.com
Comprehensive (all above)
sslyze --regular target.com
What --regular Checks
sslyze --regular target.com
→ Includes: - Certificate info and chain - TLS 1.0, 1.1, 1.2, 1.3 support - Cipher suite enumeration - ROBOT vulnerability - Heartbleed - OpenSSL CCS injection - Session resumption - HTTP headers (HSTS) - OCSP stapling - Elliptic curve support
Multiple Targets
Scan multiple hosts
sslyze target1.com target2.com target3.com
Read from file
sslyze --targets_in targets.txt
Scan entire subnet (with port)
for ip in 10.10.10.{1..254}; do sslyze $ip:443 2>/dev/null; done
JSON Output
Save to JSON
sslyze --json_out results.json --regular target.com
# Parse for cipher suites
cat results.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for host in data['server_scan_results']:
print(host['server_location']['hostname'])
"
Tips
- Use
--regularfor a balanced scan covering all important checks - SSLv2/3 and TLS 1.0/1.1 are deprecated — flag any server still supporting them
- Check for certificate chain issues — missing intermediates cause client errors
- HSTS preloading absence is worth noting for HTTPS sites
- For quick cipher audit:
sslyze --sslv2 --sslv3 --tlsv1 target.comto find old protocols - Compare against testssl.sh for a second opinion on TLS configuration
Help / Man page
sslyze [options] host[:port]
--regular Run full scan (most checks)
--certinfo Certificate info
--sslv2 Test SSLv2
--sslv3 Test SSLv3
--tlsv1 Test TLS 1.0
--tlsv1_1 Test TLS 1.1
--tlsv1_2 Test TLS 1.2
--tlsv1_3 Test TLS 1.3
--heartbleed Check for Heartbleed
--robot Check for ROBOT attack
--http_headers Check HTTP security headers
--resum Test session resumption
--json_out F JSON output file
--targets_in F File with targets
Vue d’ensemble
SSLyze est un scanner SSL/TLS rapide et puissant qui analyse la configuration TLS d’un serveur. Il vérifie les suites de chiffrement faibles, les problèmes de certificat, le support des versions de protocole, et les vulnérabilités connues : offrant une évaluation de sécurité complète des déploiements TLS.
Utilisation de base
# Scan basique
sslyze target.com
# Scanner un port spécifique
sslyze target.com:8443
# Scan complet
sslyze --regular target.com
# Sortie JSON
sslyze --json_out results.json target.com
Options de scan
# Vérifier toutes les suites de chiffrement
sslyze --sslv2 --sslv3 --tlsv1 --tlsv1_1 --tlsv1_2 --tlsv1_3 target.com
# Informations de certificat
sslyze --certinfo target.com
# Vérifier des vulnérabilités spécifiques
sslyze --heartbleed target.com
sslyze --robot target.com
sslyze --openssl_ccs target.com
# Headers de sécurité HTTP (HSTS)
sslyze --http_headers target.com
# Reprise de session
sslyze --resum target.com
# Complet (tout ce qui précède)
sslyze --regular target.com
Ce que vérifie --regular
sslyze --regular target.com
→ Comprend : - Informations et chaîne de certificat - Support TLS 1.0, 1.1, 1.2, 1.3 - Énumération des suites de chiffrement - Vulnérabilité ROBOT - Heartbleed - Injection CCS OpenSSL - Reprise de session - Headers HTTP (HSTS) - OCSP stapling - Support des courbes elliptiques
Cibles multiples
# Scanner plusieurs hôtes
sslyze target1.com target2.com target3.com
# Lire depuis un fichier
sslyze --targets_in targets.txt
# Scanner un sous-réseau entier (avec port)
for ip in 10.10.10.{1..254}; do sslyze $ip:443 2>/dev/null; done
Sortie JSON
# Sauvegarder en JSON
sslyze --json_out results.json --regular target.com
# Parser pour les suites de chiffrement
cat results.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for host in data['server_scan_results']:
print(host['server_location']['hostname'])
"
Conseils
- Utiliser
--regularpour un scan équilibré couvrant toutes les vérifications importantes - SSLv2/3 et TLS 1.0/1.1 sont obsolètes : signaler tout serveur les supportant encore
- Vérifier les problèmes de chaîne de certificat : des intermédiaires manquants causent des erreurs client
- L’absence de préchargement HSTS mérite d’être notée pour les sites HTTPS
- Pour un audit rapide des ciphers :
sslyze --sslv2 --sslv3 --tlsv1 target.compour trouver les vieux protocoles - Comparer avec testssl.sh pour un second avis sur la configuration TLS
Aide / Page de manuel
sslyze [options] host[:port]
--regular Run full scan (most checks)
--certinfo Certificate info
--sslv2 Test SSLv2
--sslv3 Test SSLv3
--tlsv1 Test TLS 1.0
--tlsv1_1 Test TLS 1.1
--tlsv1_2 Test TLS 1.2
--tlsv1_3 Test TLS 1.3
--heartbleed Check for Heartbleed
--robot Check for ROBOT attack
--http_headers Check HTTP security headers
--resum Test session resumption
--json_out F JSON output file
--targets_in F File with targets