Technisch 15 min leestijd

Security Headers uitgelegd: bescherm uw website in 5 stappen

Security headers zijn een van de makkelijkste manieren om uw website beter te beveiligen. In deze praktische handleiding leggen we uit wat elke header doet en hoe u ze implementeert.

WS

Whitehat Security Team

Security Experts

05 January 2026

Wat zijn Security Headers?

Security headers zijn HTTP response headers die uw webserver meestuurt naar de browser. Ze geven de browser instructies over hoe om te gaan met de content van uw website. Door de juiste headers in te stellen, beschermt u uw bezoekers tegen veel voorkomende aanvallen.

Het goede nieuws: Security headers zijn relatief eenvoudig te implementeren en hebben direct effect. In deze handleiding laten we stap voor stap zien hoe u de belangrijkste headers instelt.

Waarom zijn Security Headers belangrijk?

Bij onze security scans zien we dat 78% van alle websites ontbrekende of verkeerd geconfigureerde security headers heeft. Dit maakt deze websites kwetsbaar voor:

  • Clickjacking: Aanvallers plaatsen uw site in een onzichtbaar iframe
  • XSS aanvallen: Kwaadaardige scripts die in de browser van bezoekers draaien
  • Man-in-the-middle: Onderscheppen van verkeer door ontbrekende HTTPS
  • Data lekkage: Gevoelige informatie die naar derden wordt gestuurd

Stap 1: Strict-Transport-Security (HSTS)

Wat doet deze header?

HSTS (HTTP Strict Transport Security) forceert browsers om alleen via HTTPS te communiceren met uw website. Dit voorkomt:

  • Downgrade attacks (van HTTPS naar HTTP)
  • SSL stripping aanvallen
  • Man-in-the-middle aanvallen

Implementatie

Voor Apache voegt u de volgende regel toe aan uw .htaccess bestand:


Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Voor Nginx voegt u toe aan uw server block:


add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Parameters uitgelegd

  • max-age=31536000: Browser onthoudt dit 1 jaar (in seconden)
  • includeSubDomains: Geldt ook voor alle subdomeinen
  • preload: Kwalificeert voor Chrome HSTS preload lijst

Let op: Zorg dat uw hele website goed werkt via HTTPS voordat u deze header activeert.

Stap 2: Content-Security-Policy (CSP)

Wat doet deze header?

CSP is de krachtigste security header. Het definieert welke bronnen (scripts, styles, images) uw website mag laden. Dit is uw belangrijkste verdediging tegen XSS aanvallen.

Basisimplementatie

Start met een restrictief beleid en versoepel waar nodig. Een basis CSP ziet er als volgt uit:


default-src self; script-src self; style-src self unsafe-inline; img-src self data: https:; font-src self; connect-src self; frame-ancestors none;

CSP Directives uitgelegd

DirectiveControleert
default-srcFallback voor alle resource types
script-srcJavaScript bronnen
style-srcCSS bronnen
img-srcAfbeeldingen
font-srcLettertypen
connect-srcAJAX, WebSocket, EventSource
frame-ancestorsWie mag uw site in een frame laden
form-actionWaar formulieren naartoe mogen posten

Tips voor CSP implementatie

  1. Start met Report-Only mode om te monitoren zonder te blokkeren
  2. Wees specifiek - vermijd unsafe-inline en unsafe-eval waar mogelijk
  3. Test grondig - CSP kan functionaliteit breken als het niet goed is geconfigureerd

Stap 3: X-Content-Type-Options

Wat doet deze header?

Deze header voorkomt MIME type sniffing. Zonder deze header kunnen browsers het content type "raden", wat kan leiden tot security issues.

Implementatie

Voor Apache:


Header always set X-Content-Type-Options "nosniff"

Voor Nginx:


add_header X-Content-Type-Options "nosniff" always;

Deze header is simpel - er is maar een waarde: nosniff.

Stap 4: X-Frame-Options

Wat doet deze header?

