Inhoud

De WAF Cloudflare kent veel mogelijkheden om webapplicaties te beschermen tegen aanvallers of ongewenst verkeer. Ook kan je bepaald verkeer juist doorlaten (whitelisten) op basis van bepaalde kenmerken.

In deze opdracht ga je aan de slag met de WAF en ga je voor verschillende usecases een WAF regel aanmaken en configuren.

Goed om te weten

  • Cloudflare loopt de custom rules door van boven naar beneden. De eerste regel die “matcht” bepaalt vaak wat er gebeurt, en regels die daarna komen worden soms niet meer uitgevoerd.
  • Hetzelfde geldt voor de verschillende phases waarin Cloudflare de request flow doorloopt. Zo gaan custom rules eerder af dan rate limiting en de managed rules van Cloudflare.
  • Cloudflare houdt lijsten bij van verified bots zoals AI bots en search engine crawlers waarvoor velden zijn opgenomen in de WAF

Opdracht 1: Blok verkeer uit een lijst met ongewenste landen

Security ops heeft in overleg met de business een lijst opgesteld met landen waar naar alle waarschijnlijk alleen maar ongewenst of kwaardaardig verkeer vandaan komt.

  • Rusland
  • China
  • Wit Rusland
  • Noord Korea
  • Afghanistan
  • Iran
  • Indonesie

Maak een WAF regel aan waarmee je al het verkeer uit deze landen blokt

Opdracht 2: Bescherm de website tegen botverkeer

De website krijgt veel verkeer van bots die de gegevens van de deals scrapen. Dit geeft veel druk op de servers en zorgt zo nu en dan voor dat servers het aantal requests niet kunnen verwerken. Uit analyse blijkt dat het botverkeer komt uit drie ASN's waar veel cloud services op draaien.

ASN NR
GOOGLE 15169
MICROSOFT-CORP-MSN-AS- 8075
AMAZON.COM 16509
In Cloudflare kan je naast een block ook andere mitigatie acties kiezen
Mitigatie Omschrijving
Block Verzoek wordt direct geblokkeerd; de gebruiker krijgt een fout- of blokpagina.
Managed challenge Challenge waarbij Cloudflare automatisch bepaalt of een CAPTCHA, JS challenge of fingerprinting nodig is.
Interactive challenge De bezoeker moet een CAPTCHA oplossen om te bewijzen dat het een mens is.
JS challenge Cloudflare stuurt een JavaScript-uitdaging om bots te filteren zonder de gebruiker lastig te vallen.
Log Verzoek wordt toegestaan, maar alleen gelogd voor analyse; handig om regels te testen.

Maak een WAF regel aan die verkeer vanuit deze ASN's tegenhoudt, maar zorg wel dat je gekozen mitigatie de mogelijkheid biedt dat normale bezoekers (via bv VPN) de website kunnen bereiken.


Issue: Monitor service werkt niet meer

Na het instellen WAF rule, word je gebeld door devops. De monitor service die de bereikbaarheid van de website checkt, geeft geen gegevens meer door. De bot heeft als useragent 'MarketingBot-1.0.0'.


Analyseer waarom deze bot geblokkeerd wordt en bedenk een oplossing die zo specifiek mogelijk is.



Issue : Formulier wordt niet meer gecrawled door search engines.

Marketing constateert een paar weken later dat de reserveringspagina flink gedaald is in de Google rankings. De nieuwe blok rule blijkt gericht op ASN's waar ook search engines vandaan komen zoals de google bot en de bing bot.


Zorg dat de Google Bot en andere search engines niet geblokkeerd worden.

Opdracht 3: Zone lockdown voor acceptatie omgeving

Er bestaat een acceptatieomgeving voor de Detour website die nog niet is opgenomen in de DNS

Maak een CNAME subdomein record 'acc' en laat het resolven naar je lab domeinnaam

Controleer dat de acceptatieomgeving correct resolved en bereikbaar is


De acceptatieomgeving is nu voor iedereen van buiten te benaderen via acc.labx.salt-security-labs.com. Dit is niet wenselijk. De wens is om deze omgeving alleen op te stellen voor developers.


Maak een WAF rule aan waardoor de acceptatie omgeving alleen nog te benaderen is via je eigen IP adres.

Controleer dat je de omgeving nog kan benaderen en dat deze niet meer toegankelijk is voor andere bezoekers. Let op dat de productomgeving van Detour nog te bereiken is


Detour werkt samen met een derde partij die toegang nodig hebben tot alle pagina's onder het path /deals op de acceptatie omgeving

Maak een rule (of pas bestaande aan) dat het path dat begint met /deals benaderbaar is voor je mobiele IP.


Controleer dat je vanaf je mobiel alleen het /deal path kan benaderen van de acceptatieomgeving


Opdracht 4: Log potentieel gevaarlijk verkeer

Er komt veel verkeer af op het reserveringsformulier dat Cloudflare kenmerkt als aanvallen of mogelijke aanvallen. Voordat we dat met een block rule tegenhouden, willen we eerst de regel een week analyseren door deze te loggen


Attack score Cloudflare

De WAF van Cloudflare kent elk request een attack score toe van 1 tot 99. Deze score valt verder onder te verdelen in categorieen zoals 'attack' en 'clean' en kan gebruikt worden in de WAF rules.

Maak een log rule die al het potentieel gevaarlijke verkeer naar het reserveringsformulier target en maak een uitzondering voor verkeer vanuit Nederland en met query strings die de naam 'google' of "bing" bevatten