security.txt instellen voor CRA-naleving: Een 10-minutengids

Een snelle, praktische gids voor het implementeren van security.txt voor uw producten. Inclusief sjablonen, hostingopties en veelgemaakte fouten om te vermijden.

CRA Evidence Team Gepubliceerd 6 februari 2026 Bijgewerkt 6 april 2026
security.txt instellen voor CRA-naleving: Een 10-minutengids
In dit artikel

Onder de CRA moeten fabrikanten een openbaar bereikbare manier bieden voor onderzoekers en klanten om kwetsbaarheden te melden. De standaard daarvoor is RFC 9116: een tekstbestand genaamd security.txt, gehost op /.well-known/security.txt. Twee verplichte velden, een handvol aanbevolen velden en ongeveer 10 minuten werk.

Deze gids behandelt de velden, de hosting, de veelgemaakte fouten en wat u in uw technisch dossier moet vermelden.

Samenvatting

  • security.txt is een gestandaardiseerd bestand (RFC 9116) dat onderzoekers vertelt hoe ze kwetsbaarheden kunnen melden
  • Plaats het op /.well-known/security.txt van uw webpresence
  • Minimaal vereiste velden: Contact, Expires
  • Aanbevolen: ook Preferred-Languages, Policy en Canonical opnemen
  • Voor producten zonder webinterface: vermeld de URL in de documentatie

Wat is security.txt?

security.txt is een RFC-norm (RFC 9116) die op een machineleesbare en voor mensen leesbare manier beveiligingscontactinformatie publiceert.

De CRA vereist dat fabrikanten een contactpunt voor kwetsbaarheidsmelding publiceren. security.txt is de industriestandaard daarvoor. Geautomatiseerde scanhulpmiddelen en beveiligingsonderzoekers controleren er standaard op, en een werkend bestand geeft toezichthouders een concreet signaal dat u de juiste onthullingskanalen hebt ingericht.

De minimaal haalbare security.txt

Het eenvoudigste conforme bestand:

Contact: mailto:security@yourcompany.com
Expires: 2027-12-31T23:59:59.000Z

Dat is alles. Twee regels. Technisch compliant.

Maar laten we het beter doen.

De aanbevolen security.txt

Een complete security.txt:

Contact: mailto:security@yourcompany.com
Contact: https://yourcompany.com/security/report
Expires: 2027-01-01T00:00:00.000Z
Encryption: https://yourcompany.com/.well-known/pgp-key.txt
Preferred-Languages: en, de, fr
Canonical: https://yourcompany.com/.well-known/security.txt
Policy: https://yourcompany.com/security/disclosure-policy
Hiring: https://yourcompany.com/careers/security
Acknowledgments: https://yourcompany.com/security/thanks

Toelichting per veld

Contact (Verplicht)

Hoe onderzoekers u kunnen bereiken.

Contact: mailto:security@yourcompany.com
Contact: https://yourcompany.com/security/report

Gebruik een teamalias, geen persoonlijk e-mailadres. Neem zowel een e-mailadres als een webformulier op als u dat hebt. Meerdere Contact-regels zijn toegestaan en het formulier biedt gestructureerde intake.

Expires (Verplicht)

Expires: 2027-01-01T00:00:00.000Z

Stel dit 6 tot 12 maanden in de toekomst in, in ISO 8601-formaat met tijdzone. Zet een agenda-herinnering in voordat de datum verstrijkt. Een verlopen bestand geeft onderzoekers het signaal dat u het niet bijhoudt.

Encryption (Aanbevolen)

Encryption: https://yourcompany.com/.well-known/pgp-key.txt

Gebruik een teamsleutel in plaats van een individuele sleutel, en bewaar de privésleutel bij voorkeur in een HSM. Neem de vingerafdruk op in commentaar zodat onderzoekers deze buiten de band kunnen verifiëren.

Preferred-Languages (Aanbevolen)

Preferred-Languages: en, de, fr

