Configurare security.txt per la Conformità CRA: Una Guida da 10 Minuti
Una guida rapida e pratica per implementare security.txt per i tuoi prodotti. Include template, opzioni di hosting e errori comuni da evitare.
In this article
- Sintesi
- Cos'è security.txt?
- Il security.txt Minimo Necessario
- Il security.txt Raccomandato
- Spiegazione Campo per Campo
- Configurazione Passo per Passo
- Per Prodotti Senza Interfacce Web
- Segnalazione di Vulnerabilità di Sicurezza
- Errori Comuni
- Checklist di Validazione
- Calendario di Manutenzione
- Integrazione con la Conformità CRA
- Esempio Completo
- Come CRA Evidence Aiuta
Il CRA richiede un punto di contatto pubblico per le segnalazioni di vulnerabilità. Il modo più semplice per conformarsi? Un file security.txt.
Questa guida da 10 minuti ti porta da zero a conforme.
Sintesi
- security.txt è un file standardizzato (RFC 9116) che indica ai ricercatori come segnalare le vulnerabilità
- Posizionalo a
/.well-known/security.txtsulla tua presenza web - Campi minimi richiesti: Contact, Expires
- Raccomandato: Includere anche Preferred-Languages, Policy, Canonical
- Per prodotti senza interfacce web, includi l'URL nella documentazione
Cos'è security.txt?
security.txt è uno standard RFC (RFC 9116) che fornisce un modo leggibile da macchina e da umano per pubblicare informazioni di contatto sulla sicurezza.
Perché è importante per il CRA:
- Il CRA richiede punti di contatto per la segnalazione delle vulnerabilità
- security.txt è il metodo standard del settore
- Strumenti automatizzati e ricercatori lo verificano
- Mostra ai regolatori che hai implementato canali di divulgazione appropriati
Il security.txt Minimo Necessario
Ecco il file conforme più semplice:
Contact: mailto:security@tuaazienda.com
Expires: 2027-12-31T23:59:59.000Z
Tutto qui. Due righe. Sei tecnicamente conforme.
Ma facciamo meglio.
Il security.txt Raccomandato
Un security.txt completo e professionale:
# Informazioni di Contatto Sicurezza per [La Tua Azienda]
# https://www.tuaazienda.com/.well-known/security.txt
Contact: mailto:security@tuaazienda.com
Contact: https://tuaazienda.com/sicurezza/segnala
Expires: 2027-01-01T00:00:00.000Z
Encryption: https://tuaazienda.com/.well-known/pgp-key.txt
Preferred-Languages: it, en, de
Canonical: https://tuaazienda.com/.well-known/security.txt
Policy: https://tuaazienda.com/sicurezza/politica-divulgazione
Hiring: https://tuaazienda.com/carriere/sicurezza
Acknowledgments: https://tuaazienda.com/sicurezza/ringraziamenti
Spiegazione Campo per Campo
Contact (Obbligatorio)
Come i ricercatori dovrebbero raggiungerti.
Contact: mailto:security@tuaazienda.com
Contact: https://tuaazienda.com/sicurezza/segnala
Buone pratiche:
- Includi sia email CHE modulo web
- Usa un alias di team, non email personale
- I moduli web permettono raccolta strutturata
- Sono permesse più righe Contact
Expires (Obbligatorio)
Quando questo file dovrebbe essere considerato obsoleto.
Expires: 2027-01-01T00:00:00.000Z
Buone pratiche:
- Imposta 6-12 mesi nel futuro
- Usa il formato ISO 8601 con fuso orario
- Metti un promemoria calendario per aggiornare prima della scadenza
- File obsoleti fanno sembrare non mantenuto
Encryption (Raccomandato)
Chiave PGP per segnalazioni crittografate.
Encryption: https://tuaazienda.com/.well-known/pgp-key.txt
Buone pratiche:
- Ospita la tua chiave pubblica all'URL specificato
- Usa una chiave di team, non individuale
- Includi l'impronta della chiave nei commenti
- Mantieni la chiave privata sicura (HSM se possibile)
Preferred-Languages (Raccomandato)
Lingue in cui il tuo team può gestire le segnalazioni.
Preferred-Languages: it, en, de
Buone pratiche:
- Elenca le lingue che il tuo team sicurezza parla davvero
- L'inglese dovrebbe generalmente essere incluso
- Ordina per preferenza
- Non elencare lingue in cui non puoi effettivamente rispondere
Canonical (Raccomandato)
La posizione autorevole di questo file.
Canonical: https://tuaazienda.com/.well-known/security.txt
Perché è importante:
- Previene lo spoofing
- Chiarisce se il file è duplicato
- Aiuta i ricercatori a verificare l'autenticità
Policy (Raccomandato)
Link alla tua politica completa di divulgazione delle vulnerabilità.
Policy: https://tuaazienda.com/sicurezza/politica-divulgazione
Buone pratiche:
- Collega alla tua politica CVD completa
- Assicurati che la pagina esista e sia accessibile
- Mantieni politica e security.txt sincronizzati
Acknowledgments (Opzionale)
Link alla tua Hall of Fame della sicurezza.
Acknowledgments: https://tuaazienda.com/sicurezza/ringraziamenti
Perché includerlo:
- Mostra che apprezzi i ricercatori
- Incoraggia le segnalazioni (il riconoscimento motiva)
- Dimostra un programma di sicurezza maturo
Hiring (Opzionale)
Link alle offerte di lavoro sulla sicurezza.
Hiring: https://tuaazienda.com/carriere/sicurezza
Perché includerlo:
- I ricercatori spesso sono buone assunzioni
- Mostra investimento nella sicurezza
- Benevolenza della comunità
Configurazione Passo per Passo
Passo 1: Crea il File
Crea un file di testo semplice con le tue informazioni:
# Crea il file
cat > security.txt << 'EOF'
# Informazioni di Contatto Sicurezza per TuaAzienda
# Ultimo aggiornamento: 2026-01-15
Contact: mailto:security@tuaazienda.com
Contact: https://tuaazienda.com/sicurezza/segnala
Expires: 2027-01-15T00:00:00.000Z
Preferred-Languages: it, en
Canonical: https://tuaazienda.com/.well-known/security.txt
Policy: https://tuaazienda.com/sicurezza/politica
EOF
Passo 2: Scegli la Posizione di Hosting
Il file deve essere a /.well-known/security.txt
Per i siti web:
https://tuaazienda.com/.well-known/security.txt
Per prodotti con interfacce web:
https://prodotto.local/.well-known/security.txt
https://192.168.1.1/.well-known/security.txt
Passo 3: Configura il Tuo Web Server
Nginx:
location /.well-known/security.txt {
alias /var/www/security.txt;
default_type text/plain;
}
Apache:
Alias /.well-known/security.txt /var/www/security.txt
<Files "security.txt">
ForceType text/plain
</Files>
Express.js:
const express = require('express');
const app = express();
app.get('/.well-known/security.txt', (req, res) => {
res.type('text/plain');
res.sendFile(__dirname + '/security.txt');
});
Hosting statico (S3, GitHub Pages, ecc.):
Posiziona semplicemente il file nella directory .well-known.
Passo 4: Verifica
Controlla che il tuo file sia accessibile:
curl https://tuaazienda.com/.well-known/security.txt
Usa un validatore online:
Passo 5: Firma (Opzionale ma Raccomandato)
Firma digitalmente il tuo security.txt per l'autenticità:
# Firma con GPG
gpg --clearsign security.txt
# Questo crea security.txt.asc
# Rinomina e distribuisci
mv security.txt.asc security.txt
Il file firmato appare così:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Contact: mailto:security@tuaazienda.com
Expires: 2027-01-01T00:00:00.000Z
...
-----BEGIN PGP SIGNATURE-----
[dati firma]
-----END PGP SIGNATURE-----
Per Prodotti Senza Interfacce Web
Non tutti i prodotti hanno server web. Ecco come gestire security.txt:
Dispositivi Embedded
Opzione 1: Se il dispositivo ha qualsiasi interfaccia web (pagina di config, pagina di stato):
- Ospita security.txt su quell'interfaccia
http://ip-dispositivo/.well-known/security.txt
Opzione 2: Se nessuna interfaccia web:
- Includi l'URL nella documentazione del prodotto
- Fai riferimento al tuo security.txt aziendale
- Aggiungi alla Guida Rapida: "Segnala problemi di sicurezza a: https://azienda.com/sicurezza"
Software Desktop
- Includi il contatto sicurezza in Aiuto > Informazioni
- Aggiungi al README/documentazione
- Fai riferimento all'URL security.txt aziendale
App Mobile
- Includi in Impostazioni > Informazioni > Sicurezza
- Collega al security.txt aziendale
- Aggiungi alla descrizione dell'app store
Riferimento Documentazione
Aggiungi alla tua documentazione di prodotto:
## Segnalazione di Vulnerabilità di Sicurezza
Per segnalare vulnerabilità di sicurezza in questo prodotto:
- Email: security@tuaazienda.com
- Web: https://tuaazienda.com/sicurezza/segnala
- Politica: https://tuaazienda.com/sicurezza/politica
Il nostro file security.txt: https://tuaazienda.com/.well-known/security.txt
Errori Comuni
File Scaduto
Problema: La data Expires è nel passato.
Expires: 2024-01-01T00:00:00.000Z # SCADUTO!
Correzione: Imposta una data futura. Aggiungi un promemoria calendario.
Posizione Sbagliata
Problema: File nel percorso sbagliato.
/security.txt # Sbagliato
/security/security.txt # Sbagliato
/.well-known/security.txt # Corretto
Correzione: Usa la posizione standard.
Formato Invalido
Problema: Formato data sbagliato, campi mancanti.
Expires: 1 gennaio 2027 # Formato sbagliato
Contact: team sicurezza # Non è un URI valido
Correzione: Usa date ISO 8601, URI mailto: o https:.
Link Morti
Problema: Gli URL Policy o Acknowledgments restituiscono 404.
Correzione: Verifica che tutti i link funzionino. Controlla dopo i deploy.
Email Personale
Problema: Usare l'email di un individuo invece di un alias di team.
Contact: mailto:mario.rossi@tuaazienda.com # Sbagliato
Correzione: Usa un alias di team che sopravviva ai cambi di personale.
Niente HTTPS
Problema: Usare HTTP invece di HTTPS per i link Canonical/Policy.
Correzione: Usa sempre HTTPS per URL relativi alla sicurezza.
Checklist di Validazione
CHECKLIST DI VALIDAZIONE SECURITY.TXT
CAMPI OBBLIGATORI:
[ ] Campo Contact presente (mailto: o https:)
[ ] Campo Expires presente (data futura, ISO 8601)
CAMPI RACCOMANDATI:
[ ] Preferred-Languages incluso
[ ] URL Canonical corrisponde alla posizione effettiva
[ ] Link Policy funziona e punta alla politica CVD
[ ] Link chiave Encryption funziona (se incluso)
HOSTING:
[ ] File a /.well-known/security.txt
[ ] Accessibile via HTTPS
[ ] Content-Type: text/plain
[ ] Nessuna autenticazione richiesta
VERIFICA:
[ ] Test curl riuscito
[ ] Validatore online passa
[ ] Tutti i link risolvono (niente 404)
[ ] Firma PGP valida (se firmato)
MANUTENZIONE:
[ ] Promemoria calendario impostato prima della data Expires
[ ] Processo di aggiornamento documentato
[ ] Monitoraggio dell'accessibilità
Calendario di Manutenzione
| Compito | Frequenza |
|---|---|
| Controllare data di scadenza | Mensile |
| Verificare che i link funzionino | Mensile |
| Aggiornare chiave PGP (se in scadenza) | Se necessario |
| Rivedere indirizzi di contatto | Trimestrale |
| Verifica completa di validazione | Prima della scadenza |
Integrazione con la Conformità CRA
Il tuo security.txt supporta la conformità CRA:
- Fornendo un contatto scopribile: Regolatori e ricercatori possono trovarti
- Dimostrando un processo: Mostra che hai la gestione delle vulnerabilità
- Abilitando CVD: Collega alla tua politica di divulgazione
- Supportando la documentazione: Riferimento nel fascicolo tecnico
Includi nella tua documentazione tecnica:
Punti di Contatto per Segnalazione Vulnerabilità:
- security.txt: https://azienda.com/.well-known/security.txt
- Email: security@azienda.com
- Modulo Web: https://azienda.com/sicurezza/segnala
- Politica: https://azienda.com/sicurezza/politica
Esempio Completo
Ecco un security.txt pronto per la produzione:
# ============================================================
# SECURITY.TXT per AcmeTech Products
# https://acmetech.eu/.well-known/security.txt
# ============================================================
#
# Se hai trovato una vulnerabilità di sicurezza in qualsiasi
# prodotto AcmeTech, segnalala usando i metodi di contatto
# qui sotto.
#
# Apprezziamo la divulgazione responsabile e riconosceremo
# il tuo contributo se desiderato.
#
# ============================================================
# Metodi di contatto principali (ordine di preferenza)
Contact: https://acmetech.eu/security/report
Contact: mailto:security@acmetech.eu
# Questo file scade (aggiornare prima di questa data)
Expires: 2027-06-01T00:00:00.000Z
# Per comunicazioni crittografate
Encryption: https://acmetech.eu/.well-known/pgp-key.txt
# Lingue gestite dal nostro team sicurezza
Preferred-Languages: en, de, it
# Posizione autorevole di questo file
Canonical: https://acmetech.eu/.well-known/security.txt
# La nostra politica di divulgazione delle vulnerabilità
Policy: https://acmetech.eu/security/disclosure-policy
# Ricercatori di sicurezza che ci hanno aiutato
Acknowledgments: https://acmetech.eu/security/hall-of-fame
# Unisciti al nostro team sicurezza
Hiring: https://acmetech.eu/careers#security
# ============================================================
# Ultimo aggiornamento: 2026-01-15
# Contatta security@acmetech.eu per domande su questo file
# ============================================================
Suggerimento: La configurazione di security.txt richiede 10 minuti e soddisfa un requisito chiave del CRA per il contatto pubblicato per le vulnerabilità. Fallo oggi.
Importante: Il tuo security.txt deve includere un metodo di contatto, una lingua preferita e una data di scadenza. Deve trovarsi su /.well-known/security.txt nel tuo dominio.
Guide Correlate
- Divulgazione Coordinata delle Vulnerabilità sotto il CRA: Modello di Policy
- Segnalazione Vulnerabilità all'ENISA: Il Requisito delle 24 Ore
- Guida al Fascicolo Tecnico CRA (Allegato VII)
Come CRA Evidence Aiuta
CRA Evidence può:
- Generare security.txt: Pre-compilato con i dettagli della tua organizzazione
- Monitorare la scadenza: Avvisare prima che il tuo file scada
- Validare il formato: Controllare errori comuni
- Tracciare gli aggiornamenti: Audit trail delle modifiche
Configura il tuo security.txt con app.craevidence.com.
Questo articolo è solo a scopo informativo e non costituisce consulenza legale. Per indicazioni specifiche sulla conformità, consultare un consulente legale qualificato.
Argomenti trattati in questo articolo
Articoli correlati
Le telecamere intelligenti sono Prodotti Importanti ai...
Le telecamere di sicurezza connesse sono classificate come Prodotti...
11 minCybersecurity Act 2 dell'UE: Divieti sulla Supply Chain,...
Il 20 gennaio 2026, l'UE ha proposto di sostituire interamente il...
11 minClassificazione dei prodotti CRA: Il vostro prodotto è...
Guida pratica per determinare la categoria CRA del vostro prodotto. Include...
6 minDoes the CRA apply to your product?
Rispondi a 6 semplici domande per scoprire se il tuo prodotto rientra nell’ambito del Cyber Resilience Act dell’UE. Ottieni il risultato in meno di 2 minuti.
Pronto a raggiungere la conformità CRA?
Inizia a gestire i tuoi SBOM e la documentazione di conformità con CRA Evidence.