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.

Team CRA Evidence
Autore
6 febbraio 2026
Aggiornato 25 febbraio 2026 00:00:00 UTC
9 min di lettura
Configurare security.txt per la Conformità CRA: Una Guida da 10 Minuti
In this article

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.txt sulla 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:

  1. Fornendo un contatto scopribile: Regolatori e ricercatori possono trovarti
  2. Dimostrando un processo: Mostra che hai la gestione delle vulnerabilità
  3. Abilitando CVD: Collega alla tua politica di divulgazione
  4. 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

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.

Condividi questo articolo

Articoli correlati

Does 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.