Vermeld alleen talen waarin uw beveiligingsteam daadwerkelijk kan reageren, op volgorde van voorkeur. Als u Duits vermeldt maar niemand in het team leest Duits, ontvangt u meldingen die u niet kunt beoordelen.

Canonical (Aanbevolen)

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

Voorkomt vervalsing en verduidelijkt of het bestand gespiegeld is. Onderzoekers kunnen de canonical URL vergelijken met wat zij hebben opgehaald om echtheid te bevestigen.

Policy (Aanbevolen)

Policy: https://yourcompany.com/security/disclosure-policy

Zorg dat de pagina bestaat en zonder authenticatie laadt. Een dode Policy-link tijdens een beveiligingsbeoordeling maakt geen goede indruk.

Acknowledgments (Optioneel)

Acknowledgments: https://yourcompany.com/security/thanks

Onderzoekers die bugs vinden zijn vaak goede kandidaten voor uw beveiligingsteam. Erkenning stimuleert bovendien meer meldingen. De meeste onderzoekers geven voorrang aan organisaties die hun werk waarderen.

Hiring (Optioneel)

Hiring: https://yourcompany.com/careers/security

De moeite waard om op te nemen als u open beveiligingsfuncties hebt. Onderzoekers die actief naar werk zoeken, bekijken deze links.

Stap-voor-stap instelling

Stap 1: Het bestand aanmaken

cat > security.txt << 'EOF'
Contact: mailto:security@yourcompany.com
Contact: https://yourcompany.com/security/report
Expires: 2027-01-15T00:00:00.000Z
Preferred-Languages: en
Canonical: https://yourcompany.com/.well-known/security.txt
Policy: https://yourcompany.com/security/policy
EOF

Stap 2: Hostinglocatie kiezen

https://yourcompany.com/.well-known/security.txt
https://192.168.1.1/.well-known/security.txt

Stap 3: Uw webserver configureren

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:

app.get('/.well-known/security.txt', (req, res) => {
    res.type('text/plain');
    res.sendFile(__dirname + '/security.txt');
});

Statische hosting: Plaats het bestand gewoon in de map .well-known.

Stap 4: Verifiëren

curl https://yourcompany.com/.well-known/security.txt

Online validator: https://securitytxt.org/

Stap 5: Ondertekenen (optioneel maar aanbevolen)

gpg --clearsign security.txt
mv security.txt.asc security.txt

Voor producten zonder webinterface

Embedded apparaten

Optie 1: Host op http://device-ip/.well-known/security.txt Optie 2: Vermeld de URL in de productdocumentatie, verwijs naar de corporate security.txt.

Desktopsoftware

  • Beveiligingscontact opnemen in Help > Over
  • Toevoegen aan README/documentatie

Mobiele apps

  • Opnemen in app-instellingen > Over > Beveiliging
  • Toevoegen aan de app store-beschrijving

Verwijzing in documentatie

## Melden van beveiligingskwetsbaarheden
- E-mail: security@yourcompany.com
- Web: https://yourcompany.com/security/report
- Beleid: https://yourcompany.com/security/policy
Ons security.txt-bestand: https://yourcompany.com/.well-known/security.txt

Veelgemaakte fouten

Verlopen bestand

Expires: 2024-01-01T00:00:00.000Z  # VERLOPEN!

Oplossing: Stel een toekomstige datum in. Zet een agenda-herinnering.

Verkeerde locatie

/security.txt           # Fout
/.well-known/security.txt  # Correct

Ongeldig formaat

Oplossing: Gebruik ISO 8601-datums en mailto:- of https:-URI's.

Dode links

Oplossing: Verifieer dat alle links werken. Controleer na deployments.

Persoonlijk e-mailadres

Contact: mailto:john.smith@yourcompany.com  # Slecht

Oplossing: Gebruik een teamalias.

Geen HTTPS

Oplossing: Gebruik altijd HTTPS voor beveiligingsgerelateerde URL's.

Validatiechecklist

VALIDATIECHECKLIST SECURITY.TXT

