Audit SSL/TLS su Linux: la guida completa
Un SSL configurato male costa più del rinnovo di un certificato. Certificati scaduti, cifrari deboli, HSTS assente: sono problemi che minano la fiducia in silenzio e fanno comparire gli avvisi del browser nel momento peggiore.
Questa guida spiega come fare l'audit SSL/TLS da riga di comando su qualsiasi server Linux e come automatizzarlo, così non ti sfugge più nessun errore di configurazione.
Il metodo manuale: openssl + curl
Controllare la scadenza del certificato
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
| openssl x509 -noout -dates
Output:
notBefore=Jan 13 00:00:00 2025 GMT
notAfter=Feb 12 23:59:59 2026 GMT
Controllare la catena dei certificati completa
echo | openssl s_client -connect example.com:443 -servername example.com -showcerts 2>/dev/null
Cerca:
- depth=0: il tuo certificato
- depth=1: CA intermedia
- depth=2: CA radice
L'intermedio mancante è il problema più comune. I browser possono colmare il vuoto, ma i client API e curl no.
Controllare le versioni TLS supportate
# Prova TLS 1.0 (deve fallire su un server configurato bene)
openssl s_client -connect example.com:443 -tls1 2>&1 | head -5
# Prova TLS 1.2
openssl s_client -connect example.com:443 -tls1_2 2>&1 | head -5
# Prova TLS 1.3
openssl s_client -connect example.com:443 -tls1_3 2>&1 | head -5
Se TLS 1.0 o 1.1 riescono, il server accetta protocolli deprecati.
Controllare le cipher suite
nmap --script ssl-enum-ciphers -p 443 example.com
Fai attenzione a:
- DES, RC4, 3DES: violati, vanno rimossi
- Cifrari in modalità CBC con TLS < 1.3: vulnerabili a BEAST/POODLE
- Nessun cifrario AEAD: mancano GCM/ChaCha20
Controllare l'header HSTS
curl -sI https://example.com | grep -i strict-transport
Risultato atteso:
strict-transport-security: max-age=31536000; includeSubDomains; preload
Senza HSTS i browser non impongono HTTPS dopo la prima visita.
Controllare l'OCSP stapling
echo | openssl s_client -connect example.com:443 -status 2>/dev/null \
| grep -A 5 "OCSP Response"
Se vedi OCSP Response Status: successful, lo stapling funziona. Altrimenti il browser deve contattare la CA a ogni connessione. È più lento e fa trapelare dati sulla navigazione.
Il limite dei controlli manuali
Ognuno di questi comandi controlla una sola cosa. Un audit SSL serio li richiede tutti, più la verifica del redirect da HTTP a HTTPS, la validazione della catena dei certificati, un punteggio sulla robustezza dei cifrari, il confronto con la HSTS preload list e un voto complessivo di sicurezza.
A mano ci vogliono 10-15 minuti per dominio. Con 20 server è mezza giornata.
Il metodo automatico: NetForge
Un comando, report completo:
netforge ssl example.com
Output:
NetForge SSL/TLS -> example.com
i TLS 1.2, TLS 1.3
ok Certificate valid - expires in 287 days
ok Full chain present (3 certificates)
ok HSTS enabled (max-age=31536000)
ok HSTS Preload: in preload list
ok OCSP Stapling: active
! TLS 1.2 still enabled (consider TLS 1.3 only)
ok No weak ciphers detected
Score: 92/100 - low risk
Cosa controlla in un solo passaggio:
- Validità del certificato, completezza della catena, robustezza della chiave
- Versioni del protocollo TLS (segnala 1.0/1.1 come critiche)
- Analisi delle cipher suite (segnala cifrari deboli o deprecati)
- Presenza di HSTS, max-age, includeSubDomains, stato del preload
- OCSP stapling
- Redirect da HTTP a HTTPS
- Punteggio complessivo con classificazione del rischio
Output JSON per gli script
netforge ssl example.com --json | jq '.score, .grade'
Passalo al monitoraggio, agli avvisi su Slack o alle pipeline CI/CD.
Audit completo: SSL e tutto il resto
netforge audit example.com
Esegue SSL, DNS, header, posta (SPF/DKIM/DMARC), port scan, sicurezza dei cookie, CSP, CORS, clickjacking, open redirect e path probe. Un solo comando, con un punteggio pesato su tutti i moduli.
Correggere quello che trovi
NetForge include un SSL Config Generator che produce configurazioni rafforzate per nginx, Apache, HAProxy e Lighttpd, basate sulle linee guida SSL di Mozilla.
Scegli Modern (solo TLS 1.3) o Intermediate (TLS 1.2 + 1.3) e ottieni un file di configurazione pronto all'uso, con i cifrari giusti, gli header HSTS e l'OCSP stapling già impostati.
Prova NetForge
Audit SSL completo con un solo comando. Niente cloud, niente account, gira sulla tua macchina.
Scopri NetForge