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.
In dit artikel
- Samenvatting
- Wat is security.txt?
- De minimaal haalbare security.txt
- De aanbevolen security.txt
- Toelichting per veld
- Stap-voor-stap instelling
- Voor producten zonder webinterface
- Melden van beveiligingskwetsbaarheden
- Veelgemaakte fouten
- Validatiechecklist
- Onderhoudsschema
- Wat in uw technisch dossier moet staan
- Compleet voorbeeld
- Hoe CRA Evidence helpt
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.txtvan 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.txtvan 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.
Gerelateerde artikelen
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.