
Security headers: welke heeft uw website nodig?
6 min lezen hieronder · WebYes kennisbank
Security headers beschermen bezoekers tegen afluisteren, XSS en clickjacking. Ontdek welke headers u nodig heeft en hoe u ze veilig instelt.
Security headers zijn instructies die uw server bij elke pagina meestuurt en die de browser vertellen hoe hij uw site veilig moet behandelen: alleen via HTTPS laden, geen scripts van vreemde bronnen uitvoeren, niet in een frame van een andere site tonen. Ze kosten niets en vangen een hele klasse aanvallen af. De WebYes-scan toetst ze binnen de pijler veiligheid.
Wat doen security headers precies?
Elke keer dat een browser een pagina opvraagt, stuurt de server naast de HTML ook een set headers mee: korte regels met instructies. Een deel daarvan gaat over veiligheid. Ze bepalen bijvoorbeeld of de browser de site ooit nog via onversleuteld HTTP mag benaderen, welke scripts er mogen draaien, en of andere sites uw pagina's in een frame mogen insluiten.
Het bijzondere is dat de bescherming bij de bezoeker plaatsvindt. Zelfs als een aanvaller erin slaagt kwaadaardige code op uw pagina te krijgen, kan een goed ingestelde browser die code weigeren uit te voeren. Headers zijn daarmee een vangnet voor fouten die elders in de site zitten: een vergeten inputfilter, een verouderde plugin, een injectie via een commentaarveld.
Ze vervangen geen veilig ontwikkelproces. Ze vullen het aan. Een site zonder HTTPS en zonder headers scoort laag op elke serieuze veiligheidsmeting, hoe netjes de rest van de code ook is. Omgekeerd: met een geldig SSL-certificaat én de juiste headers legt u de basis waarop de rest van de pijler veiligheid rust.
De belangrijkste headers op een rij
Zes headers dekken samen het grootste deel van de risico's af. Deze controleert de WebYes-scan binnen de pijler veiligheid:
| Header | Beschermt tegen | Gangbare instelling |
|---|---|---|
| Strict-Transport-Security (HSTS) | Afluisteren via onversleuteld HTTP | max-age van minimaal een jaar |
| Content-Security-Policy (CSP) | Cross-site scripting (XSS), injectie van vreemde scripts | Per site maatwerk; begin met een report-only test |
| X-Content-Type-Options | MIME-sniffing (bestanden als iets anders uitvoeren) | nosniff |
| X-Frame-Options / frame-ancestors | Clickjacking via verborgen frames | DENY of SAMEORIGIN |
| Referrer-Policy | Lekken van URL-gegevens naar derden | strict-origin-when-cross-origin |
| Permissions-Policy | Ongewenst gebruik van camera, microfoon of locatie | Alleen toestaan wat de site echt gebruikt |
HSTS verdient een korte toelichting naast de tabel. Volgens de MDN-documentatie over Strict-Transport-Security onthoudt de browser na de eerste HTTPS-hit dat uw site uitsluitend via HTTPS benaderd mag worden. Zonder HSTS blijft er bij elk getypt adres een onversleuteld verzoek mogelijk, tot de redirect ingrijpt.
CSP: de krachtigste, en de lastigste
De Content-Security-Policy verdient aparte aandacht. Deze header bepaalt per brontype (scripts, stijlen, afbeeldingen, frames) welke domeinen zijn toegestaan. Een strikte CSP maakt cross-site scripting vrijwel onmogelijk, omdat de browser scripts van niet-toegestane bronnen simpelweg niet uitvoert.
Diezelfde kracht maakt CSP ook de header die het vaakst iets breekt. Een vergeten domein voor uw statistieken-script of embedded video, en dat onderdeel doet het niet meer. Begin daarom altijd met Content-Security-Policy-Report-Only: de browser rapporteert dan overtredingen zonder iets te blokkeren, zodat u de policy kunt aanscherpen voordat hij echt afdwingt.
Een praktische volgorde: inventariseer alle externe scripts en CDN's die uw site laadt, schrijf een report-only policy, bekijk een week lang de rapporten, en schakel pas daarna over naar een afdwingende CSP. Wie in één keer een strikte policy live zet, merkt meestal pas via klachten dat de chatwidget of de betaalknop stilstaat. Voor directives, unsafe-inline en de WebYes-checks leest u de aparte pagina over Content Security Policy.
Zo controleert en stelt u ze in
Waar u headers instelt, hangt af van uw opzet: in de serverconfiguratie (Apache, nginx), bij uw CDN of hostingpakket, of in uw framework (bijvoorbeeld next.config of response middleware). Voor de meeste sites is het een kwestie van een paar regels configuratie die u eenmalig toevoegt en daarna met rust laat, met CSP als uitzondering die onderhoud vraagt bij elke nieuwe externe dienst.
Controleren kan zonder diepe technische kennis. De gratis WebYes-scan toetst de headers van uw site binnen de pijler veiligheid en laat per ontbrekende header zien wat het risico is. Voor het WebYes-keurmerk moet het gemiddelde over alle pijlers minstens 80 zijn, én elke pijler (inclusief veiligheid) minstens 60. Ontbrekende headers zijn een van de snelste manieren om onder die vloer van 60 te zakken.
Naast WebYes is de Internet.nl-test nuttig voor een bredere blik op moderne internetstandaarden, inclusief HTTPS en gerelateerde serverinstellingen. In onze gids over de Internet.nl-test leest u hoe die meting zich verhoudt tot een productscan. Gebruik WebYes voor diagnose en herstelrichting; gebruik Internet.nl als onafhankelijke referentie wanneer u dieper wilt gaan.
Veelgemaakte fouten bij headers
De meest voorkomende misser is HSTS zonder werkende HTTPS-redirect, of omgekeerd: wel een redirect, maar geen HSTS. Beide horen bij elkaar. Een andere klassieker: X-Frame-Options op DENY zetten terwijl u zelf een preview of admin-frame nodig heeft, zonder frame-ancestors in CSP als modern alternatief te overwegen.
Ook zien we sites die Permissions-Policy helemaal weglaten, of juist zo strak zetten dat legitieme features (een kaart met geolocatie, een upload met camera) stilvallen. Begin bij wat u echt gebruikt: blokkeer camera, microfoon en geolocation als uw site die nooit nodig heeft.
Tot slot: headers op de homepage en niet op de rest van de site. Een CDN of reverse proxy die alleen de root path configureert, laat diepe pagina's onbeschermd. Controleer na elke wijziging een paar willekeurige URL's, niet alleen de homepage. De gratis WebYes-scan (bèta) dekt maximaal zes pagina's; een betaalde full audit loopt tot vijftien pagina's sitemap-geleid en toont de steekproef in het rapport.
Prioriteit: welke header eerst als de pijler onder 60 zakt
Zakt de veiligheidspijler onder 60, begin bij HTTPS plus HSTS. Zonder versleutelde verbinding en browser-force naar HTTPS blijven andere headers een pleister. Daarna X-Content-Type-Options (nosniff) en Referrer-Policy: laag risico, snelle winst. Frame-bescherming (CSP frame-ancestors of X-Frame-Options) volgt als u embeds en clickjacking-risico meeneemt. Controleer na elke header ook een diepe URL, niet alleen de homepage.
CSP komt als laatste in de prioriteitslijst, niet omdat het onbelangrijk is, maar omdat het onderhoud kost. Zet eerst report-only aan, inventariseer third parties, en forceer pas daarna. Zo voorkomt u dat u de keurmerkvloer haalt op headers en tegelijk de checkout breekt. Herhaal de WebYes-scan na elke stap; gemiddelde ≥80 en elke pijler ≥60 blijven de harde lat.
Bronnen
Veelgestelde vragen
Kunnen security headers uw site kapotmaken?
De meeste headers zijn risicoloos aan te zetten: HSTS, nosniff en Referrer-Policy veranderen niets aan hoe uw site werkt. Alleen de Content-Security-Policy kan onderdelen blokkeren die van externe bronnen laden. Test die daarom eerst in report-only-modus voordat u hem afdwingt.
Zijn security headers wettelijk verplicht?
Er is geen wet die specifieke headers voorschrijft. Wel eist de AVG dat u persoonsgegevens passend beveiligt; wie formulieren of accounts aanbiedt zonder basismaatregelen zoals HTTPS en HSTS, kan daarop worden aangesproken. In de praktijk zijn headers vooral de goedkoopste beveiligingswinst die er bestaat.
Uw site draait al op HTTPS. Waarom heeft u dan nog HSTS nodig?
Zonder HSTS probeert de browser bij het intikken van uw adres eerst de onversleutelde HTTP-versie, en vertrouwt hij op een doorverwijzing. Dat ene onversleutelde verzoek is te onderscheppen. HSTS zorgt dat de browser uw site voortaan direct en uitsluitend via HTTPS benadert.
Welke header moet u als eerste toevoegen?
Begin met HSTS (nadat HTTPS en de redirect werken), daarna X-Content-Type-Options nosniff, Referrer-Policy en X-Frame-Options of frame-ancestors. CSP komt als laatste: die vraagt inventarisatie en een report-only-fase voordat u afdwingt.
Dit meet de WebYes-scan ook
Scan je website gratis op snelheid, veiligheid, mobiel en toegankelijkheid en zie waar je staat.
Start gratis scan


