Security headers zijn HTTP-antwoordheaders die je webserver meestuurt naar de browser van een bezoeker. Ze bevatten instructies over hoe de browser met je website-inhoud moet omgaan om aanvallen zoals cross-site scripting (XSS), clickjacking en man-in-the-middle-aanvallen te voorkomen. In de praktijk werken ze als een set beveiligingsregels die je activeert op serverniveau, zonder dat je je website-code hoeft aan te passen. Voor MKB-bedrijven met een webshop, klantportaal of WordPress-site zijn security headers een van de meest effectieve en laagdrempelige manieren om de beveiliging te verhogen.
Hoe security headers werken op technisch niveau
Elke keer dat een browser een pagina van je website opvraagt, stuurt je webserver een HTTP-respons terug. Die respons bestaat uit de zichtbare inhoud (HTML, CSS, afbeeldingen) plus een reeks headers met metadata. Security headers zijn specifieke instructies binnen die metadata. Een header als Content-Security-Policy vertelt de browser bijvoorbeeld welke scripts, afbeeldingen en stylesheets hij wel of niet mag laden. X-Frame-Options blokkeert het inladen van je site in een iframe op een andere website, waardoor clickjacking wordt voorkomen. Strict-Transport-Security dwingt HTTPS af, zelfs als een gebruiker per ongeluk een HTTP-link volgt. Deze headers worden geïnterpreteerd door moderne browsers en werken dus zonder dat bezoekers er iets van merken.
Waarom security headers ontstonden en waarom ze nu cruciaal zijn
Security headers zijn vanaf begin jaren 2000 ontwikkeld als reactie op grootschalige aanvallen waarbij kwaadwillenden misbruik maakten van de manier waarop browsers met externe content omgaan. Cross-site scripting, waarbij aanvallers scripts in je site injecteren, was een van de meest voorkomende kwetsbaarheden. Browsers voerden aanvankelijk alle code uit die ze tegenkwamen, zonder kritisch te kijken naar de bron. Met de introductie van headers zoals Content-Security-Policy en X-XSS-Protection kregen website-eigenaren voor het eerst de mogelijkheid om die standaardgedrag te beperken. Volgens de W3C Content Security Policy Level 3-specificatie zijn deze headers nu onderdeel van de webstandaard. In de praktijk zien we dat websites zonder security headers kwetsbaarder zijn voor datadiefstal, phishing en reputatieschade.
Wat security headers opleveren voor MKB-bedrijven
Voor een Nederlandse webshop of dienstverlener met een klantportaal betekenen security headers een directe verlaging van het risico op datalekken en aanvallen. Een webshop die persoonsgegevens en betaalgegevens verwerkt, moet voldoen aan de AVG-verplichtingen rond beveiliging. Security headers zijn een van de technische maatregelen die je kunt aantonen bij een audit. Daarnaast waarderen zoekmachines zoals Google sites met een sterke beveiligingsconfiguratie hoger, omdat ze veiliger zijn voor gebruikers. Bij een goed geconfigureerde WordPress hosting-omgeving worden security headers standaard ingesteld op serverniveau, waardoor je als ondernemer niet zelf met .htaccess-bestanden hoeft te werken. Het resultaat is een site die beter beschermd is tegen aanvallen, zonder dat je snelheid of gebruiksvriendelijkheid inlevert.