SteadyHost

security.txt: meldpunt voor kwetsbaarheden

Vindt iemand een beveiligingsprobleem op je website, dan wil je dat diegene weet bij wie hij dat kan melden. Daarvoor is security.txt: een klein tekstbestand op een vaste plek op je website met je contactgegevens voor beveiligingsmeldingen.

Controleer je website direct

Waarom security.txt?

security.txt is een open standaard (RFC 9116). Beveiligingsonderzoekers en organisaties die kwetsbaarheden melden, zoeken het bestand op een vaste plek: /.well-known/security.txt. Zonder dat bestand moeten ze zelf een contactpersoon zoeken, en belandt een melding vaak bij een algemene inbox of helemaal nergens.

De Nederlandse overheid raadt het gebruik van security.txt aan. Het is ook voor kleinere organisaties een eenvoudige manier om meldingen op de juiste plek te krijgen.

Wat erin staat

Het bestand bestaat uit regels in de vorm Veld: waarde. Twee velden zijn verplicht, de rest is optioneel.

  • Contact (verplicht): waar meldingen naartoe moeten, bijvoorbeeld een e-mailadres met mailto: of een webformulier met https://. Je mag meerdere Contact-regels opnemen.
  • Expires (verplicht): de datum waarna het bestand niet meer als actueel geldt. Kies een datum binnen een jaar en werk hem op tijd bij.
  • Preferred-Languages: de talen waarin je meldingen wilt ontvangen.
  • Policy: een link naar je beleid voor het melden van kwetsbaarheden, bijvoorbeeld een pagina over coordinated vulnerability disclosure.
  • Canonical: het adres waarop dit bestand officieel staat.

Voorbeeld

Een eenvoudig security.txt-bestand ziet er zo uit. De Expires-datum schrijf je in het formaat jaar-maand-dagTuur:minuut:seconde, in UTC.

/.well-known/security.txt
Contact: mailto:security@example.nl
Expires: 2027-10-01T00:00:00.000Z
Preferred-Languages: nl, en
Canonical: https://example.nl/.well-known/security.txt

Het bestand plaatsen

Zet het bestand in de map .well-known in de hoofdmap van je website, zodat het bereikbaar is op https://jouwdomein.nl/.well-known/security.txt. De server moet het via HTTPS aanbieden als platte tekst (Content-Type text/plain).

Gebruik je een CMS zoals WordPress, dan zijn er plugins die het bestand voor je aanmaken. Zorg dat het e-mailadres in Contact echt wordt gelezen; een meldpunt waar niemand reageert, helpt niemand.

Zelf controleren

Met curl zie je of het bestand bereikbaar is en met welk Content-Type de server het aanbiedt.

Terminal
curl -si https://example.nl/.well-known/security.txt

Hoe SteadyHost security.txt beoordeelt

  • In orde: er is een security.txt gevonden met een Contact-regel en een Expires-datum in de toekomst.
  • Aandachtspunt: er is geen security.txt, of Contact of Expires ontbreekt.
  • Probleem: de Expires-datum is verstreken.
  • Deze controle telt niet mee in de score.

Controleer je eigen website

Een gratis controle laat in enkele seconden zien hoe je website ervoor staat: bereikbaarheid, HTTPS en TLS, het SSL-certificaat, security headers, DNS en DNSSEC, de domeinregistratie en e-mailbeveiliging.

Meer uitleg