VERPLICHTE VELDEN:
[ ] Contact-veld aanwezig (mailto: of https:)
[ ] Expires-veld aanwezig (toekomstige datum, ISO 8601)

AANBEVOLEN VELDEN:
[ ] Preferred-Languages opgenomen
[ ] Canonical-URL komt overeen met werkelijke locatie
[ ] Policy-link werkt en verwijst naar CVD-beleid

HOSTING:
[ ] Bestand op /.well-known/security.txt
[ ] Toegankelijk via HTTPS
[ ] Content-Type: text/plain

VERIFICATIE:
[ ] curl-test geslaagd
[ ] Online validator geslaagd
[ ] Alle links werken (geen 404's)

ONDERHOUD:
[ ] Agenda-herinnering ingesteld vóór vervaldatum
[ ] Updateproces gedocumenteerd

Onderhoudsschema

Taak Frequentie
Vervaldatum controleren Maandelijks
Controleren of links werken Maandelijks
PGP-sleutel bijwerken (indien verlopen) Indien nodig
Contactadressen beoordelen Per kwartaal
Volledige validatiecontrole Vóór vervaldatum

Wat in uw technisch dossier moet staan

De CRA vereist dat fabrikanten een technisch dossier (Annex VII) bijhouden dat hun kwetsbaarheidsafhandelingsproces documenteert. Uw security.txt-bestand en het CVD-beleid waarnaar het verwijst, zijn directe invoer voor die documentatie.

Concreet moet uw technisch dossier het volgende vermelden:

  • De security.txt-URL en welke contactmethoden die blootstelt
  • De URL van het onthullingsbeleid waarnaar het verwijst
  • De responstijden die u in dat beleid heeft toegezegd

Toezichthouders die uw technisch dossier beoordelen, zoeken naar bewijs dat er een werkend kwetsbaarheidsintakeproces bestaat. Een live, niet-verlopen security.txt met een werkende Policy-link is een concreet signaal. Een verlopen bestand of dode links werken in uw nadeel.

Contactpunten voor kwetsbaarheidsmelding:
- security.txt: https://company.com/.well-known/security.txt
- E-mail: security@company.com
- Webformulier: https://company.com/security/report
- Beleid: https://company.com/security/policy

Compleet voorbeeld

Contact: https://acmetech.eu/security/report
Contact: mailto:security@acmetech.eu
Expires: 2027-06-01T00:00:00.000Z
Preferred-Languages: en, de, es
Canonical: https://acmetech.eu/.well-known/security.txt
Policy: https://acmetech.eu/security/disclosure-policy
Acknowledgments: https://acmetech.eu/security/hall-of-fame
Hiring: https://acmetech.eu/careers#security

Tip: Het instellen van security.txt kost 10 minuten en voldoet aan een kernvereiste van de CRA voor gepubliceerde kwetsbaarheidscontacten. Doe het vandaag.

Belangrijk: Uw security.txt moet een contactmethode, een voorkeurstaal en een vervaldatum bevatten. Het bestand hoort op /.well-known/security.txt van uw domein te staan.

Hoe CRA Evidence helpt

security.txt is één onderdeel van het kwetsbaarheidsafhandelingsplaatje. Het moeilijkere deel is het volledige proces erachter: beleid, triagetermijnen, ENISA-rapportage en dat alles documenteren in uw technisch dossier. Daar is CRA Evidence voor.

Begin op craevidence.com.


Dit artikel is uitsluitend bedoeld ter informatie en vormt geen juridisch advies. Raadpleeg voor specifieke compliancebegeleiding een gekwalificeerde juridisch adviseur.

CRA Kwetsbaarheidsbeheer Beveiligingsstandaarden
Share

Is de CRA van toepassing op uw product?

Beantwoord 6 eenvoudige vragen om te ontdekken of uw product onder de EU Cyber Resilience Act valt. Ontvang uw resultaat in minder dan 2 minuten.

Klaar om CRA-conformiteit te bereiken?

Begin met het beheren van uw SBOMs en compliance-documentatie met CRA Evidence.