Cos'è SSL Labs Server Test
SSL Labs Server Test, sviluppato da Qualys, è lo standard de facto per valutare la qualità della configurazione TLS di un server web. Assegna un voto da A+ a F basandosi su quattro categorie: Certificate, Protocol Support, Key Exchange, Cipher Strength. Il punteggio finale è la media ponderata.
Cosa serve per A+
Per ottenere l'A+ servono tutti gli elementi di una buona configurazione TLS, più qualche bonus extra:
- Solo TLS 1.2 e TLS 1.3 abilitati
- Cipher suite forti con Forward Secrecy
- Chiave RSA ≥ 2048 bit o ECDSA ≥ 256 bit
- HSTS attivo con max-age ≥ 6 mesi
- Certificate Transparency conforme
- OCSP Stapling attivo
- Nessuna vulnerabilità nota (Heartbleed, ROBOT, POODLE, CRIME)
Step 1: Protocolli
Disabilita SSLv2, SSLv3, TLS 1.0 e TLS 1.1. Su Nginx:
ssl_protocols TLSv1.2 TLSv1.3;
Su Apache:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Step 2: Cipher suite
Usa solo cipher con Forward Secrecy (ECDHE) e algoritmi moderni (AES-GCM, ChaCha20). La lista raccomandata da Mozilla SSL Configuration Generator nel profilo Intermediate è un buon punto di partenza:
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
Con TLS 1.3 i cipher sono fissati dal protocollo, non serve specificarli.
Step 3: Parametri Diffie-Hellman
Genera un gruppo DH personalizzato a 2048 o 4096 bit:
openssl dhparam -out /etc/nginx/dhparam.pem 2048
E referenzialo:
ssl_dhparam /etc/nginx/dhparam.pem;
Questo previene attacchi Logjam basati su parametri DH deboli o default.
Step 4: HSTS
Header HSTS con max-age di almeno 6 mesi:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
SSL Labs assegna il +1 al voto base se HSTS è presente con max-age ≥ 180 giorni.
Step 5: OCSP Stapling
Attiva lo stapling come descritto nella documentazione del web server. SSL Labs non penalizza pesantemente la sua assenza ma lo riporta nei dettagli.
Step 6: Certificate Transparency
Verifica che il certificato sia loggato nei CT log. Tutti i certificati emessi dalle CA moderne lo sono automaticamente; se hai certificati pre-2018, valuta un riemissione.
Step 7: Catena intermedia
Carica nel server la catena completa (cert + intermediate), non solo il certificato del sito. Una catena incompleta penalizza il punteggio in Trust. Verifica con openssl s_client -connect tuosito.it:443 -showcerts.
Step 8: Header bonus
Per superare l'asticella, aggiungi anche altri header consigliati: CAA record nel DNS, X-Content-Type-Options, X-Frame-Options, Content-Security-Policy. Non influenzano direttamente il voto SSL ma rinforzano la postura di sicurezza generale.
Verifica e rilancio
Esegui il test su ssllabs.com/ssltest spuntando Do not show the results on the boards se vuoi mantenere riservato il risultato. Dopo ogni modifica forzare il rescan e analizzare le sezioni in arancio o rosso.
Hai bisogno di aiuto?
Se vuoi gestione SSL dal team di G Tech Group, scrivici tramite il modulo di contatto.