SSL Labs A+ rating: come ottenerlo

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.

Hai trovato utile quest'articolo?