security.txt instellen voor CRA-compliance: een gids van 10 minuten
Een snelle, praktische gids voor het implementeren van security.txt voor uw producten. Inclusief sjablonen, hostingopties en veelgemaakte fouten om te vermijden.
In this article
- Samenvatting
- Wat is security.txt?
- De minimaal-haalbare security.txt
- De aanbevolen security.txt
- Veldomschrijving per veld
- Stap-voor-stap instelling
- Voor producten zonder webinterface
- Melden van beveiligingskwetsbaarheden
- Veelgemaakte fouten
- Validatiechecklist
- Onderhoudsschema
- Integratie met CRA-compliance
- Compleet voorbeeld
- Hoe CRA Evidence helpt
De CRA vereist een openbaar beschikbaar contactpunt voor kwetsbaarheidsrapportages. De eenvoudigste manier om hieraan te voldoen? Een security.txt-bestand.
Deze gids van 10 minuten brengt u van nul naar compliant.
Samenvatting
- security.txt is een gestandaardiseerd bestand (RFC 9116) dat onderzoekers vertelt hoe ze kwetsbaarheden kunnen melden
- Plaatsen op
/.well-known/security.txtvan uw webpresence - Minimaal vereiste velden: Contact, Expires
- Aanbevolen: ook Preferred-Languages, Policy, 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 én voor mensen leesbare manier beveiligingscontactinformatie publiceert.
Waarom het belangrijk is voor de CRA:
- De CRA vereist contactpunten voor kwetsbaarheidsmelding
- security.txt is de industriestandaard methode
- Geautomatiseerde tools en onderzoekers controleren hierop
- Toont toezichthouders dat u correcte onthullingskanalen heeft geïmplementeerd
De minimaal-haalbare security.txt
Dit is het eenvoudigste conforme bestand:
Contact: mailto:security@uwbedrijf.nl
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, professionele security.txt:
# Beveiligingscontactinformatie voor [Uw Bedrijf]
# https://www.uwbedrijf.nl/.well-known/security.txt
Contact: mailto:security@uwbedrijf.nl
Contact: https://uwbedrijf.nl/security/melden
Expires: 2027-01-01T00:00:00.000Z
Encryption: https://uwbedrijf.nl/.well-known/pgp-sleutel.txt
Preferred-Languages: nl, en, de
Canonical: https://uwbedrijf.nl/.well-known/security.txt
Policy: https://uwbedrijf.nl/security/beleid
Hiring: https://uwbedrijf.nl/vacatures/security
Acknowledgments: https://uwbedrijf.nl/security/dank
Veldomschrijving per veld
Contact (Verplicht)
Hoe onderzoekers u kunnen bereiken.
Contact: mailto:security@uwbedrijf.nl
Contact: https://uwbedrijf.nl/security/melden
Best practices:
- Zowel e-mail ALS webformulier opnemen
- Gebruik een teamalias, geen persoonlijke e-mail
- Webformulieren bieden gestructureerde intake
- Meerdere Contact-regels zijn toegestaan
Expires (Verplicht)
Wanneer dit bestand als verouderd moet worden beschouwd.
Expires: 2027-01-01T00:00:00.000Z
Best practices:
- 6-12 maanden in de toekomst instellen
- ISO 8601-formaat met tijdzone gebruiken
- Agenda-herinnering instellen om vóór vervaldatum bij te werken
- Verlopen bestanden wekken de indruk van slecht onderhoud
Encryption (Aanbevolen)
PGP-sleutel voor versleutelde rapportages.
Encryption: https://uwbedrijf.nl/.well-known/pgp-sleutel.txt
Best practices:
- Host uw publieke sleutel op de opgegeven URL
- Gebruik een teamsleutel, geen individuele sleutel
- Neem sleutelvingerafdruk op in commentaar
- Bewaar privésleutel veilig (HSM indien mogelijk)
Preferred-Languages (Aanbevolen)
Talen waarin uw team rapportages kan verwerken.
Preferred-Languages: nl, en, de
Best practices:
- Vermeld talen die uw beveiligingsteam daadwerkelijk spreekt
- Engels moet doorgaans zijn opgenomen
- Volgorde op basis van voorkeur
- Vermeld geen talen waarin u niet kunt reageren
Canonical (Aanbevolen)
De gezaghebbende locatie van dit bestand.
Canonical: https://uwbedrijf.nl/.well-known/security.txt
Waarom het belangrijk is:
- Voorkomt namaak
- Verduidelijkt of bestand gespiegeld is
- Helpt onderzoekers echtheid te verifiëren
Policy (Aanbevolen)
Link naar uw volledige kwetsbaarheidsonthullingsbeleid.
Policy: https://uwbedrijf.nl/security/beleid
Best practices:
- Link naar uw volledige CVD-beleid
- Zorg dat de pagina bestaat en toegankelijk is
- Houd beleid en security.txt synchroon
Acknowledgments (Optioneel)
Link naar uw beveiligings-Hall of Fame.
Acknowledgments: https://uwbedrijf.nl/security/dank
Waarom opnemen:
- Toont dat u onderzoekers waardeert
- Stimuleert rapportages (erkenning is motiverend)
- Toont een volwassen beveiligingsprogramma
Hiring (Optioneel)
Link naar beveiligingsvacatures.
Hiring: https://uwbedrijf.nl/vacatures/security
Waarom opnemen:
- Onderzoekers zijn vaak goede aanwinsten
- Toont investering in beveiliging
- Goodwill in de community
Stap-voor-stap instelling
Stap 1: Het bestand aanmaken
Maak een tekstbestand aan met uw informatie:
# Bestand aanmaken
cat > security.txt << 'EOF'
# Beveiligingscontactinformatie voor UwBedrijf
# Laatste update: 2026-01-15
Contact: mailto:security@uwbedrijf.nl
Contact: https://uwbedrijf.nl/security/melden
Expires: 2027-01-15T00:00:00.000Z
Preferred-Languages: nl, en
Canonical: https://uwbedrijf.nl/.well-known/security.txt
Policy: https://uwbedrijf.nl/security/beleid
EOF
Stap 2: Hostinglocatie kiezen
Het bestand moet op /.well-known/security.txt staan
Voor websites:
https://uwbedrijf.nl/.well-known/security.txt
Voor producten met webinterfaces:
https://product.local/.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:
const express = require('express');
const app = express();
app.get('/.well-known/security.txt', (req, res) => {
res.type('text/plain');
res.sendFile(__dirname + '/security.txt');
});
Statische hosting (S3, GitHub Pages, etc.):
Plaats het bestand gewoon in de map .well-known.
Stap 4: Verifiëren
Controleer of uw bestand toegankelijk is:
curl https://uwbedrijf.nl/.well-known/security.txt
Gebruik een online validator:
Stap 5: Ondertekenen (optioneel maar aanbevolen)
Onderteken uw security.txt digitaal voor authenticiteit:
# Ondertekenen met GPG
gpg --clearsign security.txt
# Dit maakt security.txt.asc aan
# Hernoem en deploy
mv security.txt.asc security.txt
Ondertekend bestand ziet er als volgt uit:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Contact: mailto:security@uwbedrijf.nl
Expires: 2027-01-01T00:00:00.000Z
...
-----BEGIN PGP SIGNATURE-----
[handtekeningdata]
-----END PGP SIGNATURE-----
Voor producten zonder webinterface
Niet alle producten hebben webservers. Zo gaat u om met security.txt:
Embedded apparaten
Optie 1: Als het apparaat een webinterface heeft (configuratiepagina, statuspagina):
- Host security.txt op die interface
http://apparaat-ip/.well-known/security.txt
Optie 2: Als er geen webinterface is:
- Vermeld de URL in de productdocumentatie
- Verwijs naar uw corporate security.txt
- Voeg toe aan de Snelstartgids: "Meld beveiligingsproblemen op: https://bedrijf.nl/security"
Desktopsoftware
- Beveiligingscontact opnemen in Help > Over
- Toevoegen aan README/documentatie
- Verwijzen naar corporate security.txt URL
Mobiele apps
- Opnemen in app-instellingen > Over > Beveiliging
- Link naar corporate security.txt
- Toevoegen aan app store-beschrijving
Verwijzing in documentatie
Voeg toe aan uw productdocumentatie:
## Melden van beveiligingskwetsbaarheden
Om beveiligingskwetsbaarheden in dit product te melden:
- E-mail: security@uwbedrijf.nl
- Web: https://uwbedrijf.nl/security/melden
- Beleid: https://uwbedrijf.nl/security/beleid
Ons security.txt-bestand: https://uwbedrijf.nl/.well-known/security.txt
Veelgemaakte fouten
Verlopen bestand
Probleem: Vervaldatum ligt in het verleden.
Expires: 2024-01-01T00:00:00.000Z # VERLOPEN!
Oplossing: Stel een toekomstige datum in. Agenda-herinnering instellen.
Verkeerde locatie
Probleem: Bestand op verkeerd pad.
/security.txt # Fout
/security/security.txt # Fout
/.well-known/security.txt # Correct
Oplossing: Gebruik de standaardlocatie.
Ongeldig formaat
Probleem: Verkeerd datumformaat, ontbrekende velden.
Expires: 1 januari 2027 # Verkeerd formaat
Contact: beveiligingsteam # Geen geldige URI
Oplossing: ISO 8601-datums gebruiken, mailto:- of https:-URI's.
Dode links
Probleem: URL's voor Policy of Acknowledgments geven 404 terug.
Oplossing: Verifieer dat alle links werken. Controleer na deployments.
Persoonlijke e-mail
Probleem: Gebruik van persoonlijk e-mailadres in plaats van teamalias.
Contact: mailto:jan.jansen@uwbedrijf.nl # Slecht
Oplossing: Gebruik teamalias die personeelswijzigingen overleeft.
Geen HTTPS
Probleem: HTTP gebruiken in plaats van HTTPS voor Canonical/Policy-links.
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
[ ] Link encryptiesleutel werkt (indien opgenomen)
HOSTING:
[ ] Bestand op /.well-known/security.txt
[ ] Toegankelijk via HTTPS
[ ] Content-Type: text/plain
[ ] Geen authenticatie vereist
VERIFICATIE:
[ ] curl-test geslaagd
[ ] Online validator geslaagd
[ ] Alle links werken (geen 404's)
[ ] PGP-handtekening geldig (indien ondertekend)
ONDERHOUD:
[ ] Agenda-herinnering ingesteld vóór vervaldatum
[ ] Updateproces gedocumenteerd
[ ] Toegankelijkheidsmonitoring
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 |
Integratie met CRA-compliance
Uw security.txt ondersteunt CRA-compliance door:
- Ontdekbaar contactpunt bieden: Toezichthouders en onderzoekers kunnen u vinden
- Proces aantonen: Toont dat u kwetsbaarheidsafhandeling heeft
- CVD inschakelen: Links naar uw onthullingsbeleid
- Documentatie ondersteunen: Verwijzen in technisch dossier
Opnemen in uw technische documentatie:
Contactpunten voor kwetsbaarheidsmelding:
- security.txt: https://bedrijf.nl/.well-known/security.txt
- E-mail: security@bedrijf.nl
- Webformulier: https://bedrijf.nl/security/melden
- Beleid: https://bedrijf.nl/security/beleid
Compleet voorbeeld
Dit is een productieklare security.txt:
# ============================================================
# SECURITY.TXT voor AcmeTech Producten
# https://acmetech.eu/.well-known/security.txt
# ============================================================
#
# Als u een beveiligingskwetsbaarheid heeft gevonden in een
# AcmeTech-product, meld dit dan via onderstaande methoden.
#
# Wij waarderen verantwoorde onthulling en erkennen
# uw bijdrage indien gewenst.
#
# ============================================================
# Primaire contactmethoden (voorkeursvolgorde)
Contact: https://acmetech.eu/security/melden
Contact: mailto:security@acmetech.eu
# Dit bestand verloopt (bijwerken vóór deze datum)
Expires: 2027-06-01T00:00:00.000Z
# Voor versleutelde communicatie
Encryption: https://acmetech.eu/.well-known/pgp-sleutel.txt
# Talen die ons beveiligingsteam verwerkt
Preferred-Languages: nl, en, de
# Gezaghebbende locatie van dit bestand
Canonical: https://acmetech.eu/.well-known/security.txt
# Ons kwetsbaarheidsonthullingsbeleid
Policy: https://acmetech.eu/security/onthullingsbeleid
# Beveiligingsonderzoekers die ons hebben geholpen
Acknowledgments: https://acmetech.eu/security/hall-of-fame
# Word lid van ons beveiligingsteam
Hiring: https://acmetech.eu/vacatures#security
# ============================================================
# Laatste update: 2026-01-15
# Neem contact op met security@acmetech.eu voor vragen
# ============================================================
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 moet op /.well-known/security.txt van uw domein staan.
Gerelateerde gidsen
- Gecoördineerde kwetsbaarheidsonthulling onder de CRA: beleidssjabloon en instelling
- ENISA-kwetsbaarheidsmelding: de 24-uurseis
- CRA technisch dossier (Bijlage VII) gids
Hoe CRA Evidence helpt
CRA Evidence kan:
- security.txt genereren: Vooraf ingevuld met uw organisatiegegevens
- Vervaldatum bewaken: Waarschuwing vóór vervallen van uw bestand
- Formaat valideren: Controleren op veelgemaakte fouten
- Updates bijhouden: Auditspoor van wijzigingen
Stel uw security.txt in via app.craevidence.com.
Dit artikel is uitsluitend bedoeld ter informatie en vormt geen juridisch advies. Raadpleeg voor specifieke compliancebegeleiding een gekwalificeerde juridisch adviseur.
In diesem Artikel behandelte Themen
Gerelateerde artikelen
Hoe een Firmware SBOM te Genereren: Open Source Tools en...
Stap-voor-stap handleiding voor het genereren van een Software Bill of...
10 Min.De CRA krijgt zijn instructiehandleiding: wat de...
De Europese Commissie heeft ontwerpleidraad gepubliceerd voor de Cyber...
9 Min.Zijn slimme camera's Belangrijke producten onder de EU...
Slimme beveiligingscamera's zijn geclassificeerd als Belangrijke producten...
9 Min.Does the CRA apply to your product?
Beantworte 6 einfache Fragen, um herauszufinden, ob dein Produkt unter den Geltungsbereich des EU Cyber Resilience Act fällt. Erhalte dein Ergebnis in weniger als 2 Minuten.
Bereit für CRA-Konformität?
Beginnen Sie mit der Verwaltung Ihrer SBOMs und Konformitätsdokumentation mit CRA Evidence.