💼 Management Samenvatting
Azure Application Gateway met Web Application Firewall (WAF) vormt een essentiële verdedigingslaag voor internetgerichte webapplicaties van Nederlandse overheidsorganisaties. Waar traditionele netwerkfirewalls verkeer filteren op poort- en IP-niveau, analyseert WAF HTTP(S)-verkeer diepgaand op patronen die wijzen op SQL-injectie, Cross-Site Scripting (XSS), Remote Code Execution (RCE) en andere OWASP Top 10-risico's. Door WAF centraal te positioneren in combinatie met loadbalancing en TLS-terminatie, ontstaat een strategisch aangrijpingspunt waar beveiligingsbeleid consistent kan worden afgedwongen en gemonitord over meerdere applicaties en omgevingen heen.
✓ Azure Web Application Firewall
✓ Internetgerichte webapplicaties
Zonder een goed geconfigureerde WAF op Application Gateway zijn internetgerichte applicaties direct blootgesteld aan geautomatiseerde scans, botnets en gerichte aanvallen. In de praktijk blijkt dat veel overheidsorganisaties wel kwetsbaarheden oplossen in applicatiecode, maar geen structurele bescherming hebben tegen zero-day exploits of misconfiguraties in frameworks en middleware. Aanvallers hoeven dan slechts één fout in een webframework of plug-in te vinden om toegang te krijgen tot persoonsgegevens, basisregistraties of bestuurlijke documenten. Bovendien ontbreekt zonder WAF vaak centraal zicht op aanvallen: logging is versnipperd over applicaties, ontwikkelteams en omgevingen. Daarmee is het vrijwel onmogelijk om bij incidenten snel te reconstrueren hoe lang een aanval al bezig was, welke payloads zijn gebruikt en welke endpoints het hardst zijn geraakt. Voor instellingen die moeten aantonen dat zij onder BIO, NIS2 en AVG passende technische maatregelen hebben getroffen, is dit een onacceptabele situatie: auditors verwachten een aantoonbare defense-in-depth-opzet waarin WAF een expliciete control vormt voor webverkeer.
Connection:
Connect-AzAccountRequired Modules: Az.Network, Az.Resources, Az.Accounts
Implementatie
Dit artikel beschrijft hoe organisaties binnen de Nederlandse Baseline voor Veilige Cloud Application Gateway met WAF_v2 inrichten als robuuste, centraal beheerde beveiligingslaag voor webapplicaties. De focus ligt op drie pijlers. Ten eerste ontwerp en basisconfiguratie: het kiezen van de juiste SKU, het inrichten van dedicated subnets, listeners en back-end pools, en het koppelen van één of meerdere WAF-beleidsobjecten aan specifieke sites en URL-paden. Ten tweede de concrete WAF-configuratie: activeren van OWASP Core Rule Set (CRS), kiezen tussen Detectie- en Preventiemodus, configureren van uitsluitingen en aangepaste regels, en zorgen voor volledige integratie met Log Analytics en eventueel Microsoft Sentinel. Ten derde operationalisatie en governance: hoe monitoring, incidentrespons, change management en periodieke tuning worden georganiseerd zodat WAF geen eenmalig project blijft, maar een volwassen capability wordt. Het bijbehorende PowerShell-script inventariseert Application Gateways in een abonnement, controleert of WAF is ingeschakeld, in welke modus deze draait, of een modern regelschema wordt gebruikt en of logging is geconfigureerd naar een centrale workspace. Daarmee krijgen securityteams direct inzicht in ontbrekende of verouderde configuraties en kunnen zij gericht verbeteracties initiëren.
Architectuur en ontwerp van Application Gateway WAF
Een effectieve inzet van Application Gateway met WAF begint bij een doordacht architectuurontwerp. In plaats van WAF achteraf voor bestaande applicaties te plaatsen, is het verstandiger om vanuit een referentiearchitectuur te werken waarin alle internetgerichte webapplicaties standaard via een centraal of gedeeld Application Gateway-platform verlopen. In zo'n ontwerp worden per omgeving (bijvoorbeeld ontwikkel, test, acceptatie, productie) één of meer gateways geplaatst in dedicated subnets binnen een hub- of spoke-architectuur. De gateways verzorgen niet alleen Layer 7-loadbalancing, maar fungeren ook als centrale terminatiepunten voor TLS, zodat certificaatbeheer en beveiligingsbeleid niet versnipperd raken. Belangrijk is dat het ontwerp rekening houdt met beschikbaarheidseisen: productie-gateways worden standaard zone-redundant en autoscaling wordt ingeschakeld, zodat volumetrische aanvallen of piekbelasting niet direct leiden tot uitval van diensten die voor burgers of ketenpartners essentieel zijn.
Randvoorwaardelijk is een helder beeld van het applicatielandschap en dataclassificatie. Voor elke webapplicatie moet bekend zijn of deze persoonsgegevens, vertrouwelijke beleidsinformatie of slechts publieke informatie verwerkt. Dit bepaalt de strengheid van het WAF-beleid, de wijze van logging en de eisen aan failover-scenario's. Applicaties met hoge dataclassificatie moeten bijvoorbeeld altijd achter een WAF in Preventiemodus draaien, met een moderne OWASP CRS-versie en aanvullende custom rules voor gevoelige functionaliteit zoals inlogschermen, uploadportalen en beheerinterfaces. Ook wordt vastgelegd welke DNS-namen en certificaten aan de gateway worden gekoppeld en hoe de relatie is met identity providers zoals Microsoft Entra ID (bijvoorbeeld voor pre-authenticated verkeer via App Service Authentication of reverse proxy-scenario's). Zonder deze inventarisatie bestaat het risico dat slechts een deel van de kritieke endpoints wordt beschermd en dat subdomeinen of beheerportalen buiten beeld blijven.
Op infrastructuurniveau vereist Application Gateway een zorgvuldig ingericht virtueel netwerk. Gateways worden geplaatst in een dedicated subnet dat alleen het gatewayverkeer bevat; back-end services zoals App Service Environments, virtuele machines of Kubernetes-clusters bevinden zich in gescheiden subnets die via netwerkbeveiligingsgroepen (NSG's) uitsluitend verkeer vanaf de gateway toestaan. Voor hybride scenario's, waarin back-end systemen on-premises of in andere clouds draaien, wordt gebruikgemaakt van VPN- of ExpressRoute-verbindingen die via firewall- of security-appliances lopen. Dit voorkomt dat WAF wordt omzeild via directe verbindingen. Tegelijkertijd worden network security-groepen zo geconfigureerd dat verkeer van internet alleen via publieke IP-adressen van de gateway kan binnenkomen. Hiermee wordt een Zero Trust-achtige opzet gerealiseerd: er bestaat geen directe inbound connectiviteit naar de applicatie zonder dat verkeer eerst door WAF is gegaan.
Een volwassen referentiearchitectuur definieert ook hoe multi-tenancy en scheiding van verantwoordelijkheden worden geborgd. Sommige organisaties kiezen voor één centrale gateway per regio, waarop meerdere WAF-beleidsobjecten zijn gekoppeld aan verschillende listeners en URL-paden. Andere organisaties geven de voorkeur aan per-dienst of per-domein gateways, zodat eigenaarschap en kostenverantwoording eenvoudig te traceren zijn. In beide gevallen moet Role-Based Access Control (RBAC) in Azure duidelijk vastleggen welke teams wijzigingen mogen doen aan de gateway zelf, wie WAF-beleid mag aanpassen en welke rollen alleen leesrechten krijgen voor monitoring en troubleshooting. Just-in-Time-toegang via Privileged Identity Management is essentieel om beheeracties te beperken in tijd en scope en om achteraf te kunnen aantonen wie welke wijziging heeft doorgevoerd.
Tot slot vraagt de Nederlandse Baseline voor Veilige Cloud expliciet aandacht voor integratie met monitoring, logging en SIEM. Bij het ontwerp van Application Gateway moet daarom direct worden vastgelegd naar welke Log Analytics-workspace de WAF- en access-logboeken worden weggeschreven, welke bewaartermijnen gelden en hoe deze gegevens worden gekoppeld aan een Security Operations Center (SOC) en incident-responsteams. Het is onvoldoende om alleen standaard logging aan te zetten; er moeten ook query's, alerts en dashboards worden gedefinieerd die inzicht geven in aanvalspatronen, false positives en trends in geblokkeerde of toegestane verzoeken. Deze architectuurkeuzes bepalen in hoge mate of WAF later daadwerkelijk als strategische control kan worden ingezet of slechts als technische optie die ergens aan staat zonder dat iemand echt begrijpt wat er gebeurt.
WAF-beleid configureren met OWASP-regelsets en custom regels
Wanneer de basisarchitectuur staat, verschuift de aandacht naar het concrete WAF-beleid op Application Gateway. De kern hiervan is het kiezen van de juiste Web Application Firewall Configuration per listener of site. In moderne omgevingen wordt gebruikgemaakt van WAF_v2 met een afzonderlijk WAF Policy-object dat los van de gateway wordt beheerd en door meerdere listeners kan worden hergebruikt. Dit beleid definieert onder meer of de firewall in Detectie- of Preventiemodus draait, welke OWASP Core Rule Set (CRS) versie wordt gebruikt en welke aangepaste regels worden toegepast voor specifieke applicaties. Voor Nederlandse overheidsorganisaties geldt dat internetgerichte productieomgevingen standaard in Preventiemodus draaien met een up-to-date CRS-versie; Detectiemodus wordt alleen nog tijdelijk gebruikt voor tuning, bijvoorbeeld bij grote applicatiewijzigingen of migraties.
De keuze voor een CRS-versie is niet louter technisch, maar ook een compliancevraagstuk. Door een verouderde regelset te gebruiken, loopt de organisatie aantoonbaar achter op bekende aanvalspatronen en vergroot zij het risico dat auditors constateren dat passende maatregelen ontbreken. Het WAF-beleid moet daarom een proces bevatten voor het periodiek evalueren en upgraden van de CRS-versie, inclusief regressietesten in een niet-productieomgeving. Tijdens zo'n upgrade worden eerst alle regels in Detectiemodus gezet zodat logs inzicht geven in mogelijke false positives. Vervolgens worden uitzonderingen geconfigureerd voor legitieme patronen die door de nieuwe regels ten onrechte worden gezien als verdacht. Pas als de loganalyse aantoont dat het verkeer correct wordt geclassificeerd, wordt Preventiemodus weer geactiveerd op productie. Deze werkwijze voorkomt dat nieuwe regels onverwacht bedrijfsprocessen blokkeren en borgt tegelijkertijd dat de organisatie niet jarenlang op een verouderde regelset blijft hangen.
Een tweede belangrijk aspect van WAF-beleid is het zorgvuldig definiëren van uitsluitingen en custom rules. Uitsluitingen (exclusions) worden gebruikt om bepaalde headers, queryparameters of bodyvelden uit te sluiten van inspectie, bijvoorbeeld bij integraties met derde partijen die ongewone encodering of grote binaire payloads gebruiken. De Nederlandse Baseline voor Veilige Cloud schrijft hierbij het principe zo specifiek mogelijk voor: een uitzondering wordt altijd beperkt tot een concrete combinatie van hostnaam, pad, parameter en eventueel bron-IP of -ASN. Brede uitzonderingen zoals negeer alle regels voor deze applicatie zijn niet acceptabel omdat zij feitelijk de beveiligingslaag uitschakelen. Custom rules worden juist ingezet om generiek beleid verder aan te scherpen, bijvoorbeeld door brute-force bescherming op inlogroutes, geo-blokkades voor landen waaruit geen legitiem verkeer wordt verwacht, of extra validatie op upload- of beheerfuncties. Alle uitzonderingen en custom rules worden vastgelegd in een WAF-changelog met datum, reden, risico-inschatting en accordering door de security officer of CISO.
Gebruik PowerShell-script application-gateway-waf.ps1 (functie Invoke-Monitoring) – Voert een monitoringcontrole uit op Application Gateways om te bepalen of WAF is ingeschakeld, in welke modus deze draait en welke regels en logging zijn geconfigureerd..
Beheer, monitoring en tuning van Application Gateway WAF
Gebruik PowerShell-script application-gateway-waf.ps1 (functie Invoke-Remediation) – Genereert een gedetailleerd overzicht van WAF-configuratie per Application Gateway, inclusief status, modus, regels en koppeling met logvoorzieningen..
Zodra Application Gateway WAF in productie staat, verschuift de aandacht van ontwerp naar dagelijks beheer en continue verbetering. Monitoring begint met het borgen dat alle relevante gateways daadwerkelijk een WAF-configuratie hebben. Het bijbehorende PowerShell-script inventariseert periodiek alle Application Gateways in de abonnementen die onder het beheer van de organisatie vallen en classificeert ze naar WAF-status: volledig uitgeschakeld, alleen Detectiemodus of daadwerkelijk blokkerend. Ook wordt vastgelegd welke CRS-versie en firewallmodus wordt gebruikt en of de gateway is gekoppeld aan een centraal WAF-beleid of een lokale configuratie. De resultaten worden gebundeld in een rapport of dashboard dat voor CISO, architectuurboard en SOC inzichtelijk maakt waar risico's en verbeterkansen liggen. Dit voorkomt dat na reorganisaties, migraties of nieuwe projecten ongemerkt gateways worden uitgerold zonder WAF of met achterstallige configuraties.
Een tweede pijler van beheer is de inhoudelijke analyse van WAF-logs. Alle diagnostische gegevens van Application Gateway, waaronder access logs en WAF logs, worden verplicht weggeschreven naar een centrale Log Analytics-workspace. Hierop worden Kusto-query's en dashboards ingericht die inzicht geven in geblokkeerde en toegestane verzoeken, trends in aanvalstypen, herkomstlanden en betrokken IP-adressen. Het SOC definieert drempelwaarden voor alerts, bijvoorbeeld bij een plotselinge toename van SQL-injectiepogingen, massale requests naar specifieke inlog- of beheerroutes of het herhaaldelijk triggeren van blokkades vanaf dezelfde bron. Deze alerts leiden tot incidenttickets en runbooks waarin is vastgelegd welke acties de analist moet ondernemen: aanvullende blokkades configureren, applicatie-eigenaren informeren, forensische data veiligstellen of escaleren naar landelijke partijen zoals het Nationaal Cyber Security Centrum. Door WAF-logs consequent te analyseren, ontstaat een rijk beeld van de dreigingsomgeving en kunnen maatregelen tijdig worden aangescherpt.
Tuning vormt de derde pijler en voorkomt dat WAF-configuratie na verloop van tijd verstijft of juist langzaam wordt uitgehold. Nieuwe functionaliteit, wijzigingen in gebruikersgedrag en veranderende dreigingen zorgen ervoor dat beleid periodiek moet worden herzien. De Nederlandse Baseline voor Veilige Cloud adviseert minimaal kwartaalgewijs een tuningcyclus uit te voeren, waarin loganalyses worden gebruikt om false positives en onbenutte regels te identificeren. Voor elke regel of uitzondering wordt beoordeeld of deze nog nodig is, of dat de scope kan worden verkleind of uitgebreid. Tevens worden lessons learned uit incidenten vertaald naar nieuwe custom rules of strengere drempels. Door tuningproces te koppelen aan formele changeprocedures en security governance, wordt voorkomen dat individuele beheerders op eigen initiatief brede uitzonderingen toevoegen die de effectiviteit van WAF ondermijnen.
Naast technische monitoring en tuning zijn heldere verantwoordelijkheden en rapportages essentieel. Organisaties leggen vast wie optreedt als product owner voor Application Gateway WAF, welke teams de dagelijkse operatie verzorgen en hoe afstemming plaatsvindt met ontwikkelteams en business-eigenaren. Periodieke rapportages – bijvoorbeeld maandelijks of per kwartaal – bevatten kerncijfers zoals het aantal geblokkeerde aanvallen, verdeling naar type, tijd tot mitigatie van geconstateerde kwetsbaarheden en het percentage gateways dat volledig aan het standaardbeleid voldoet. Deze rapportages worden besproken in security- en risicocomités en vormen input voor strategische keuzes, zoals uitbreiding van capaciteit, investering in aanvullende tooling of verscherping van acceptatiecriteria voor nieuwe applicaties. Zo groeit Application Gateway WAF uit tot een volwaardige beveiligingsdienst in plaats van een losstaande technische component.
Compliance, auditing en verantwoording
WAF-configuratie op Azure Application Gateway raakt direct aan meerdere compliancekaders waar Nederlandse overheidsorganisaties aan gebonden zijn. Vanuit de Baseline Informatiebeveiliging Overheid (BIO) geldt dat internetgerichte diensten zodanig moeten zijn beveiligd dat de vertrouwelijkheid, integriteit en beschikbaarheid van informatie is gewaarborgd. In de praktijk betekent dit dat organisaties moeten aantonen dat zij maatregelen hebben getroffen tegen veelvoorkomende webaanvallen en dat zij actieve detectie en responsmechanismen hebben ingericht. Een aantoonbaar goed ingerichte WAF vormt hiervoor een belangrijk onderdeel van het bewijs richting interne en externe auditors. Tijdens audits wordt daarom niet alleen gekeken naar het bestaan van een WAF, maar vooral naar de kwaliteit van het beleid, de wijze van beheer, de monitoringresultaten en de aansluiting op incidentresponsprocessen.
ISO 27001 en aanverwante normen leggen nadruk op het systematisch beheren van beveiligingsmaatregelen als onderdeel van een Information Security Management System (ISMS). Voor WAF betekent dit dat beleid, rollen en verantwoordelijkheden, risico-analyses, changeprocedures en periodieke evaluaties gedocumenteerd moeten zijn. Organisaties moeten bijvoorbeeld kunnen aantonen dat de keuze voor bepaalde regelsets en beleidsniveaus voortkomt uit een risicoafweging: waarom is voor een kritieke applicatie gekozen voor een strengere policy, welke dreigingen moeten daarmee worden afgedekt en hoe wordt beoordeeld of dit in de praktijk werkt? Daarnaast moeten er procedures zijn voor het beoordelen van false positives, het toevoegen van uitzonderingen en het periodiek herzien van die uitzonderingen. Auditors zullen willen zien dat uitzonderingen niet ad hoc en onbeperkt worden toegevoegd, maar dat elke uitzondering een eigenaar, motivatie, einddatum of herzieningsmoment heeft en dat er periodieke review plaatsvindt.
NIS2 introduceert voor aangewezen essentiële en belangrijke entiteiten aanvullende verplichtingen op het gebied van risicobeheer, detectie, incidentmelding en ketenbeveiliging. Webapplicaties die burgers of ketenpartners toegang geven tot vitale processen of gegevens vallen hier nadrukkelijk onder. Toezichthouders zullen daarom steeds vaker vragen naar de manier waarop webapplicaties zijn beschermd tegen aanvalsvectoren als SQL-injectie, XSS en geautomatiseerde scans, en hoe organisaties daarop monitoren en reageren. Een goed gedocumenteerde WAF-implementatie, ondersteund door centrale logging en integratie met het SOC, biedt hiervoor concreet bewijs. Organisaties moeten kunnen aantonen welke dashboards beschikbaar zijn, welke alerts zijn ingericht, hoe escalatie verloopt bij een vermoedelijke aanval, en hoe lessons learned uit incidenten worden vertaald naar verbeteringen in WAF-configuratie.
Voor verantwoording richting bestuur en politiek is ten slotte belangrijk dat de complexiteit van WAF wordt vertaald naar begrijpelijke stuurinformatie. Bestuurders hoeven niet te weten welke individuele OWASP-regels actief zijn, maar wel of alle kritieke webapplicaties onder een passend WAF-beleid vallen, hoeveel aanvallen worden gedetecteerd en geblokkeerd, of er recente incidenten zijn geweest die door WAF zijn tegengehouden of juist niet, en welke rest-risico's nog geaccepteerd worden. Deze informatie kan worden samengevat in periodieke rapportages en dashboards die onderdeel zijn van de bredere rapportagelijn over cyberweerbaarheid. Voor Nederlandse overheidsorganisaties draagt dit bij aan transparante verantwoording richting gemeenteraad, Provinciale Staten, Tweede Kamer of toezichthouders en ondersteunt het bij het onderbouwen van investeringen in verdere versterking van digitale weerbaarheid.
Compliance & Frameworks
- CIS M365: Control 6.6, 9.1 (L1/L2) - Implementeer Web Application Firewall voor internetgerichte webapplicaties en borg netwerk- en perimeterscheiding in lijn met de CIS Azure Foundations Benchmark.
- BIO: 12.01, 12.04, 14.02 - Systeemontwikkeling, logging en applicatiebeveiliging voor internetgerichte diensten binnen de Baseline Informatiebeveiliging Overheid.
- ISO 27001:2022: A.8.24, A.8.33, A.8.34 - Webfiltering, monitoring van beveiligingsgebeurtenissen en technische kwetsbaarheden in het kader van een Information Security Management System.
- NIS2: Artikel - Technische en organisatorische maatregelen voor risicobeheersing, inclusief bescherming van netwerk- en informatiesystemen tegen aanvalspatronen via webapplicaties.
Automation
Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).
Risico zonder implementatie
Management Samenvatting
Azure Application Gateway met Web Application Firewall (WAF) vormt een verplichte verdedigingslaag voor internetgerichte webapplicaties binnen de Nederlandse Baseline voor Veilige Cloud. Door een gestandaardiseerde architectuur, modern WAF-beleid op basis van OWASP CRS en strakke integratie met Log Analytics en SOC-processen te implementeren, worden aanvallen vroegtijdig geblokkeerd en wordt een rijk beeld van dreigingen opgebouwd. Het bijbehorende PowerShell-script inventariseert automatisch welke Application Gateways WAF hebben ingeschakeld, in welke modus zij draaien en of logging en moderne regels actief zijn, zodat hiaten snel zichtbaar worden. De benodigde inspanning is beperkt (circa 32 uur initiële implementatie), terwijl de risicoreductie en auditbaarheid aanzienlijk zijn voor alle webgebaseerde diensten in Azure.
- Implementatietijd: 32 uur
- FTE required: 0.2 FTE