Inserire un file security.txt sul Suo sito web
Se qualcuno trova una falla di sicurezza nel Suo sito web, ad esempio una cartella aperta o un plugin obsoleto, è nel Suo interesse che questa persona possa avvisarLa. A questo serve security.txt: un piccolo file di testo, in una posizione fissa del Suo sito web, con l'indirizzo a cui inviare queste segnalazioni. È definito nello standard Internet RFC 9116. Qui scoprirà cosa contiene e come pubblicarlo.
La posizione
Il file si trova in https://example.com/.well-known/security.txt. La vecchia posizione /security.txt nella cartella principale è consentita in aggiunta, ma se il file è presente in entrambe le posizioni vale quello in /.well-known/. Deve essere raggiungibile tramite https e inviato come testo semplice (text/plain).
Il file vale solo per il nome su cui si trova. Un security.txt su example.com, quindi, non vale automaticamente per shop.example.com. Se un sottodominio ha un proprio sito web, pubblichi un security.txt anche lì.
Cosa contiene
Contact: mailto:security@example.com Expires: 2027-10-31T23:00:00Z Preferred-Languages: nl, en Canonical: https://example.com/.well-known/security.txt
| Campo | Obbligatorio? | Significato |
|---|---|---|
Contact | Sì | Dove vengono inviate le segnalazioni: un indirizzo mailto:, un numero tel: o una pagina web che inizia con https://. Può indicarne più di uno, uno sotto l'altro: il primo è quello preferito. |
Expires | Sì, esattamente una volta | La data e l'ora dopo le quali il file è considerato obsoleto, ad esempio 2027-10-31T23:00:00Z. Lo standard consiglia una data a meno di un anno di distanza. |
Preferred-Languages | No | Le lingue in cui desidera ricevere le segnalazioni. |
Canonical | No | L'indirizzo del file stesso. |
Policy | No | Un link a una pagina con la Sua politica sulle segnalazioni: cosa fa con una segnalazione e cosa chiede a chi la invia. |
Encryption | No | Un link alla Sua chiave pubblica, se chi segnala può inviarLe e-mail cifrate. |
Per Contact utilizzi un indirizzo che qualcuno legge davvero. Una casella di posta dimenticata è peggio di nessun security.txt: chi segnala crede che Lei sia stato avvisato. La firma digitale (OpenPGP) è consentita, ma non obbligatoria.
Pubblicarlo sul Suo pacchetto di hosting
- In DirectAdmin apra il File Manager e vada a
domains/example.com/public_html. Consulti Aprire il File Manager: le cartelle del Suo pacchetto. - Se la cartella
.well-knownnon esiste ancora, la crei. Le cartelle che iniziano con un punto sono visibili solo se mostra i file nascosti: consulti Mostrare e modificare file nascosti come .htaccess. - In quella cartella crei un nuovo file
security.txt, incolli le Sue righe e salvi. - Apra
https://example.com/.well-known/security.txtnel Suo browser. Dovrebbe vedere il Suo testo.
Se utilizza WordPress o un altro CMS, non cambia nulla: un file che esiste davvero viene semplicemente inviato dal server web.
Pubblicarlo su un VPS
Su un VPS il file va nella cartella web del Suo sito, ad esempio /var/www/example.com/.well-known/security.txt. Faccia attenzione a due cose:
- Se in nginx blocca tutti i percorsi che iniziano con un punto, aggiunga prima un'eccezione per
/.well-known/. - Se un'applicazione funziona dietro un reverse proxy, faccia puntare il percorso al file in Caddy o nginx.
Consulti Caddy: un sito web con https automatico e nginx con un certificato di Let's Encrypt.
Verificare
Controlli le intestazioni con:
curl -sI https://example.com/.well-known/security.txt
Lo stato deve essere 200 e il tipo text/plain. Un errore frequente: un sito che risponde a ogni indirizzo sconosciuto con la home page. In quel caso il file sembra esistere, ma viene restituito HTML. Controlli quindi anche il contenuto. Anche il test dei siti web di internet.nl verifica security.txt.
Aggiornarlo ogni anno
Imposti nella Sua agenda un promemoria con largo anticipo rispetto alla data indicata in Expires. A quel punto verifichi che l'indirizzo di contatto sia ancora corretto e sposti in avanti la data. Se nel frattempo cambia qualcosa, ad esempio un nuovo indirizzo o una persona che lascia l'azienda, aggiorni subito il file.
Per saperne di più
- RFC 9116: A File Format to Aid in Security Vulnerability Disclosure (in inglese)
- securitytxt.org, con uno strumento per creare il file (in inglese)
Desidera approfondire? Segua il corso gratuito VPS e gestione di server Linux, lezione 7.4 Caddy, HSTS e security.txt o lezione 10.4 Verifica finale: il Suo server sotto esame.
