Generatore Security.txt
Generatore di security.txt
Output conforme a RFC 9116, pronto per essere distribuito su /.well-known/security.txt.
Dichiara l'URL Canonical del tuo security.txt per prevenire lo spoofing su altri percorsi
Genera online file security.txt conformi a RFC 9116, fornendo ai ricercatori di sicurezza un canale formale per la segnalazione delle vulnerabilità. Anteprima in tempo reale, copia con un clic, deploya direttamente in /.well-known/security.txt per renderlo attivo.
Raccomandazioni correlate
Informazioni su security.txt: La Guida Completa agli Standard di Divulgazione della Sicurezza dei Siti Web
security.txt è una best practice per la sicurezza web formalmente standardizzata dall'IETF (Internet Engineering Task Force) in RFC 9116, progettata per fornire ai siti web un modo unificato e standard di pubblicare le informazioni di contatto per la sicurezza. In parole semplici, è un file di testo posizionato in un percorso fisso su un sito web, che dice ai ricercatori di sicurezza (hacker white hat): "Se trovate vulnerabilità di sicurezza sul mio sito web, ecco come contattarci, ecco la nostra chiave pubblica di crittografia, ecco la nostra politica di divulgazione, accogliamo con favore le vostre segnalazioni."
Prima che esistesse lo standard security.txt, le informazioni di contatto per la sicurezza dei siti web erano disordinate. Alcuni siti web non avevano alcuna informazione di contatto per la sicurezza, alcuni l'avevano sepolta in qualche pagina oscura, alcuni elencavano solo un'email info@ non presidiata e alcuni richiedevano ricerche faticose su LinkedIn per trovare il team di sicurezza. Ciò ha causato un problema serio: quando i ricercatori di sicurezza in buona fede scoprivano vulnerabilità, spesso non riuscivano a trovare il canale corretto per segnalarle. Il risultato è stato che molte vulnerabilità sono state silenziosamente accantonate, lasciate non corrette, finché non sono state scoperte e sfruttate da hacker dannosi. security.txt è nato per risolvere questo problema dell'"ultimo miglio".
Il concetto di security.txt è stato proposto per la prima volta dai ricercatori di sicurezza EdOverflow e Yakov Shafranovich nel 2017 e ha rapidamente ottenuto un ampio supporto industriale. Nell'aprile 2022, security.txt è stato formalmente approvato dall'IETF come RFC 9116, diventando uno standard di sicurezza web riconosciuto a livello internazionale. Oggi, grandi aziende tecnologiche come Google, GitHub, Meta (Facebook), LinkedIn e Cloudflare, nonché agenzie governative tra cui il Governo del Regno Unito, la CISA statunitense (Agenzia per la Sicurezza Informatica e delle Infrastrutture), il Governo francese, il Governo italiano, il Governo olandese e il Centro di Sicurezza Informatica australiano, hanno deployato security.txt sui loro siti web ufficiali e raccomandano pubblicamente ad altre organizzazioni di adottarlo.
Il design principale del file security.txt è molto semplice: è un file di testo semplice composto da righe nel formato "nome-campo: valore", simile al formato delle intestazioni HTTP. Lo standard definisce due campi obbligatori: Contact (informazioni di contatto per la sicurezza, che possono essere multiple) ed Expires (ora di scadenza del file); oltre a diversi campi opzionali: Encryption (URL chiave pubblica di crittografia PGP), Acknowledgments (URL pagina di ringraziamenti), Policy (URL politica di divulgazione vulnerabilità), Hiring (URL lavori sicurezza), Canonical (URL canonica del file), Preferred-Languages (lingue di report supportate), CSAF (URL metadati provider Common Security Advisory Framework). Questo formato semplice rende facile l'analisi sia per gli esseri umani che per le macchine.
Perché deployare security.txt è così importante? Prima di tutto, abbassa la barriera per la segnalazione delle vulnerabilità. I ricercatori di sicurezza non hanno bisogno di spendere tempo significativo a trovare le informazioni di contatto: possono trovare il canale di segnalazione corretto con un clic. In secondo luogo, dimostra l'atteggiamento proattivo di un'organizzazione nei confronti della sicurezza: un sito web con security.txt essenzialmente sta dicendo "Prendiamo sul serio la sicurezza e accogliamo con favore le segnalazioni responsabili". In terzo luogo, riduce il rischio che le vulnerabilità vengano divulgate pubblicamente o sfruttate: con un canale formale, i ricercatori non sceglieranno di divulgare pubblicamente le vulnerabilità direttamente su Twitter o GitHub perché non riescono a raggiungere nessuno. In quarto luogo, in molti requisiti normativi del settore (finanza, sanità, governo), stabilire un canale di divulgazione delle vulnerabilità è diventato un requisito di conformità.
Ci sono diversi dettagli chiave da notare quando si deploya security.txt. Primo, il percorso deve essere corretto: il percorso standard è /.well-known/security.txt e puoi anche posizionare una copia in /security.txt nella directory root come fallback. La directory .well-known qui è una directory standard di "risorse note" definita da RFC 8615, dove anche altri file standard come robots.txt sono posizionati in posizioni correlate. Secondo, deve essere servito su HTTPS: l'HTTP in chiaro è considerato non sicuro. Terzo, il Content-Type deve essere text/plain, non text/html o altri tipi. Quarto, non eseguire reindirizzamenti cross-domain per security.txt: se https://example.com/.well-known/security.txt reindirizza a https://other-domain.com/security.txt, i ricercatori e gli strumenti automatizzati lo considereranno sospetto. Quinto, ricorda di impostare il campo Expires e di aggiornarlo regolarmente; un security.txt scaduto sarà considerato con informazioni inaffidabili.
Il campo Contact è il campo più importante in security.txt e l'unico veramente essenziale (Expires è anche obbligatorio ma è solo un timestamp). Contact supporta tre formati URI: mailto: per gli indirizzi email, https: per i collegamenti web (come le pagine dei moduli di segnalazione sicurezza), tel: per i numeri di telefono. È fortemente consigliato fornire almeno un'email mailto e un collegamento a un modulo https: i moduli prevengono lo spam dai bot, mentre l'email è più conveniente per i ricercatori per inviare direttamente report crittografati. Contatti multipli possono essere elencati su più righe, ad esempio fornendo contemporaneamente sia l'email del team di sicurezza, l'email del responsabile della sicurezza e i collegamenti a piattaforme di vulnerabilità di terze parti.
Sebbene il campo Encryption sia opzionale, è molto importante nella pratica. Quando i ricercatori di sicurezza scoprono una vulnerabilità critica (come la fuga di dati utente o l'esecuzione di codice remoto), non vogliono assolutamente inviare i dettagli della vulnerabilità in email in chiaro: perché l'email passa attraverso più server durante la trasmissione, ogni hop potrebbe essere intercettato. La crittografia a chiave pubblica PGP (Pretty Good Privacy) è lo standard industriale per la comunicazione sicura. Devi solo generare una coppia di chiavi PGP, posizionare la chiave pubblica sul tuo sito web (ad es. in /.well-known/pgp-key.txt) e inserire quell'URL nel campo Encryption. I ricercatori crittografano il contenuto del report con la tua chiave pubblica e solo coloro che detengono la chiave privata corrispondente possono decrittografarlo e leggerlo.
Il campo Policy si collega alla tua pagina di Politica di Divulgazione delle Vulnerabilità (Vulnerability Disclosure Policy, VDP), che è la chiave per costruire la fiducia dei ricercatori. Una buona VDP dovrebbe indicare chiaramente: ambito di test (quali sistemi sono nell'ambito di test e quali no), metodi di test consentiti (ad es. test SQL injection/XSS consentiti ma DDoS/ingegneria sociale/accesso a dati utente reali proibiti), tempi di risposta impegnati (ad es. "Confermeremo la ricezione dei report entro 3 giorni lavorativi"), se offri ricompense e gli impegni di safe harbor legali (indicando esplicitamente di non perseguire ricercatori in buona fede che seguono le regole). Ci sono molti modelli VDP disponibili a livello internazionale come riferimento e anche la CISA statunitense fornisce un modello VDP open source.
Oltre al contatto di sicurezza in sé, security.txt ha diversi campi a "sorpresa". Il campo Acknowledgments costruisce una Security Hall of Fame: ringraziare pubblicamente i ricercatori che ti aiutano a trovare vulnerabilità, riconoscendo il loro lavoro e servendo anche come costruzione di comunità. Il campo Hiring è un design molto intelligente: le persone che possono trovare vulnerabilità sul tuo sito web sono intrinsecamente eccellenti talenti della sicurezza e inserire un collegamento di reclutamento in security.txt è il canale più preciso per reclutare talenti nel campo della sicurezza. Molte aziende hanno assunto eccellenti ingegneri della sicurezza tramite security.txt. Il campo Canonical è una considerazione di sicurezza: impedisce agli aggressori di falsificare il tuo security.txt su altri domini.
Per quanto riguarda la comune preoccupazione per lo spam, in pratica la maggior parte delle organizzazioni che hanno deployato security.txt segnala aumenti trascurabili dello spam. Questo perché: primo, gli spammer in genere non ottengono indirizzi email crawlando security.txt; secondo, i collegamenti a moduli https:// possono essere utilizzati invece di inserire direttamente email mailto e aggiungere CAPTCHA ai moduli può bloccare completamente i bot; terzo, le email dedicate alla sicurezza (ad es. security@) di solito hanno un filtraggio antispam rigoroso configurato. Al contrario, il costo di perdere report critici di vulnerabilità a causa della mancanza di un canale di contatto per la sicurezza supera di gran lunga il potenziale aumento di piccole quantità di spam.
Questo generatore è costruito in stretta conformità con lo standard RFC 9116 e tutti i formati di output sono normalizzati: il campo Contact riconosce automaticamente i prefissi, il campo Expires utilizza il formato orario UTC standard ISO 8601 e Preferred-Languages viene impostato automaticamente in base alla lingua che stai utilizzando. Il contenuto generato può essere direttamente copiato e deployato nel percorso /.well-known/security.txt senza alcuna modifica. Inoltre, tutta la configurazione viene eseguita localmente nel tuo browser e non viene mai inviata a nessun server: le tue informazioni di contatto per la sicurezza rimangono sempre sul tuo dispositivo. Deployare security.txt richiede solo 5 minuti, ma il canale di comunicazione di sicurezza che stabilisce potrebbe aiutarti a evitare un grave incidente di sicurezza in futuro.
Casi d'uso
- Stabilisci canali formali di segnalazione vulnerabilità per siti web aziendali, piattaforme SaaS e siti e-commerce configurando indirizzi email Contact e pagine di Policy sulla sicurezza
- Pubblica URL delle chiavi pubbliche di crittografia PGP in modo che i ricercatori di sicurezza possano crittografare l'invio di dettagli sensibili sulle vulnerabilità, prevenendo l'intercettazione di informazioni sulle vulnerabilità durante il transito in chiaro
- Imposta gli URL delle pagine Acknowledgments (Hall of Fame di sicurezza) per ringraziare pubblicamente i ricercatori che segnalano vulnerabilità, costruendo fiducia nella comunità di sicurezza
- Configura i collegamenti Hiring per le posizioni lavorative nella sicurezza per mostrare in modo proattivo le informazioni di reclutamento del team a ricercatori di sicurezza e hacker white hat, attirando talenti nel campo della sicurezza
- Imposta i timestamp Expires per ricordare ai team di rivedere e aggiornare regolarmente le informazioni di contatto per la sicurezza, prevenendo contatti irraggiungibili dovuti a informazioni obsolete che lasciano le vulnerabilità non segnalate
- Configura i campi Canonical per dichiarare l'URL canonica del tuo file security.txt, impedendo agli aggressori di falsificare contenuti security.txt dannosi che fuorviano i ricercatori
- Soddisfa i requisiti della Politica di Divulgazione delle Vulnerabilità (VDP) per siti web ad alta conformità nei settori governativo, finanziario e sanitario, allineandoti alle best practice normative del settore
- Configura rapidamente punti di accesso di contatto per la sicurezza per progetti open source, blog personali e servizi API, dimostrando un atteggiamento serio nei confronti dei problemi di sicurezza
Come utilizzare
- Compila gli indirizzi email o gli URL di contatto per la sicurezza nella sezione Contact (uno per riga, più righe supportate; le email richiedono il prefisso mailto:, gli URL web richiedono il prefisso https:)
- Configura i campi opzionali secondo necessità: Encryption (URL chiave pubblica PGP), Acknowledgments (pagina Hall of Fame), Policy (pagina politica di divulgazione vulnerabilità), Hiring (pagina lavori sicurezza), Canonical (URL canonica del file), ecc.
- Imposta l'ora di scadenza Expires (ora UTC in formato ISO 8601, ad es. 2027-12-31T23:59:59Z; l'impostazione consigliata è 6-12 mesi nel futuro)
- Visualizza l'anteprima del contenuto generato in tempo reale a destra; dopo aver confermato che il formato è corretto, clicca il pulsante copia
- Crea una cartella .well-known nella directory root del tuo sito web e salva il contenuto come security.txt al suo interno
- Configura il tuo server web (Nginx/Apache/Caddy, ecc.) per garantire l'accesso tramite https://tuo-dominio/.well-known/security.txt con Content-Type impostato a text/plain
Funzionalità
- Segue rigorosamente l'ultimo standard RFC 9116: il formato di output è completamente conforme e pronto per il deploy in produzione
- Supporto multi-Contact: una voce per riga, email (mailto:), URL web (https:) e telefono (tel:) possono essere dichiarati indipendentemente
- Copertura completa dei campi: campi obbligatori Contact ed Expires più tutti i campi opzionali tra cui Encryption, Acknowledgments, Policy, Hiring, Canonical e Preferred-Languages
- Generazione con anteprima in tempo reale: il contenuto di security.txt si aggiorna istantaneamente quando modifichi qualsiasi configurazione—WYSIWYG, nessun pulsante di generazione necessario
- Dichiarazione lingua automatica: aggiunge automaticamente il campo Preferred-Languages in base alla lingua della pagina corrente per facilitare le segnalazioni da parte di ricercatori di sicurezza internazionali
- Formato ora ISO 8601: il campo Expires utilizza il formato orario UTC standard conforme alle ultime specifiche RFC
- Validazione formato campi: controlla automaticamente i prefissi Contact (mailto:/https:/tel:) e il formato orario Expires per prevenire output non validi
- Copia con un clic: clicca per copiare il contenuto completo negli appunti—incolla e deploya immediatamente
- Modelli di esempio integrati: precompilato con formato di esempio in modo da poter sostituire rapidamente con le tue informazioni invece di iniziare da zero
- Esecuzione locale pura frontend: la configurazione viene elaborata localmente nel tuo browser e non viene mai caricata su alcun server
- Guida al percorso di deploy: dopo la generazione, mostra il percorso di deploy standard /.well-known/security.txt e i punti chiave di configurazione del server web
- Senza filigrana: i file generati non contengono filigrane o restrizioni, adatti per l'uso diretto su siti web commerciali
Domande frequenti
Cos'è un file security.txt? Perché il mio sito web ne ha bisogno?
security.txt è uno standard di sicurezza web definito dall'IETF in RFC 9116, progettato per fornire ai siti web un modo standardizzato di pubblicare le informazioni di contatto per la sicurezza. Quando i ricercatori di sicurezza (hacker white hat) scoprono vulnerabilità di sicurezza sul tuo sito web, hanno bisogno di sapere chi contattare, come crittografare i loro report e quale politica di divulgazione seguire. Senza security.txt, i ricercatori potrebbero non trovare la persona giusta e le vulnerabilità potrebbero essere divulgate pubblicamente o addirittura sfruttate in modo dannoso. Google, GitHub, Facebook/Meta, il Governo del Regno Unito, la CISA statunitense e i governi di Francia, Italia, Paesi Bassi e Australia hanno tutti adottato questo standard.
Dove dovrebbe essere posizionato security.txt su un sito web?
Secondo gli standard RFC 9116, security.txt deve essere posizionato nel percorso /.well-known/security.txt (cioè nella cartella .well-known nella root del tuo sito web). Puoi anche posizionare una copia in /security.txt nella directory root come fallback. Deve essere accessibile tramite HTTPS e il Content-Type deve essere text/plain. Non posizionarlo in altri percorsi, altrimenti gli strumenti di scansione di sicurezza automatizzati non lo riconosceranno.
Quali formati di contatto supporta il campo Contact? Posso inserire più contatti?
Sono supportati tre formati: gli indirizzi email devono utilizzare il prefisso mailto: (ad es. mailto:security@example.com), gli URL web devono utilizzare il prefisso https: (ad es. https://example.com/security-report), i numeri di telefono devono utilizzare il prefisso tel: (ad es. tel:+1-201-555-0123). Puoi inserire più contatti, uno per riga: i ricercatori di sicurezza possono scegliere il canale più conveniente per contattarti. Si consiglia di fornire almeno un indirizzo email e un collegamento a un modulo web.
Il campo Expires è obbligatorio? Quali sono i requisiti di formato?
Expires è un campo obbligatorio (anche Contact è obbligatorio; tutti gli altri sono opzionali). Expires indica l'ora di scadenza del contenuto di security.txt e deve utilizzare l'ora UTC in formato ISO 8601, ad es. 2027-12-31T23:59:59Z (Z indica il fuso orario UTC). Si consiglia di impostare la scadenza a 6-12 mesi dopo la creazione per ricordarti di aggiornare regolarmente le informazioni di contatto per la sicurezza. Dopo la scadenza, gli strumenti automatizzati considereranno le informazioni del file potenzialmente non valide.
Perché è necessario il campo Encryption? Devo includere per forza una chiave pubblica PGP?
Il campo Encryption punta alla posizione della tua chiave pubblica PGP. I ricercatori di sicurezza possono utilizzare questa chiave pubblica per crittografare i report sulle vulnerabilità prima di inviarli, prevenendo l'intercettazione dei dettagli delle vulnerabilità durante la trasmissione email. Questo non è un campo obbligatorio, ma è fortemente consigliato: poiché le informazioni sulle vulnerabilità sono altamente sensibili, le email in chiaro possono essere intercettate da ISP, amministratori di server di posta o aggressori. Puoi posizionare la tua chiave pubblica PGP in /.well-known/pgp-key.txt e inserire quell'URL nel campo Encryption.
A cosa serve il campo Acknowledgments? Perché creare una pagina di ringraziamenti?
Il campo Acknowledgments punta a una pagina di ringraziamenti pubblica (chiamata anche Security Hall of Fame), che elenca i nomi o gli ID dei ricercatori che hanno precedentemente segnalato vulnerabilità di sicurezza. Questo è un riconoscimento pubblico del lavoro dei ricercatori di sicurezza e un modo efficace per attirare più ricercatori white hat ad aiutarti a trovare vulnerabilità. Molti ricercatori di sicurezza danno priorità al test di siti web con meccanismi di ringraziamento pubblico, poiché significa che i loro contributi saranno riconosciuti.
A quali contenuti dovrebbe collegarsi il campo Policy?
Il campo Policy dovrebbe collegarsi alla tua pagina di Politica di Divulgazione delle Vulnerabilità (Vulnerability Disclosure Policy, VDP). Questa pagina dovrebbe indicare chiaramente: quali attività di test sono consentite (e quali sono proibite, ad es. niente DDoS, niente accesso ai dati utente), gli impegni sui tempi di risposta per le segnalazioni di vulnerabilità, se offri ricompense e i tuoi impegni legali per la ricerca di sicurezza legittima (ad es. non perseguire ricercatori in buona fede). Una Policy chiara fornisce ai ricercatori di sicurezza tranquillità legale, rassicurandoli che possono segnalarti problemi in sicurezza.
A cosa serve il campo Canonical? Devo compilarlo?
Il campo Canonical dichiara l'URL canonica del file security.txt stesso. Un sito web potrebbe avere security.txt accessibile da più domini o percorsi (ad es. example.com e www.example.com); il campo Canonical indica ai ricercatori quale URL è la versione ufficiale e attendibile. Questo impedisce agli aggressori di posizionare un security.txt contraffatto su qualche percorso per indurre i ricercatori a inviare report sulle vulnerabilità all'aggressore. Si consiglia di inserire l'URL del tuo dominio ufficiale, ad es. https://example.com/.well-known/security.txt.
Cosa significa il campo Preferred-Languages?
Preferred-Languages indica ai ricercatori di sicurezza quali lingue il tuo team di sicurezza è in grado di gestire per i report, espresso come codici di lingua separati da virgola (ad es. it, en, zh-CN). Questo generatore imposta automaticamente questo campo in base alla lingua della pagina che stai attualmente utilizzando. Questo è importante perché la ricerca sulla sicurezza è globale: i ricercatori potrebbero trovarsi in qualsiasi paese e dichiarare in anticipo le lingue supportate previene i fallimenti di comunicazione dovuti a barriere linguistiche.
Anche il campo Hiring dovrebbe essere inserito in security.txt?
Sì, Hiring è uno dei campi opzionali definiti nello standard RFC 9116. Questo campo punta alla pagina di reclutamento del tuo team di sicurezza. I ricercatori di sicurezza sono essi stessi eccellenti candidati per talenti nel campo della sicurezza: la loro capacità di trovare vulnerabilità sul tuo sito web dimostra forti competenze in sicurezza. Inserire un collegamento di reclutamento in security.txt è un modo altamente mirato per reclutare talenti nel campo della sicurezza. Molte aziende note (incluso Google) includono collegamenti di reclutamento nei loro file security.txt.
Pubblicare un'email di contatto per la sicurezza comporterà grandi quantità di spam?
Questa è la preoccupazione più comune tra i gestori di siti web. Esistono diverse strategie per ridurre lo spam: prima, invece di pubblicare direttamente gli indirizzi email, pubblica l'URL di un modulo web per le segnalazioni di sicurezza (prefisso https:), dove puoi aggiungere CAPTCHA per filtrare i bot; secondo, usa un alias email dedicato per la sicurezza (ad es. security@) e configura un forte filtraggio antispam; terzo, fornisci la crittografia con chiave pubblica PGP: gli spammer automatizzati non usano la crittografia PGP; quarto, indica chiaramente nella tua Policy che accetti solo segnalazioni relative a vulnerabilità di sicurezza. In pratica, la maggior parte dei siti web che hanno implementato security.txt segnala aumenti trascurabili dello spam, ma aumenti significativi nelle segnalazioni di vulnerabilità.
security.txt deve essere firmato digitalmente? Come fare?
RFC 9116 raccomanda (ma non richiede) di utilizzare le firme in chiaro OpenPGP per firmare digitalmente security.txt, in modo che i ricercatori possano verificare che il file è stato effettivamente pubblicato ufficialmente dal sito web e non è stato manomesso da aggressori. Il metodo è firmare il file in modalità clearsign con GPG: gpg --clearsign -o security.txt.sig security.txt, quindi utilizzare il contenuto firmato (che inizia con -----BEGIN PGP SIGNED MESSAGE-----) come contenuto finale di security.txt. Tuttavia, questa è un'operazione avanzata: la maggior parte dei siti web può funzionare normalmente senza firma.
Come dovrei configurare Nginx/Apache/Caddy per security.txt?
Requisiti di configurazione principali: assicurati che il percorso /.well-known/security.txt sia accessibile, che il Content-Type restituisca text/plain, che sia utilizzato HTTPS e non reindirizzare questo percorso (specialmente non reindirizzare ad altri domini). Nginx può utilizzare la corrispondenza esatta della posizione: location = /.well-known/security.txt { default_type text/plain; alias /path/to/security.txt; }; Apache dovrebbe garantire che .htaccess non blocchi l'accesso alla directory .well-known; Caddy può utilizzare handle_path per specificare direttamente.
Il mio sito web è molto piccolo (blog personale/progetto open source)—ho ancora bisogno di security.txt?
È altamente consigliato. Indipendentemente dalle dimensioni del sito web, finché hai dati utente o fornisci servizi su Internet, possono esistere vulnerabilità di sicurezza. Il costo di deploy di security.txt è estremamente basso: generarlo con questo strumento richiede solo 2 minuti e richiede il posizionamento di un singolo file. Grandi aziende come Google e GitHub lo usano, e anche sviluppatori individuali e progetti open source possono usarlo. È una pratica di sicurezza estremamente conveniente: costo quasi zero, ma fornisce ai ricercatori in buona fede che trovano vulnerabilità un canale per segnalarti i problemi, invece di andarsene in silenzio o divulgare pubblicamente.
Qual è la differenza tra security.txt e robots.txt?
Entrambi sono file di testo standard posizionati in /.well-known/ (o nella directory root), ma i loro scopi sono completamente diversi: robots.txt è per i crawler dei motori di ricerca, dice loro quali percorsi non scansionare; security.txt è per i ricercatori di sicurezza, dice loro come contattarti se trovano vulnerabilità. Uno è rivolto ai motori di ricerca, l'altro ai ricercatori di sicurezza—si completano a vicenda senza conflitti e possono essere deployati contemporaneamente.
Risoluzione dei problemi
L'accesso a /.well-known/security.txt restituisce un errore 404
Ci sono tre cause comuni: prima, il file non è posizionato nella posizione corretta—conferma che il percorso è il file security.txt all'interno della cartella .well-known nella root del sito web (nota che .well-known è una directory nascosta che inizia con un punto); secondo, la configurazione del server web blocca l'accesso alle directory che iniziano con un punto (le regole .htaccess di Apache o le regole deny di Nginx potrebbero bloccare le directory dotfile); terzo, le regole di rewrite di Nginx/Apache (come la modalità history del routing frontend) stanno inoltrando le richieste a index.html. Soluzione: controlla il percorso del file e aggiungi esplicitamente una regola location per /.well-known/security.txt nella configurazione del server.
L'accesso a security.txt reindirizza alla pagina di accesso o alla homepage
Molte applicazioni a pagina singola (SPA) o siti web con autenticazione reindirizzano tutti i percorsi non corrispondenti alla homepage o alla pagina di accesso. Ciò impedisce agli strumenti automatizzati di trovare security.txt. Soluzione: aggiungi un'eccezione per il percorso /.well-known/security.txt nella configurazione del server in modo che questo percorso restituisca direttamente il contenuto del file, bypassando il routing SPA o l'elaborazione middleware di autenticazione. Questa è la trappola più comune quando si deploya security.txt.
Il browser scarica security.txt invece di visualizzare il contenuto
Ciò si verifica perché il server restituisce un Content-Type errato, potrebbe essere impostato su application/octet-stream o un altro tipo binario invece di text/plain. Soluzione: imposta esplicitamente Content-Type a text/plain; charset=utf-8 per security.txt nella configurazione del server web. Nginx richiede default_type text/plain o add_header Content-Type text/plain; Apache di solito lo gestisce automaticamente, ma se si verificano problemi puoi usare la direttiva AddType per forzarlo.
Ho inserito un'email nel campo Contact ma ricevo un errore di formato
I valori del campo Contact devono includere prefissi URI: gli indirizzi email devono iniziare con mailto: (ad es. mailto:security@example.com, non solo security@example.com), gli URL web devono iniziare con https: (non solo example.com/security), i numeri di telefono devono iniziare con tel:. Questo è esplicitamente richiesto dagli standard RFC 9116: poiché il campo Contact supporta più metodi di contatto, la mancanza di prefissi rende impossibile per i parser determinare il tipo.
Il formato dell'ora Expires viene mostrato come non corretto
Expires deve utilizzare l'ora UTC in formato ISO 8601 nel formato YYYY-MM-DDTHH:MM:SSZ, con una Z alla fine che indica il fuso orario UTC (non scrivere offset di fuso orario locale come +01:00). Esempio corretto: 2027-12-31T23:59:59Z. Non utilizzare altri formati come 2027/12/31, 31 dic 2027 o 2027-12-31 23:59:59: questi non sono conformi.
Ho deployato security.txt ma gli strumenti di rilevamento online dicono ancora che non è possibile trovarlo
Controlla i seguenti punti: primo, assicurati che l'accesso utilizzi HTTPS (l'accesso HTTP non conta—RFC richiede HTTPS); secondo, assicurati che l'accesso sia corretto sia con il dominio www che senza www (se il tuo sito web esiste in entrambe le versioni di dominio, è consigliabile dichiarare il dominio principale nel campo Canonical e posizionare security.txt in entrambi i domini o impostare reindirizzamenti 301 corretti); terzo, controlla se la cache CDN è stata svuotata dai vecchi contenuti; quarto, verifica che il server non restituisca reindirizzamenti (301/302) ad altri URL sul percorso security.txt—RFC specifica che i reindirizzamenti potrebbero essere rifiutati dagli strumenti.
Glossario
- RFC 9116
- Il documento standard ufficiale di security.txt pubblicato dall'IETF, numero 9116, rilasciato nell'aprile 2022. Definisce tutti i dettagli delle specifiche per il formato del file security.txt, i campi, i percorsi di deploy, i tipi MIME, ecc. ed è la base autorevole per l'implementazione di security.txt.
- Directory .well-known
- Una directory standard Web definita da RFC 8615, utilizzata per archiviare file di metadati standardizzati per i siti web (come security.txt, robots.txt, apple-app-site-association, ecc.), con percorso fisso nella cartella .well-known nella directory root del sito web.
- VDP (Politica di Divulgazione Vulnerabilità)
- Politica di Divulgazione delle Vulnerabilità, che descrive quali test di sicurezza sono consentiti da un sito web, come segnalare le vulnerabilità, gli impegni sui tempi di risposta, le clausole di safe harbor legali, ecc. Il campo Policy in security.txt dovrebbe collegarsi alla pagina VDP.
- Crittografia PGP/GPG
- Pretty Good Privacy/GNU Privacy Guard, uno standard di crittografia asimmetrica. I ricercatori di sicurezza utilizzano la chiave pubblica del sito web per crittografare i report sulle vulnerabilità e solo il sito web che detiene la chiave privata può decrittografarli, prevenendo l'intercettazione dei dettagli delle vulnerabilità durante la trasmissione.
- ISO 8601
- Un formato di rappresentazione di data e ora sviluppato dall'Organizzazione Internazionale per la Standardizzazione; RFC 9116 richiede che il campo Expires utilizzi questo formato in ora UTC (ad es. 2027-12-31T23:59:59Z, dove Z indica il fuso orario UTC).
- Hall of Fame (Ringraziamenti Sicurezza)
- La pagina di ringraziamenti puntata dal campo Acknowledgments, che registra pubblicamente i nomi/ID dei ricercatori che hanno segnalato vulnerabilità di sicurezza al sito web, fungendo da riconoscimento pubblico dei contributi alla ricerca sulla sicurezza.
- Hacker White Hat
- Ricercatori di sicurezza che scoprono e divulgano responsabilmente le vulnerabilità di sicurezza per scopi in buona fede, al contrario degli hacker dannosi (black hat) che sfruttano le vulnerabilità per attaccare. security.txt fornisce un canale di comunicazione formale per i ricercatori white hat.
- URL Canonica
- Il campo Canonical in security.txt dichiara l'URL ufficiale del file stesso, impedendo agli aggressori di posizionare file security.txt contraffatti su altri percorsi o domini per ingannare i ricercatori.
Tabella di Riferimento Rapido dei Campi RFC 9116 security.txt
Di seguito sono riportati tutti i campi definiti dallo standard security.txt e i loro requisiti:
| Nome Campo | Obbligatorio/Opzionale | Multipli Consentiti? | Formato Valore | Descrizione |
|---|---|---|---|---|
| Contact | ✅ Obbligatorio | ✅ Più righe consentite | mailto:/https:/tel: URI | Informazioni di contatto per la sicurezza, supporta formati email, URL web e telefono |
| Expires | ✅ Obbligatorio | ❌ Esattamente uno | Ora UTC ISO 8601 | Ora di scadenza del contenuto del file; dopo la scadenza, le informazioni sono considerate potenzialmente non valide |
| Encryption | ⬜ Opzionale | ✅ Più righe consentite | https: URI | URL della posizione della chiave pubblica PGP per crittografare report sensibili sulle vulnerabilità |
| Acknowledgments | ⬜ Opzionale | ✅ Più righe consentite | https: URI | URL della pagina Security Hall of Fame/ringraziamenti, ringrazia pubblicamente i segnalatori di vulnerabilità |
| Policy | ⬜ Opzionale | ✅ Più righe consentite | https: URI | URL della pagina Politica di Divulgazione Vulnerabilità (VDP), descrive le regole di segnalazione e l'ambito |
| Hiring | ⬜ Opzionale | ✅ Più righe consentite | https: URI | URL della pagina di reclutamento del team di sicurezza, recluta talenti dai ricercatori di sicurezza |
| Canonical | ⬜ Opzionale | ✅ Più righe consentite | https: URI | URL canonica del file security.txt stesso, impedisce la contraffazione |
| Preferred-Languages | ⬜ Opzionale | ❌ Esattamente uno | Codici lingua (separati da virgola) | Lingue supportate dal team di sicurezza, ad es. it, en, zh-CN |
| CSAF | ⬜ Opzionale | ✅ Più righe consentite | https: URI | URL metadati provider Common Security Advisory Framework |
Esempi di Configurazione security.txt per Server Web Comuni
Dopo aver generato il contenuto di security.txt, configura il percorso di accesso corretto e il Content-Type sul tuo server:
| Server Web | Punti Chiave Configurazione | Note |
|---|---|---|
| Nginx | location = /.well-known/security.txt { default_type text/plain; alias /var/www/.well-known/security.txt; add_header Cache-Control "public, max-age=3600"; } | Usa la corrispondenza esatta (=), specifica default_type come text/plain per evitare che Nginx tratti i file txt come binari |
| Apache | Assicurati che la directory .well-known non sia bloccata dalle regole Deny di .htaccess; è sufficiente posizionare il file nella cartella .well-known nella directory root del sito web | Apache restituisce text/plain per i file .txt per impostazione predefinita, ma verifica che le regole mod_rewrite non riscrivano questo percorso |
| Caddy | handle_path /.well-known/security.txt { file_server { root /var/www } } | Caddy utilizza HTTPS per impostazione predefinita e gestisce correttamente i tipi MIME dei file txt; configurazione più semplice |
| Cloudflare Pages/Vercel/Netlify | Posiziona security.txt in public/.well-known/security.txt; dopo il deploy, il serving statico consentirà l'accesso corretto | Le piattaforme di hosting statico di solito gestiscono automaticamente il Content-Type corretto; verifica che le piattaforme non ignorino la directory .well-known quando inizia con un punto |
| CDN/Reverse Proxy | Assicurati che CDN o WAF non blocchino o mettano in cache security.txt per troppo tempo; l'impostazione Cache-Control consigliata è max-age=3600 (1 ora) | Ricorda di svuotare la cache CDN dopo aver aggiornato security.txt, altrimenti i ricercatori potrebbero vedere la versione vecchia |
Privacy & Security
Tutte le operazioni di configurazione in questo generatore vengono eseguite interamente localmente nel tuo browser. Nessuna delle informazioni che inserisci—email di contatto per la sicurezza, URL delle chiavi PGP, collegamenti di lavoro o qualsiasi altro dato—viene inviata a nessun server, né viene raccolta o archiviata. Tutto il contenuto di input viene immediatamente cancellato quando la pagina viene aggiornata o chiusa. Il contenuto del file security.txt generato esiste solo nei tuoi appunti e sui server su cui lo deployi; GeekFormat non conserva alcuna copia.
- Generatore Authorization Header
- Parser Cache-Control
- Content-Disposition Parser
- Generatore CORS Header
- Ispettore CORS
- Generatore CSP
- Generatore di codice cURL
- Controllo Propagazione DNS Globale
- Lookup DNS
- Parser Forwarded Header
- Generatore Hreflang
- Analizzatore HSTS
- Parser Cookie HTTP
- Verifica Header HTTP
- Tester Richieste HTTP
- Ricerca codici di stato HTTP
- Ricerca IP
- Convertitore IPv4
- IPv4 Range Expander
- Cassetta degli attrezzi IPv6
- Link Header Parser
- MX Lookup
- Port Checker
- URL Parameter Builder
- Rate Limit Header Parser
- Controlla Catena di Reindirizzamento
- Generatore Robots.txt
- Robots.txt Inspector
- Security Headers Checker
- Generatore Security.txt
- Parser Set-Cookie
- Site Network Audit
- Generatore Sitemap
- Sitemap Inspector
- Verificatore Certificati SSL
- Calcolatore di Sottoreti
- Analizzatore URL
- Parser User-Agent
- Generatore di Link UTM
- Test WebSocket
- Qual è il Mio IP
- Ricerca WHOIS