Kennisbank
Security & onderhoud
Een web application firewall (WAF) uitgelegd
Een web application firewall (WAF) bekijkt het verkeer naar je website en blokkeert verzoeken die lijken op aanvallen, zoals pogingen tot SQL-injectie, cross-site scripting, brute-force-inlogpogingen en misbruik van bekende kwetsbaarheden. Een WAF kan draaien als dienst vóór je website (bijvoorbeeld via een CDN zoals Cloudflare), op de server bij je hostingpartij of als plugin in je CMS. Het is een belangrijke extra laag, maar vervangt geen updates, sterke wachtwoorden en back-ups.
Elke website krijgt dagelijks verkeer dat niet van echte bezoekers komt: bots die zoeken naar kwetsbaarheden, inlogpogingen met gestolen wachtwoorden, pogingen om code in formulieren te injecteren. Een web application firewall (WAF) filtert dat verkeer voordat het schade kan doen. Een overzicht van alle beveiligingsmaatregelen staat in de checklist website beveiligen.
Wat doet een WAF?
Een WAF analyseert elk verzoek aan je website en vergelijkt het met regels en patronen van bekende aanvallen. Verdachte verzoeken worden geblokkeerd of uitgedaagd (bijvoorbeeld met een controle of de bezoeker een mens is).
Typische bescherming tegen:
- SQL-injectie: proberen de database te manipuleren via invoervelden.
- Cross-site scripting (XSS): kwaadaardige scripts in pagina's injecteren.
- Brute-force: massaal wachtwoorden proberen op het inlogscherm.
- Bekende kwetsbaarheden: misbruik van lekken in software of plugins.
- Kwaadaardige bots: scrapers, spam, scanners.
Soorten WAF
- Cloud- of CDN-WAF — Waar: vóór je website, bij een dienst als Cloudflare; Voordelen: blokkeert verkeer vóór je server, ook tegen DDoS; Aandachtspunten: instellen via DNS. Zie Cloudflare instellen
- Server-WAF — Waar: op de server bij je hostingpartij; Voordelen: geen eigen beheer nodig; Aandachtspunten: afhankelijk van je hostingpakket
- Plugin-WAF — Waar: in je CMS, zoals een WordPress-beveiligingsplugin; Voordelen: eenvoudig te installeren; Aandachtspunten: verkeer bereikt je server wel, kost serverkracht
Wanneer heb je er een nodig?
Een WAF is nuttig voor vrijwel elke website, en zeker voor:
- webshops en websites met inlog of klantgegevens;
- WordPress-websites met veel plugins;
- websites die vaker het doelwit zijn van aanvallen.
Bij platforms als Webflow en Shopify zit beveiliging grotendeels ingebouwd in het platform.
Valse meldingen
Een te strenge WAF kan echte bezoekers blokkeren, bijvoorbeeld bij formulieren met speciale tekens of betaalproviders die terugkoppelen naar je webshop. Begin daarom met een gematigde instelling, bekijk de logboeken en maak uitzonderingen waar nodig.
Een WAF is geen vervanging voor
- updates van CMS, thema's en plugins;
- sterke wachtwoorden en tweestapsverificatie. Zie Tweestapsverificatie instellen in je CMS;
- back-ups;
- malwarescans. Zie Je website scannen op malware.
Voorbeeld
Stel: een WooCommerce-webshop ziet in de logboeken duizenden inlogpogingen per dag en af en toe vreemde verzoeken naar formulieren. Via een CDN-WAF worden inlogpogingen van verdachte bronnen uitgedaagd, bekende aanvalspatronen geblokkeerd en de inlogpagina extra beschermd. In de eerste week blijkt de terugkoppeling van de betaalprovider soms te worden geblokkeerd; daarvoor wordt een uitzondering gemaakt.
Een WAF vult andere maatregelen aan, zoals beveiligingsheaders; zie HTTP-securityheaders instellen.
Veelgestelde vragen
Kost een WAF veel?
Er zijn gratis basisversies en betaalde varianten met meer regels en ondersteuning.
Vertraagt een WAF mijn website?
Een cloud-WAF kan de website zelfs sneller maken, door caching en het tegenhouden van onnodig verkeer.
Heb ik een WAF nodig naast een beveiligingsplugin?
Een cloud- of server-WAF houdt verkeer eerder tegen; een plugin geeft extra controle in het CMS. Een combinatie kan.
Kan een WAF alle aanvallen tegenhouden?
Nee, het is één laag in je beveiliging.
Hoe zie ik wat de WAF blokkeert?
Via de logboeken of het dashboard van de WAF.
Hulp nodig?
Wil je je website beter beschermen tegen aanvallen? Bekijk onze dienst security en monitoring.
Zet een WAF eerst in een stand waarin hij alleen registreert (of op een gematigd niveau), en controleer of echte bezoekers en formulieren niet worden geblokkeerd voordat je strenger filtert.
Kennisbank
Verder lezen
