fb-pixel

Security.txt: cos’è e a cosa serve

Hai sentito parlare del file security.txt, ma non sai bene come funziona e come fare a crearne uno per il tuo sito web?

Dopo aver trattato nel dettaglio la sicurezza di WordPress e di Joomla, andiamo a parlare di un file poco conosciuto.

In questo articolo ti spieghiamo cos’è il file security.txt, quanto è diffuso e come fare a crearne uno per il tuo sito web.

Iniziamo subito vedendo a cosa serve.

Security Txt Cose E A Cosa Serve

Cos’è il file security.txt

Il secuity.txt è un file di testo che i proprietari del sito possono inserire in una posizione nota del sito per condividere informazioni di contatto e ricevere segnalazioni su problemi di vulnerabilità.

Questo file è, infatti, indirizzato a ricercatori di sicurezza e ethical hacker che vogliono contattare un sito dopo aver scoperto un rischio o una vulnerabilità di sicurezza.

Il file security.txt è stato proposto come standard per avere un metodo univoco per comunicare un metodo di contatto e segnalare qualsiasi tipo di problema di sicurezza.

La proposta di utilizzare il file security.txt come standard è stata inviata nel settembre 2017 da Edwin Foudil. Tuttavia ad oggi, il file non è diventato uno standard, ma è stata pubblicata la documentazione tecnica RFC 9116 che stabilisce la struttura del file.

Cosa significa nella pratica?

Non è obbligatorio avere questo file, ma ci sono delle indicazioni precise che ci aiutano a creare il file correttamente se lo si vuole inserire nel proprio sito.

Prima di passare alla struttura del security.txt e a come crearlo, parliamo della sua diffusione.

Quanti siti utilizzano il file security.txt?

Attualmente il file security.txt non è molto diffuso.

Dai dati raccolti ad agosto 2022 da RedMapleTechnologies, sui siti top 1 milione solo 3.724 utilizzano il file security.txt che corrisponde allo 0,37% del totale dei siti analizzati.

Nonostante ciò, bisogna comunque considerare che ci sono diversi organi che promuovono l’utilizzo di questo file.

Ad esempio la CISA (Cybersecurity and Infrastructure Security Agency) nel 2019 ha richiesto a tutte le agenzie federali di pubblicare il file.

Tra le compagnie importanti che hanno adottato il file security.txt troviamo Google, Amazon e Facebook.

Ecco alcuni esempi di file security.txt.

Google:

Contact: https://g.co/vulnz

Contact: mailto:[email protected]

Encryption: https://services.google.com/corporate/publickey.txt

Acknowledgements: https://bughunters.google.com/

Policy: https://g.co/vrp

Hiring: https://g.co/SecurityPrivacyEngJobs

Amazon:

Contact: https://hackerone.com/amazonvrp/reports/new

Hiring: https://www.amazon.jobs/en/teams/infosec

# Bug Bounty Policy:

Policy: https://hackerone.com/amazonvrp

# For vulnerabilities related to Amazon Web Services (AWS):

https://aws.amazon.com/security/vulnerability-reporting/

Passiamo adesso a come creare un file security.txt.

Struttura del file security.txt

Nella pratica il file security.txt è un documento di testo all’interno del quale sono inclusi diversi campi. Proprio come negli esempi che abbiamo appena visto.

Ogni campo deve essere formato da un nome e un valore.

Il nome è la prima parte del campo ed è seguito dal simbolo dei due punti, ad esempio “Contact:”.

Il valore segue il nome e deve essere indicato con la sintassi corretta. Per esempio “mailto:[email protected]”.

Bisogna indicare ogni campo in una riga separata come in questo esempio:

Contact: mailto:[email protected]
Expires: 2024-12-31T15:00:02z

I campi obbligatori sono due: Contact e Expires. Tutti gli altri campi sono opzionali.

Vediamo ora i singoli campi.

Contact

Il campo Contact è uno dei più importanti del file. Indica il metodo con cui ricercatori di sicurezza possono contattare i proprietari del sito per segnalare le vulnerabilità.

Questo campo deve essere presente in tutti i file security.txt.

Le informazioni di contatto possono essere: indirizzo email, numero di telefono o anche una pagina web con informazioni di contatto o con un modulo di contatto.

È possibile anche inserire più metodi di contatto, in questo caso basta inserirli in ordine di preferenza in modo da inserire per primo il metodo preferenziale. Vediamolo con un esempio:

Contact: mailto:[email protected]

Contact: https://dominio.com/security-contact/

Contact: tel:+39-12345678

Come puoi vedere in questo esempio, email e numeri di telefono dovrebbero essere inseriti con i link mailto e tel.

In linea di massima è comunque preferibile utilizzare un form di contatto invece di inserire l’indirizzo email in chiaro per evitare spam.

