Verifica configurazione HTTPS
Individua versioni del protocollo deprecate, HSTS mancante e redirect HTTP rotti prima di una scansione di conformità o di un cliente.
Come misura
- Un handshake non convalidato per ogni versione del protocollo (TLS 1.0, 1.1, 1.2, 1.3) registra cosa accetta il server; questi handshake diagnostici non influenzano mai alcun monitor.
- Un handshake convalidato separato decide se il certificato è attendibile per uno store di radici pubbliche.
- Una GET all'URL HTTPS legge Strict-Transport-Security; una GET allo stesso percorso sulla porta 80 registra se reindirizza a HTTPS.
- Il supporto HTTP/2 viene letto dalla negoziazione ALPN, non da una richiesta HTTP/2 completa.
Limiti
- Robustezza delle suite di cifratura, OCSP stapling, certificate transparency e dimensioni delle chiavi non vengono valutati.
- I controlli vengono eseguiti solo sul primo indirizzo risolto; i pool bilanciati possono differire per nodo.
- Il test del redirect HTTP viene eseguito solo per la porta standard 443.
- Quando il certificato non è attendibile la richiesta HTTPS viene rifiutata per scelta, quindi HSTS viene riportato come non leggibile anziché ipotizzato.
Risoluzione dei problemi
- TLS 1.0 o 1.1 accettate
- Disattivale nella configurazione del web server o del load balancer (per esempio ssl_protocols TLSv1.2 TLSv1.3 in nginx). Entrambe sono deprecate da RFC 8996.
- HSTS mancante
- Aggiungi Strict-Transport-Security: max-age=31536000; includeSubDomains quando ogni sottodominio serve HTTPS. Parti da un max-age breve se non sei sicuro.
- HTTP in chiaro serve contenuti
- Rispondi con un 301 verso l'URL HTTPS a ogni richiesta sulla porta 80; altrimenti chi digita il nome host resta su HTTP.