X-Frame-Options beschermt tegen clickjacking door te bepalen of uw website in een iframe mag worden geladen.

Implementatie

Voor Apache:


Header always set X-Frame-Options "DENY"

Voor Nginx:


add_header X-Frame-Options "DENY" always;

Opties

WaardeBetekenis
DENYNooit in een frame laden
SAMEORIGINAlleen door dezelfde origin
ALLOW-FROM uriAlleen door specifieke URI (verouderd)

Aanbeveling: Gebruik DENY tenzij u een specifieke reden heeft om frames toe te staan.

Stap 5: Referrer-Policy en Permissions-Policy

Referrer-Policy

Controleert hoeveel referrer informatie wordt meegestuurd naar andere websites.


Header always set Referrer-Policy "strict-origin-when-cross-origin"

Permissions-Policy

Bepaalt welke browser features uw website mag gebruiken (camera, microfoon, locatie, etc.).


Header always set Permissions-Policy "geolocation=(), microphone=(), camera=(), payment=(), usb=()"

Complete configuratie voorbeeld voor Apache

Voeg het volgende toe aan uw .htaccess bestand:


Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Header always set X-Content-Type-Options "nosniff"

Header always set X-Frame-Options "DENY"

Header always set Referrer-Policy "strict-origin-when-cross-origin"

Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"

Testen van uw Security Headers

Online tools

  1. SecurityHeaders.com - Geeft een letter-grade en gedetailleerde analyse
  2. Mozilla Observatory - Uitgebreide security check
  3. Onze gratis scanner - Controleert security headers als onderdeel van 50.000+ checks

Browser DevTools

  1. Open DevTools (F12)
  2. Ga naar Network tab
  3. Selecteer het eerste request (uw domein)
  4. Bekijk de Response Headers

Veelvoorkomende problemen en oplossingen

"Mijn website werkt niet meer na CSP implementatie"

Oorzaak: Te restrictief beleid blokkeert noodzakelijke resources.

Oplossing:

  1. Start met CSP-Report-Only mode
  2. Monitor welke resources worden geblokkeerd
  3. Voeg specifieke bronnen toe aan de whitelist
  4. Schakel pas over naar enforced mode als alles werkt

"Headers worden niet toegepast"

Mogelijke oorzaken:

  • mod_headers niet geactiveerd in Apache
  • .htaccess wordt genegeerd (AllowOverride)
  • CDN cached oude headers

Oplossingen:

  • Activeer mod_headers en herstart Apache
  • Check AllowOverride configuratie
  • Purge CDN cache

Conclusie

Security headers zijn een van de meest effectieve en goedkoopste manieren om uw website te beveiligen. Met de configuraties in dit artikel bent u goed beschermd tegen veel voorkomende aanvallen.

Samenvatting acties:

  1. Implementeer HSTS (na HTTPS check)
  2. Configureer CSP (start met Report-Only)
  3. Voeg X-Content-Type-Options toe
  4. Stel X-Frame-Options in
  5. Configureer Referrer-Policy en Permissions-Policy
  6. Test met online tools
  7. Monitor en verfijn regelmatig

Wilt u weten hoe uw website scoort? Onze gratis security scan controleert automatisch al uw security headers en geeft concrete verbeterpunten.

Tags: Security Headers Apache Nginx HTTPS CSP

Wilt u weten hoe veilig uw website is?

Start direct met onze gratis security scan en ontvang binnen minuten inzicht in uw kwetsbaarheden.

Gratis Scan
WS

Over Whitehat Security Team

Security Experts

Het Whitehat Security team bestaat uit ervaren security professionals met jarenlange ervaring in het beschermen van Nederlandse bedrijven tegen cyberdreigingen. Wij delen onze kennis om het MKB te helpen veiliger te worden.

Wij gebruiken cookies

Wij gebruiken cookies om uw ervaring te verbeteren en onze website te analyseren. Door op "Accepteren" te klikken gaat u akkoord met ons gebruik van cookies. Meer informatie