Expires

Il campo Expires deve contenere la data “di scadenza” del file security.txt. Possiamo usare questo campo per indicare una data dopo la quale il file non deve essere più considerato attendibile.

Il formato da usare per la data è l’ISO 8601.

Ecco un esempio pratico:

Expires: 2024-12-31T15:00:02z

Encryption

Sebbene il campo Encryption sia opzionale, è consigliabile indicarlo per provare l’autenticità del file.

Nel campo Encryption bisogna inserire il link alla chiave pubblica, in genere OpenPGP, che è stata utilizzata per criptare la comunicazione. È importante inserire solo il link e non la chiave.

Esempio:

Encryption: https://dominio.com/public-key.txt

Canonical

Nel campo Canonical si può indicare l’URI della posizione del file security.txt.

Per esempio:

Canonical: https://dominio.com/.well-known/security.txt

Acknowledgments

Questo campo si può usare per inserire il link di una pagina in cui si ringraziano i ricercatori che hanno contribuito a segnalare vulnerabilità. Per motivi di sicurezza è bene non inserire informazioni riguardo alle vulnerabilità.

Esempio:

Acknowledgments: https://dominio.com/ringraziamenti/

Hiring

Nel campo Hiring si può inserire un link a una pagina in cui si offrono posizioni di lavoro legate alla cybersecurity.

Esempio:

Hiring: https://dominio.com/lavora-con-noi/

Policy

Il campo Policy può essere utilizzato per indicare il link con la policy sulla divulgazione e segnalazione delle vulnerabilità. In questo modo si comunica ai ricercatori il miglior modo per inviare una segnalazione.

Esempio:

Policy: https://dominio.com/vulnerability-disclosure-policy/

Preferred-Languages

Con il campo Preferred-Languages si possono indicare le lingue preferite che i ricercatori potranno usare per inviare i report.

L’ordine in cui vengono inseriti, nel caso in cui ce ne sia più di uno, è irrilevante e non indica la priorità.

Esempio:

Preferred-Languages: en, it

Come inserire i commenti nel file security.txt

Per aggiungere dei commenti all’interno del file security.txt basta iniziare una riga con il simbolo #. Dopo il simbolo # si possono inserire i commenti come in questo esempio:

# Questo è un commento.

Anche negli esempi di file security.txt che abbiamo visto prima c’erano dei commenti.

Firma digitale

Chi crea il file security.txt, può inserire una firma digitale tramite OpenPGP in modo da assicurare che il file sia autentico e non sia stato inserito da un utente malintenzionato.

Come creare il file security.txt

Per creare il file security.txt possiamo creare un semplice file di testo e nominarlo “security.txt”. Il file deve avere queste caratteristiche:

  • type: text/plain
  • default charset: UTF-8.

Il file deve contenere un campo per ogni riga, proprio come negli esempi che abbiamo visto prima.

In alternativa si può anche creare il file attraverso un’interfaccia dal sito ufficiale.

In questo modo possiamo creare passo passo il file con tutti i campi che riteniamo necessari.

Come puoi vedere dal sito, l’interfaccia ti aiuta anche a capire quali sono i campi richiesti e quelli opzionali, oltre a permetterti di inserire più alternative per ogni campo, ad esempio più metodi di contatto.

Esempio Di Compilazione File Security.Txt

Il primo step consiste nell’inserire tutte le informazioni che andranno a costituire i campi del nostro file security.txt.

Dopo aver cliccato sul pulsante “Generate security.txt file” dalla sezione Step 2 potremo copiare il testo da incollare nel nostro file security.txt.

Esempio Di File Security Txt

Dove bisogna inserire il file security.txt?

Questo file andrà caricato nella directory .well-known del nostro sito.

Esempio Di File Security Txt Nella Cartella Well Known

Il percorso completo del file sarà quindi di questo tipo:

https://dominio.com/.well-known/security.txt

In alternativa, nel caso in cui non si possa utilizzare la directory .well-known, si può anche caricare il file direttamente nella root.

Ci basta quindi aprire la cartella .well-known e creare al suo interno un file “security.txt”.

A questo punto possiamo inserire i campi uno per riga oppure incollare i campi che abbiamo generato direttamente dal sito securitytxt.org come abbiamo visto prima.

Conclusioni

Adesso sai come creare un file security.txt per indicare agli esperti di sicurezza un metodo per contattarti e segnalarti le vulnerabilità sul sito.

Come ultimo consiglio ricorda di fare attenzione allo spam. Non è escluso che potresti ricevere email che segnalano vulnerabilità solo per spingerti a richiedere una consulenza.

Avevi già sentito parlare di questo file? Lo utilizzi sul tuo sito? Facci sapere con un commento.


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *