Deel 5 van de serie "EU-webbeveiliging: in 10 stappen naar een betere rating"
Waarom security.txt
Een beveiligingsonderzoeker vindt een kwetsbaarheid op uw website. Wie neemt hij contact op?
Zonder security.txt: hij doorzoekt uw site, vindt info@, stuurt een e-mail. Die belandt bij marketing, wordt verwijderd als spam of genegeerd. De kwetsbaarheid blijft open.
Met security.txt: hij bezoekt /.well-known/security.txt, vindt het beveiligingscontact, de PGP-sleutel en het openbaarmakingsbeleid. De melding bereikt direct het juiste team.
Adoptiegraad in de EU: 2,8%. En toch: websites met security.txt scoren gemiddeld 31% hoger dan websites zonder.
De correlatie
| Metriek | MET security.txt | ZONDER | Factor |
|---|---|---|---|
| Samengestelde score | 55 | 42 | +31% |
| HSTS | 72% | 26% | 2,8x |
| CSP | 47% | 10% | 4,7x |
| Cijfer F | 6% | 44% | 7x minder |
security.txt is geen wondermiddel. Maar wie de tijd neemt om het in te stellen, heeft meestal ook al het andere geregeld.
Hoe u security.txt instelt
Stap 1: maak het bestand aan
Maak /.well-known/security.txt aan op uw webserver:
Contact: mailto:security@uw-domein.com
Expires: 2027-04-13T00:00:00.000Z
Preferred-Languages: nl
Verplichte velden (RFC 9116):
- Contact: — e-mailadres of URL voor beveiligingsmeldingen
- Expires: — vervaldatum (maximaal 1 jaar in de toekomst)
Optionele velden:
- Encryption: — PGP-sleutel voor versleutelde meldingen
- Acknowledgments: — hall of fame voor verantwoorde melders
- Canonical: — canonieke URL van het bestand
- Policy: — link naar uw Vulnerability Disclosure Policy
- Hiring: — link naar beveiligingsvacatures
Stap 2: maak het toegankelijk
Het bestand moet bereikbaar zijn op https://uw-domein.com/.well-known/security.txt. Voor de meeste configuraties:
Nginx:
location = /.well-known/security.txt {
alias /var/www/uw-domein.com/security.txt;
}
Apache: plaats het bestand simpelweg in /.well-known/ in uw document root.
WordPress: gebruik de "WP Security.txt"-plugin of plaats het handmatig in .well-known/ in de webroot.
Stap 3: bied een PGP-sleutel aan (aanbevolen)
Contact: mailto:security@uw-domein.com
Encryption: https://uw-domein.com/.well-known/pgp-key.txt
Expires: 2027-04-13T00:00:00.000Z
ENISA beveelt de versleutelingsoptie aan zodat beveiligingsonderzoekers gevoelige details op een beschermde manier kunnen indienen.
Adoptie per sector
| Sector | Adoptie | Gem. score met | Gem. score zonder |
|---|---|---|---|
| Banken | 23,9% | 69 | 55 |
| E-Commerce | 15,6% | 64 | 53 |
| Onderwijs | 8,1% | 53 | 42 |
| Technologie | 5,3% | 63 | 45 |
| Gezondheidszorg | 2,0% | 58 | 42 |
| Horeca | 1,1% | 51 | 40 |
Banken lopen voorop — bijna één op vier banken heeft security.txt. Horeca (hotels, restaurants) staat op 1,1%.
Regelgevende context
- NIS2 Art. 21(2)(e) vereist expliciet "kwetsbaarheidsbeheer en -openbaarmaking" — security.txt is het gestandaardiseerde mechanisme hiervoor
- CRA Art. 14 — gecoördineerde kwetsbaarheidsopenbaarmaking wordt verplicht vanaf december 2027 voor fabrikanten van digitale producten
- ENISA noemt security.txt als best practice voor kwetsbaarheidsopenbaarmaking
- Nationale CERT's door heel Europa (NCSC-NL, ANSSI, BSI) bevelen security.txt aan of gebruiken het op hun eigen domeinen
Veelgemaakte fouten
1. Expires vergeten. Zonder Expires is het bestand ongeldig volgens RFC 9116. Stel het in op 1 jaar in de toekomst en zet een herinnering om het bij te werken.
2. HTTP in plaats van HTTPS. Het bestand moet via HTTPS worden aangeboden — een onversleuteld security.txt kan worden gemanipuleerd.
3. info@ als contact. Contact: mailto:info@... belandt bij marketing. Stel een speciaal security@-adres in dat een beveiligingsverantwoordelijke bereikt.
Controleer uw security.txt
Volgende week in Deel 6: DKIM — waarom slechts 31% van de EU-domeinen hun e-mails ondertekent.