Aanpak en implementatie voor de case, opgebouwd rond drie fases: Health Check, Implementation & Optimization en Watchtower.
Een e-commercesite, gehost op eigen servers, moet achter Cloudflare komen, met oog voor security, performance, DNS en beschikbaarheid.
Bezoekers ver van de origin ervaren tragere laadtijden.
SQL-injection, DDoS en Slowloris tasten de beschikbaarheid aan.
Instructievideo's bij een specifiek product mogen niet publiek toegankelijk zijn.
Geen migratie: Cloudflare komt ervoor, de website zelf verhuist niet.
De aanpak volgt drie fases: van analyse, via implementatie, naar doorlopend beheer.
Infrastructuur, huidige configuratie en prioriteiten in kaart brengen, vóór er iets wijzigt.
DNS, WAF, performance en toegangsbeheer effectief opzetten en afstellen.
Maandelijkse review, rule-tuning en rapportage, zodat de omgeving blijft mee-evolueren.
Elke keuze verderop in dit voorstel hangt af van de antwoorden op deze vragen. Voor deze oefening worden op de volgende slide expliciete aannames gemaakt zodat de implementatie concreet uitgewerkt kan worden.
Deze aannames worden bevestigd tijdens de effectieve Health Check bij de klant. Waar een aanname niet blijkt te kloppen, wijzigt de aanpak in fase 2.
Alle relevante records worden proxied (orange-clouded). Pas dan gelden WAF, cache en DDoS-bescherming.
Origin-IP niet langer publiek zichtbaar in DNS-lookups, de eerste stap tegen alle drie de genoemde aanvalstypes.
Eén cloudflared-instantie op de origin-server. Outbound-only verbinding, geen inbound firewall-regel nodig voor Cloudflare's IP-ranges.
Geen losse maatregel, maar een opbouw: het gekende wordt gevangen door signatures, het onbekende door machine learning. Relevant voor SQLi, maar ook voor andere aanvalstypes.
Signature-based, door Cloudflare onderhouden. Dekt een brede set gekende aanvalspatronen, waaronder SQLi, en staat na deployment automatisch actief, zonder verdere configuratie.
ML-laag voor varianten en bypasses die signatures missen. Eigen SQLi-deelscore beschikbaar.
Extra dekking, maar meer false positives, daarom bewust niet als standaard aangeraden.
L3 / L4 / L7 altijd actief op Cloudflare's netwerk. Geen aparte configuratie nodig.
Wordt automatisch onschadelijk gemaakt: Cloudflare's proxy buffert het volledige HTTP-request vóór het naar de origin gaat. Een onvolledig request bereikt de origin nooit.
Aparte configuratiestap, niet automatisch afgeleid van WAF. Bescherming tegen misbruik op kritieke endpoints zoals checkout en login.
Elke laag vangt op wat de vorige niet kon: het meeste hoeft nooit naar de origin, de rest gaat er zo snel mogelijk naartoe.
Statisch standaard gecachet. Dynamisch (cart, checkout) expliciet bypassed: nooit blind "Cache Everything" toepassen.
Hiërarchie van datacenters vangt cache-misses op vóór de origin geraakt wordt.
Snelste realtime pad op Cloudflare's backbone voor wat wél naar de origin moet, relevant voor verre bezoekers.
Deny-by-default op het specifieke pad. Verificatie via One-Time PIN, geen wachtwoord om te beheren of te lekken.
Veilig te combineren: Access valideert de sessie vóór de cache-fase, mits de cache-key en Cache-Control correct geconfigureerd zijn.
WAF-regels die vandaag correct staan, kunnen na verloop van tijd achterhaald raken door nieuwe aanvalspatronen. Deze fase houdt de configuratie actueel.
Adaptive bitrate streaming voor de installatievideo's, buiten de huidige scope, maar een logische optimalisatie later. Relevant zodra bestanden de 512 MB-cachelimiet overschrijden (bv. een video van 1 GB wordt op Free/Pro/Business niet gecachet).
Erkende plaatsers beheerd in de eigen applicatie van de klant, automatisch gesynchroniseerd naar de Access-policy via de Cloudflare API.
| Probleem uit de case | Oplossing | Fase |
|---|---|---|
| Trage laadtijden wereldwijd | CDN, Tiered Cache, Argo Smart Routing | 02 |
| SQL-injection | Managed Ruleset + WAF Attack Score | 02 |
| DDoS & Slowloris | Altijd-actieve DDoS-bescherming + request buffering | 02 |
| Beveiligde installatievideo's | Cloudflare Access (OTP) + Tunnel | 02 |
| Blijvend actuele bescherming | Maandelijkse tuning & rapportage | 03 |
Nee. Managed Ruleset (signatures) is de primaire laag, Attack Score (ML) vangt varianten en bypasses, OWASP is optioneel. Drie complementaire lagen, niet één regel.
Cloudflare's eigen documentatie stelt expliciet dat de OWASP Core Ruleset gevoelig is voor false positives en slechts marginale meerwaarde biedt bovenop Managed Ruleset + Attack Score. Oorzaak: OWASP werkt met een cumulatief scoresysteem (elke matchende sub-regel telt punten op tot een drempel), waardoor grotere/complexere requests (zoals een uitgebreid checkout-formulier) sneller per ongeluk over die drempel gaan. Bron: developers.cloudflare.com/waf/managed-rules/reference/owasp-core-ruleset
Ja, een apart ruletype met eigen expressie, drempel en actie, los van de WAF-managed rules.
One-Time PIN per e-mail, geen wachtwoord om te beheren of te lekken. Sessie loopt via een ondertekende JWT in de CF_Authorization-cookie.
Bij één origin-server is Tunnel even eenvoudig op te zetten én sterker beveiligd (geen open poort), dus baseline vanaf dag 1, geen upgrade-pad.
Access heeft geen native koppeling met de klantendatabase, en het vermengt twee gebruikerspopulaties met verschillend vertrouwensniveau. OTP heeft bovendien geen opgeslagen geheim dat kan lekken.
Nieuwe of aangepaste regels starten in Log-mode. Na validatie in Security Events (minstens één werkdag) schakelen ze over naar Block. Cloudflare hanteert dit patroon zelf voor de eigen Managed Ruleset-updates.
Business. Het WAF Attack Score Class-veld en rate limiting rules zijn pas vanaf dat plan beschikbaar. Custom rules bestaan al vanaf Pro, maar daar met een limiet van 20; gezien we voor deze case waarschijnlijk meer nodig hebben (SQLi, rate limiting-gerelateerde regels, en ruimte voor toekomstige regels), is Business ook op dat vlak de veiligere keuze met 100 custom rules. Enterprise wordt pas relevant als de video's boven de 512 MB-cachelimiet uitkomen.
Full, aangenomen dat Cloudflare nog niet actief is op dit domein. Partial (CNAME) is vooral relevant bij grote organisaties met een reeds bestaand, strikt beheerd DNS-team, wat hier niet het profiel lijkt.
Zero Trust/Access is gratis tot 50 gebruikers, daarboven €7/gebruiker/maand. Ja, elke plaatser telt als één seat, ongeacht of de policy via een domeinmatch of individuele adressen werkt. Het gaat om alle unieke gebruikers die ooit authenticeerden (cumulatief), niet om gelijktijdig ingelogde gebruikers: eenmaal geauthenticeerd bezet iemand de seat tot een beheerder die actief verwijdert.
Health Check → Implementation & Optimization → Watchtower.