logo level
KMO
Agency
Grote onderneming
contactOperationeelcontrolepaneel

Hoe werkt onze Web Application Firewall?

Op het internet circuleert heel wat verkeer dat je website vertraagt of zelfs bedreigt. Denk aan bots die pagina’s scrapen, brute-force aanvallen op je loginpagina, of scripts die proberen je CMS te misbruiken. Dit kost je kostbare servercapaciteit die je liever inzet voor je echte bezoekers. Daarom bouwden we bij Level27 een krachtige Web Application Firewall (WAF), die fungeert als je digitale poortwachter. Hij filtert automatisch al het schadelijke verkeer weg zodat jouw website sneller, veiliger en stabieler draait.

image

Wat is een WAF en hoe werkt het?

Een Web Application Firewall (WAF) is een extra beveiligingslaag tussen het internet en je webserver. Hij fungeert als poortwachter: elk inkomend verzoek wordt eerst gecontroleerd voordat het je website bereikt. De WAF bepaalt of het verkeer legitiem is of potentieel schadelijk. Alleen veilige verzoeken worden doorgelaten — de rest wordt direct geblokkeerd.


Bij Level27 gaat onze WAF nog een stap verder: hij analyseert elk verzoek in realtime en herkent automatisch verdachte patronen, zoals misbruikpogingen of overmatig verkeer. Zo wordt schadelijk verkeer tegengehouden nog vóór het je website kan vertragen of beschadigen.


Wat doet de WAF concreet?

  • Ongewenst verkeer blokkeren
    Bekende bots en verdachte IP-adressen krijgen geen foutmelding, maar een leeg antwoord (HTTP 444). Zo verspillen we geen servercapaciteit aan verkeer dat er niet hoort te zijn.
  • Aanvallen herkennen en stoppen
    Proberen aanvallers kwetsbaarheden te misbruiken via verdachte URL’s of SQL-injecties? Dan grijpt de WAF in met een HTTP 405-status en de duidelijke boodschap: “Naughty”.
  • Bescherming tegen brute-force en overbelasting
    De WAF houdt bij hoe vaak een gebruiker pagina’s opvraagt. Bij overmatig verkeer volgt automatisch een HTTP 429-status: “SLOW DOWN”. Hiermee voorkomen we dat bots je website overbelasten met duizenden verzoeken per seconde.

Slimme aanpak: onderscheid tussen gebruikers, bots en imposters

Niet elk verkeer behandelen we gelijk. Onze WAF maakt onderscheid tussen:

  • Echte gebruikers: bezoekers met een bekende browser (zoals Chrome of Safari)
  • Bots: verzoeken zonder herkenbare browser user-agent
  • Imposters: bots die zich voordoen als echte gebruikers, komend van datacenters of VPN’s

Voor elk type verkeer passen we aangepaste rate limits toe, specifiek afgestemd op het risico dat ze vormen. Deze aanpak is essentieel in onze verdediging tegen brute-force aanvallen en overbelasting:

  • Echte gebruikers: krijgen voldoende ruimte om vlot te navigeren zonder hinder
  • Bots: krijgen strengere limieten zodat ze geen duizenden requests kunnen sturen
  • Imposters: worden nog forser afgeremd omdat ze voor veel overlast zorgen

Technische details over rate limiting

Wat de WAF doet, is telkens per type verkeer bijhouden hoeveel verzoeken er binnenkomen, en dan beslissen: mag dit nog, of is het te veel? Daarbij maken we ook onderscheid tussen GET- en POST-verzoeken. Een GET-verzoek is wat je doet als je gewoon een pagina opent, bijvoorbeeld een blogartikel of de homepage van een website. Je vraagt iets op, maar je stuurt zelf geen gevoelige informatie mee. Alles zit in de link die je aanklikt of opent.

Een POST-verzoek is iets actiever. Je stuurt dan gegevens naar de website. Bijvoorbeeld: je vult een formulier in, je logt in met een wachtwoord, of je bestelt iets. Post verkeer vraagt meer server capaciteit. Het is een actie die iets aan het werk zet, iets opslaan in de database. een mail sturen. Hierdoor zijn de limieten strenger. Post verkeer is een actie die iets aan het werk zet, bijvoorbeeld iets opslaan in de database, een mail sturen, etc. Zo'n acties vragen meer servercapaciteit, daarom zijn de limieten hiervoor ook strenger.

image

Hoe worden de aanvragen geteld?

Hoewel imposters in onze limiettabel een hogere grens lijken te krijgen, betekent dit niet dat ze vrij spel hebben. Integendeel. De manier waarop hun verkeer geteld wordt, is veel strenger. Bij echte gebruikers houden we per pagina en sessie apart bij hoeveel verzoeken er binnenkomen. Bots worden al ruimer samengenomen. Maar bij imposters wordt elk verzoek van één IP-adres op één hoop gegooid, ongeacht naar welke pagina’s of websites ze surfen. Hierdoor lopen hun tellers sneller op, wat ervoor zorgt dat ze sneller worden afgeremd dan de limieten op het eerste gezicht doen vermoeden.

image

Voorbeeld 1 – Echte gebruiker: vlot surfen zonder blokkering

Situatie:

Een bezoeker navigeert snel van de homepage naar een productpagina en vervolgens naar het contactformulier.

Hoe telt de WAF dit?

Voor elke pagina wordt apart geteld op basis van IP + hostname + URI.

Voorbeeldtelling:

192.168.0.1 – level27.be – /home

192.168.0.1 – level27.be – /over-ons

192.168.0.1 – level27.be – /contact

Conclusie:

De drie verzoeken worden apart geteld en tellen niet op bij elkaar.

