Ottenere una A su uno scanner di header
Securityheaders.com o Mozilla Observatory segnalano header mancanti: genera il modello Bilanciato, aggiungilo al blocco server di Nginx e ripeti l’analisi.
Configura gli header HTTP di sicurezza partendo da un modello bilanciato, rigido o compatibile: HSTS (max-age, includeSubDomains, preload), X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP, CORP, COEP e X-Frame-Options, con output grezzo, Nginx e Apache e avvisi di configurazione.
Una direttiva per riga o separata da virgola.
Questo generatore produce gli header HTTP di sicurezza che ci si aspetta da un sito in produzione: HSTS, nosniff, Referrer-Policy, Permissions-Policy, isolamento cross-origin e protezione dall’incorporamento in iframe. È pensato per sviluppatori e sistemisti che vogliono una configurazione Nginx o Apache coerente e spiegata, invece di un copia-incolla trovato a caso.
Ogni header copre un rischio preciso. `Strict-Transport-Security: max-age=31536000; includeSubDomains` (RFC 6797) obbliga il browser a usare solo HTTPS per un anno; la lista preload di hstspreload.org richiede inoltre almeno 31536000 secondi, includeSubDomains e preload. `X-Content-Type-Options: nosniff` impedisce al browser di indovinare il tipo MIME di una risposta. `Referrer-Policy: strict-origin-when-cross-origin` invia agli altri siti solo l’origine. `Permissions-Policy: camera=(), microphone=(), geolocation=()` disattiva queste API per la pagina e i suoi iframe.
Gli header di isolamento lavorano insieme: `Cross-Origin-Opener-Policy: same-origin` separa la tua finestra dai pop-up di altre origini, `Cross-Origin-Resource-Policy` limita chi può caricare le tue risorse e `Cross-Origin-Embedder-Policy: require-corp` (o credentialless) accetta solo risorse che lo consentono esplicitamente; COOP + COEP rendono la pagina «cross-origin isolated», requisito di SharedArrayBuffer. X-Frame-Options (DENY o SAMEORIGIN) blocca l’incorporamento in iframe contro il clickjacking. Lo strumento produce questi header in testo grezzo, come direttive Nginx `add_header … always;` e righe Apache `Header always set …`, e avvisa in caso di HSTS inferiore a 180 giorni, preload senza includeSubDomains, Referrer-Policy troppo permissiva, assenza di nosniff o di protezione dagli iframe.
Parti da Bilanciato (caricato per impostazione predefinita), Rigido o Compatibile: tutti i campi vengono precompilati con i suoi valori.
Imposta HSTS (attivazione, max-age in secondi, sottodomini, preload), nosniff, Referrer-Policy, X-Frame-Options, COOP, CORP e COEP e scrivi le direttive Permissions-Policy, una per riga o separate da virgole.
Fai clic su «Genera gli header», leggi gli avvisi, poi copia o esporta la versione grezza, Nginx o Apache.
Securityheaders.com o Mozilla Observatory segnalano header mancanti: genera il modello Bilanciato, aggiungilo al blocco server di Nginx e ripeti l’analisi.
Verifica che max-age sia almeno di un anno e che includeSubDomains e preload siano presenti prima di inviare il dominio su hstspreload.org.
Il modello Rigido combina COOP same-origin e COEP require-corp, i due header necessari perché una pagina sia cross-origin isolated.
Input
Attiva HSTS: sì; Durata max-age (secondi): 31536000; Includi sottodomini: sì; Richiedi preload: no; Attiva X-Content-Type-Options: nosniff: sì; Referrer-Policy: strict-origin-when-cross-origin; X-Frame-Options: DENYRisultato
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
X-Frame-Options: DENY
Avvisi: nessunoLa base raccomandata da OWASP comprende Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options: nosniff, Referrer-Policy, una protezione dagli iframe (X-Frame-Options o frame-ancestors) e, secondo le esigenze, Permissions-Policy e gli header COOP/CORP/COEP. La CSP si crea a parte con il generatore di CSP.
Un anno (31536000 secondi) è il valore comune e il minimo per la lista preload; spesso si consigliano due anni (63072000). Durante una migrazione inizia con un valore breve e aumentalo gradualmente, perché il browser ricorda la regola per tutta la durata indicata.
No. Il filtro XSS dei browser è stato rimosso e OWASP consiglia di non inviare questo header (o di impostarlo a 0), perché poteva introdurre vulnerabilità. La protezione moderna dagli XSS passa da una Content Security Policy, per questo lo strumento non lo propone.
DENY vieta qualsiasi incorporamento delle tue pagine in iframe; SAMEORIGIN lo consente solo dalla tua origine, utile per un back-office o un editor che si mostra in un iframe. ALLOW-FROM è obsoleto: per consentire un dominio preciso usa frame-ancestors nella CSP.
Cross-Origin-Embedder-Policy: require-corp rifiuta ogni risorsa di un’altra origine che non invii Cross-Origin-Resource-Policy o header CORS. Chiedi al fornitore di aggiungerli, carica la risorsa con crossorigin o usa il valore credentialless, più tollerante.
Su Nginx incolla le righe `add_header … always;` nel blocco server (always li invia anche nelle risposte di errore) e ricarica con `nginx -t && nginx -s reload`. Su Apache attiva mod_headers e inserisci le righe `Header always set …` nel VirtualHost o in un .htaccess.
Strumenti correlati
Strumenti simili o complementari a questo.
Crea una Content Security Policy direttiva per direttiva, con header HTTP, tag meta e avvisi.
Analizza gli header HTTP per verificare sicurezza, cache, CORS e cookie di una risposta.
Genera regole 301 per Apache, Nginx, Netlify o Vercel da un mapping URL.
Impara a costruire una CSP progressiva, comprenderne le direttive ed evitare policy troppo permissive o che rompono il sito.
Comprendi HSTS, Referrer-Policy, Permissions-Policy, protezioni dal framing e isolamento cross-origin prima di distribuirli.
Comprendi i diversi livelli di sicurezza di un sito Web: HTTPS, header HTTP, CSP, SRI, autenticazione, password e integrità.
Scopri quando usare crittografia, hashing, HMAC o PBKDF2 per riservatezza, integrità, autenticazione e password.