De gebruiker blijft ruim onder de limiet en wordt niet afgeremd.

Voorbeeld 2 – Bot: snelle limiet bij scrapinggedrag

Situatie:

Een bot probeert op korte tijd verschillende pagina’s van level27.be te scrapen.

Hoe telt de WAF dit?

Bots worden geteld op IP + hostname, zonder onderscheid tussen pagina’s.

Voorbeeldtelling:

192.168.0.1 – level27.be (vijf keer, ongeacht de URI)

Conclusie:

Omdat bots niet per pagina geteld worden, raken ze sneller aan de limiet.

Voorbeeld 3 – Imposter: alles telt samen, sneller geblokkeerd

Situatie:

Een imposter (bijvoorbeeld een scraper via VPN) stuurt veel verzoeken tegelijk naar verschillende pagina’s of websites.

Hoe telt de WAF dit?

Imposters worden enkel geteld op IP-adres. Alles wordt dus op één hoop gegooid.

Voorbeeldtelling:

192.168.0.1 (20 requests, ongeacht de site of pagina)

Wat gebeurt er?

Bij het 21e verzoek grijpt de WAF in.

Verzoek geblokkeerd, omdat de limiet is overschreden.

Conclusie:

Imposters worden het strengst behandeld. Ze krijgen minder ruimte en worden sneller afgeremd.


author picture

Meer ruimte voor je echte bezoekers. Onze WAF filtert wat niet thuishoort.

Roald

Product Manager

Wat is een burst en waarom laten we het toe?

Bij het laden van moderne webpagina's, die vaak rijk zijn aan elementen zoals afbeeldingen, scripts en lettertypen, is het normaal dat een browser in korte tijd meerdere verzoeken (requests) verstuurt. Een Web Application Firewall (WAF) reguleert dit verkeer om misbruik te voorkomen, maar moet tegelijkertijd legitieme gebruikers niet hinderen. Hiervoor passen we een "burst"-mechanisme toe.

Voordelen van de burst-regeling: Gebruikersgemak: Echte gebruikers ondervinden geen hinder bij het laden van content, aangezien legitieme pieken in verzoeken worden toegestaan. Beveiliging: Malafide bots en aanvallers die stelselmatig te veel verzoeken versturen, overschrijden snel de burst- en algemene limieten en worden effectief geblokkeerd.

image
image1236

Hierboven zie je hoe een burstlimiet werkt aan de hand van een voorbeeld.

In dit geval stuurt een bot verzoeken naar de website level27.be. Voor dit type verkeer geldt een limiet van 5 GET-verzoeken per seconde. Dat betekent dat er gemiddeld elke 200 milliseconden één verzoek mag doorgaan.

Daarnaast krijgt het verkeer een burstcapaciteit van 10. Dat is een soort tijdelijke buffer die extra verkeer toelaat bovenop de gewone limiet. Handig als er kortstondig wat meer verzoeken tegelijk binnenkomen.


In de afbeelding zie je dat:

  • De bot op het begin van de seconde ineens 8 verzoeken tegelijk stuurt.
  • 1 request mag rechtstreeks door.
  • De overige 7 gaan ook door naar de website maar nemen een bufferslot in.
  • Elke 200ms komt er opnieuw ruimte vrij, en komt er dus zogezegd een plekje terug vrij in de burst.
  • Rond 700ms zijn er opnieuw 5 verzoeken tegelijk, wat de burst van 4 terug naar 9 brengt.
  • Op 900ms komen er nog 4 requests bij. 2 daarvan gaan door naar de site met behulp van de 2 vrije plaatsen in de burst, de andere 2 niet.
    Er is geen plek meer over, en de 2 extra verzoeken worden dus geblokkeerd.

Kort gezegd: de burst laat tijdelijk wat extra verkeer door, maar als het te veel wordt en te snel na elkaar komt, grijpt de WAF alsnog in en blokkeert het overtollige verkeer.

Wat levert onze WAF jou concreet op?

  • Meer capaciteit voor echte bezoekers
    Doordat schadelijk verkeer vroegtijdig wordt weggefilterd, blijft er meer rekenkracht en bandbreedte over voor legitiem gebruik. Dit verbetert de snelheid en stabiliteit van je website, ook bij veel verkeer.
  • Bescherming zonder gedoe
    Onze WAF werkt automatisch, zonder dat jij aanpassingen hoeft te doen.
  • Dagelijkse updates
    We updaten onze beveiligingslijsten automatisch om nieuwe dreigingen snel te blokkeren.
  • Landbeperkingen voor extra beveiliging
    Voor gevoelige pagina’s, zoals WordPress-login, beperken we de toegang tot betrouwbare landen.

Specifieke aanpak per hostingproduct

Bij Agency Hosting staat de WAF standaard aan en is deze ingesteld met vaste limieten, omdat de beschermingslaag gedeeld wordt over meerdere klanten. Custom aanpassingen zijn beperkt mogelijk.

Bij Managed Server kan onze engineering service de WAF-configuratie finetunen op maat van jouw omgeving.


Wat als een legitieme bezoeker wordt geblokkeerd?

Dat kan voorkomen, bijvoorbeeld bij developers die vanuit niet-toegestane landen werken of klanten die een VPN gebruiken. Geen paniek: we kunnen IP-adressen snel whitelisten zodat deze bezoekers weer zonder beperkingen terechtkunnen.

Conclusie

Een performante en betrouwbare website begint bij een sterke eerste verdedigingslinie. Met onze WAF houd je bots, brute-force aanvallen en kwaadwillende verzoeken buiten de deur. Zo blijft jouw website snel, veilig en Relaxed Online.