Azure DDoS Protection Standard: Bescherming Tegen Gedistribueerde Denial-of-Service Aanvallen

💼 Management Samenvatting

Azure DDoS Protection Standard vormt een essentiële beveiligingslaag voor Nederlandse overheidsorganisaties die publieke diensten aanbieden via Azure. Gedistribueerde Denial-of-Service (DDoS) aanvallen zijn een van de meest voorkomende en verstorende cyberbedreigingen, waarbij aanvallers grote hoeveelheden verkeer naar services sturen om deze onbeschikbaar te maken voor legitieme gebruikers. Azure DDoS Protection Standard biedt geavanceerde, automatische bescherming tegen DDoS-aanvallen door gebruik te maken van machine learning-algoritmen, real-time threat intelligence en adaptieve mitigatie die automatisch reageert op aanvallen zonder handmatige interventie. In tegenstelling tot de basis DDoS-bescherming die standaard beschikbaar is voor alle Azure-services, biedt DDoS Protection Standard aangepaste mitigatiebeleid, gedetailleerde aanvalsrapportages, waarschuwingsmogelijkheden en kostenschadebescherming, waardoor organisaties beter kunnen reageren op en leren van DDoS-incidenten.

Aanbeveling
IMPLEMENTEER DDoS PROTECTION STANDARD VOOR ALLE KRITIEKE PUBLIEKE SERVICES
Risico zonder
High
Risk Score
9/10
Implementatie
24u (tech: 16u)
Van toepassing op:
Azure
Azure Virtual Networks
Publieke IP-adressen
Azure Application Gateway
Azure Load Balancer

Zonder Azure DDoS Protection Standard zijn publieke Azure-services kwetsbaar voor DDoS-aanvallen die kunnen resulteren in volledige service-uitval, waardoor burgers en bedrijven geen toegang meer hebben tot kritieke overheidsdiensten. DDoS-aanvallen zijn relatief eenvoudig uit te voeren voor aanvallers maar kunnen enorme schade veroorzaken: een enkele aanval kan een service dagenlang onbeschikbaar maken, wat leidt tot verlies van vertrouwen, reputatieschade en mogelijke boetes voor niet-naleving van service level agreements. De basis DDoS-bescherming die standaard beschikbaar is in Azure biedt alleen algemene bescherming zonder aanpassingsmogelijkheden, zonder gedetailleerde rapportages en zonder waarschuwingsmogelijkheden, waardoor organisaties blind zijn voor aanvallen en niet kunnen leren van incidenten. Zonder DDoS Protection Standard kunnen organisaties niet aantonen aan auditors en stakeholders dat zij passende maatregelen hebben genomen om beschikbaarheid te waarborgen, wat kan leiden tot compliance-problemen met frameworks zoals BIO, NIS2 en ISO 27001 die expliciete eisen stellen aan beschikbaarheid en resilience. Daarnaast ontbreekt zonder DDoS Protection Standard kostenschadebescherming: tijdens een DDoS-aanval kan het dataverkeer enorm toenemen, wat leidt tot onverwachte kosten die organisaties moeten dragen. Azure DDoS Protection Standard biedt kostenschadebescherming die deze extra kosten dekt tijdens een geverifieerde DDoS-aanval, waardoor organisaties beschermd zijn tegen financiële gevolgen van aanvallen.

PowerShell Modules Vereist
Primary API: Azure API
Connection: Connect-AzAccount
Required Modules: Az.Network, Az.Resources, Az.Accounts

Implementatie

Dit artikel beschrijft hoe organisaties binnen de Nederlandse Baseline voor Veilige Cloud Azure DDoS Protection Standard implementeren en configureren als robuuste bescherming tegen DDoS-aanvallen. De focus ligt op vier hoofdcomponenten. Ten eerste architectuur en planning: het begrijpen van DDoS-aanvalstypen, het identificeren van resources die bescherming nodig hebben, het kiezen tussen DDoS Protection Standard en basis bescherming, en het integreren van DDoS Protection in bestaande netwerkarchitecturen. Ten tweede implementatie en configuratie: het inschakelen van DDoS Protection Standard op Virtual Networks, het configureren van aangepaste mitigatiebeleid, het instellen van waarschuwingsdrempels en het koppelen van publieke IP-adressen aan DDoS Protection. Ten derde monitoring en respons: het configureren van Azure Monitor-integratie, het opzetten van dashboards en alerts, het analyseren van aanvalsrapportages en het implementeren van incidentresponsprocedures. Ten vierde operationalisatie en governance: het opzetten van change management-processen, het definiëren van verantwoordelijkheden, het implementeren van periodieke reviews en het borgen van compliance met relevante frameworks. Het bijbehorende PowerShell-script inventariseert alle DDoS Protection Standard-configuraties in een abonnement, controleert of resources correct zijn beschermd, identificeert ontbrekende configuraties en genereert compliance-rapportages.

DDoS-bedreigingslandschap en aanvalstypen

Gedistribueerde Denial-of-Service aanvallen vormen een constante bedreiging voor Nederlandse overheidsorganisaties die publieke diensten aanbieden. DDoS-aanvallen werken door grote hoeveelheden verkeer naar een service te sturen, waardoor de service overbelast raakt en niet meer beschikbaar is voor legitieme gebruikers. Aanvallers gebruiken vaak botnets – netwerken van gecompromitteerde apparaten zoals computers, IoT-apparaten of servers – om verkeer te genereren, waardoor het moeilijk wordt om aanvallen te blokkeren op basis van individuele IP-adressen. DDoS-aanvallen kunnen verschillende doelen hebben: politieke motieven waarbij aanvallers overheidsdiensten willen verstoren om een boodschap te sturen, financiële motieven waarbij aanvallers losgeld eisen om aanvallen te stoppen, of tactische motieven waarbij aanvallen worden gebruikt als afleiding terwijl andere aanvallen worden uitgevoerd. Voor Nederlandse overheidsorganisaties zijn DDoS-aanvallen bijzonder problematisch omdat zij directe impact hebben op de beschikbaarheid van diensten aan burgers en bedrijven, wat kan leiden tot verlies van vertrouwen, reputatieschade en mogelijke boetes voor niet-naleving van service level agreements.

DDoS-aanvallen kunnen worden gecategoriseerd in verschillende typen, elk met hun eigen karakteristieken en mitigatiestrategieën. Volume-based aanvallen werken door grote hoeveelheden verkeer te genereren om de netwerkbandbreedte te overbelasten. Voorbeelden zijn UDP floods waarbij grote hoeveelheden UDP-pakketten worden verzonden, ICMP floods waarbij ping-verzoeken worden gebruikt, en DNS amplification attacks waarbij kleine DNS-verzoeken worden gebruikt om grote antwoorden te genereren. Protocol-based aanvallen richten zich op netwerkprotocollen en werken door serverresources te overbelasten door misbruik te maken van protocol-zwakheden. Voorbeelden zijn SYN floods waarbij TCP-verbindingen worden gestart maar niet voltooid, waardoor serverresources worden geblokkeerd, en Ping of Death attacks waarbij overmatig grote ICMP-pakketten worden verzonden. Application-layer aanvallen richten zich op de applicatielaag en werken door specifieke applicatie-eindpunten te overbelasten met ogenschijnlijk legitiem verkeer. Voorbeelden zijn HTTP floods waarbij grote hoeveelheden HTTP-verzoeken worden verzonden, Slowloris attacks waarbij verbindingen langzaam worden gehouden om serverresources te blokkeren, en Layer 7 aanvallen die specifieke applicatie-eindpunten targeten. Azure DDoS Protection Standard biedt bescherming tegen al deze aanvalstypen door gebruik te maken van geavanceerde detectie-algoritmen en automatische mitigatie.

De impact van DDoS-aanvallen kan aanzienlijk zijn voor Nederlandse overheidsorganisaties. Tijdens een aanval kunnen kritieke diensten volledig onbeschikbaar worden, waardoor burgers geen toegang hebben tot belangrijke informatie, formulieren of services. Dit kan leiden tot verlies van vertrouwen in de digitale overheid, reputatieschade en mogelijke boetes voor niet-naleving van service level agreements. Daarnaast kunnen DDoS-aanvallen worden gebruikt als afleiding terwijl andere aanvallen worden uitgevoerd: terwijl security teams bezig zijn met het reageren op een DDoS-aanval, kunnen aanvallers proberen om toegang te krijgen tot systemen of data te stelen. Voor organisaties die moeten voldoen aan compliance-frameworks zoals BIO, NIS2 en ISO 27001 is het essentieel om passende maatregelen te nemen tegen DDoS-aanvallen, omdat deze frameworks expliciete eisen stellen aan beschikbaarheid en resilience. Zonder adequate DDoS-bescherming kunnen organisaties niet aantonen dat zij passende maatregelen hebben genomen om beschikbaarheid te waarborgen, wat kan leiden tot compliance-problemen tijdens audits.

De kosten van DDoS-aanvallen kunnen aanzienlijk zijn, zowel direct als indirect. Directe kosten omvatten de extra dataverkeer die wordt gegenereerd tijdens een aanval, wat kan leiden tot onverwachte Azure-kosten. Zonder DDoS Protection Standard moeten organisaties deze kosten zelf dragen, zelfs wanneer zij het slachtoffer zijn van een aanval. Indirecte kosten omvatten verlies van productiviteit, reputatieschade, mogelijke boetes voor niet-naleving van service level agreements, en de kosten van incidentrespons en herstel. Azure DDoS Protection Standard biedt kostenschadebescherming die de extra dataverkeerkosten dekt tijdens een geverifieerde DDoS-aanval, waardoor organisaties beschermd zijn tegen financiële gevolgen van aanvallen. Deze bescherming is bijzonder waardevol voor organisaties met grote publieke diensten die regelmatig worden getarget door DDoS-aanvallen, omdat de kosten van een enkele grote aanval aanzienlijk kunnen zijn.

Architectuur en planning van DDoS Protection Standard

Een effectieve implementatie van Azure DDoS Protection Standard begint bij een doordachte architectuur en planning die rekening houdt met de specifieke behoeften en risico's van de organisatie. DDoS Protection Standard wordt geïmplementeerd op het niveau van Virtual Networks en beschermt automatisch alle publieke IP-adressen die zijn gekoppeld aan resources binnen die Virtual Networks. Dit betekent dat organisaties moeten bepalen welke Virtual Networks bescherming nodig hebben: typisch zijn dit Virtual Networks die resources bevatten met publieke IP-adressen, zoals webapplicaties, API's, load balancers of andere internetgerichte services. Voor organisaties met meerdere Virtual Networks moeten zij bepalen of alle Virtual Networks bescherming nodig hebben, of alleen specifieke productie-omgevingen. Het is aanbevolen om DDoS Protection Standard te implementeren voor alle productie-omgevingen die publieke diensten aanbieden, omdat de kosten relatief laag zijn vergeleken met de potentiële schade van een DDoS-aanval.

De keuze tussen DDoS Protection Standard en basis DDoS-bescherming is een belangrijke architectuurkeuze. Basis DDoS-bescherming is standaard beschikbaar voor alle Azure-services en biedt algemene bescherming tegen veelvoorkomende DDoS-aanvallen zonder extra kosten. Deze bescherming is echter beperkt: er zijn geen aanpassingsmogelijkheden, geen gedetailleerde rapportages, geen waarschuwingsmogelijkheden en geen kostenschadebescherming. DDoS Protection Standard biedt geavanceerde functies zoals aangepaste mitigatiebeleid, gedetailleerde aanvalsrapportages, waarschuwingsmogelijkheden en kostenschadebescherming, maar vereist een abonnement en extra kosten. Voor Nederlandse overheidsorganisaties die kritieke publieke diensten aanbieden is DDoS Protection Standard aanbevolen omdat het betere bescherming biedt, meer inzicht geeft in aanvallen en compliance-vereisten beter ondersteunt. De kosten van DDoS Protection Standard zijn relatief laag (circa €2.500 per maand per Virtual Network) vergeleken met de potentiële schade van een DDoS-aanval, waardoor het een kosteneffectieve investering is voor de meeste organisaties.

Integratie met bestaande netwerkarchitecturen is een belangrijk aspect van de planning. DDoS Protection Standard werkt naadloos samen met andere Azure-netwerkservices zoals Azure Firewall, Application Gateway, Load Balancer en Virtual Network-peering. Wanneer DDoS Protection Standard is ingeschakeld op een Virtual Network, worden alle publieke IP-adressen binnen dat Virtual Network automatisch beschermd, ongeacht of deze IP-adressen zijn gekoppeld aan Virtual Machines, Load Balancers, Application Gateways of andere resources. Dit betekent dat organisaties geen extra configuratie hoeven uit te voeren voor individuele resources: zodra DDoS Protection Standard is ingeschakeld op een Virtual Network, worden alle resources binnen dat Virtual Network automatisch beschermd. Voor hybride scenario's waarbij resources worden gecombineerd met on-premises netwerken via VPN of ExpressRoute, biedt DDoS Protection Standard alleen bescherming voor publieke IP-adressen in Azure, niet voor on-premises resources. Organisaties moeten overwegen om aanvullende DDoS-bescherming te implementeren voor on-premises resources indien deze ook publiek toegankelijk zijn.

Beschikbaarheid en resilience zijn belangrijke overwegingen in de architectuur. DDoS Protection Standard biedt automatische, wereldwijde bescherming die schaalt met de grootte van aanvallen, waardoor organisaties beschermd zijn tegen zowel kleine als zeer grote DDoS-aanvallen. De service maakt gebruik van Microsoft's wereldwijde netwerkinfrastructuur om verkeer te analyseren en te filteren voordat het de resources bereikt, waardoor de impact van aanvallen wordt geminimaliseerd. Organisaties moeten echter begrijpen dat DDoS Protection Standard geen garantie biedt dat services volledig beschikbaar blijven tijdens zeer grote aanvallen: in extreme gevallen kan er nog steeds enige impact zijn, hoewel deze aanzienlijk wordt verminderd. Daarom moeten organisaties DDoS Protection Standard combineren met andere beschikbaarheidsmaatregelen zoals load balancing, autoscaling en redundante architecturen om maximale resilience te waarborgen.

Implementatie en configuratie van DDoS Protection Standard

De implementatie van Azure DDoS Protection Standard begint met het inschakelen van de service op een Virtual Network. Dit kan worden gedaan via de Azure Portal, PowerShell, Azure CLI of Infrastructure as Code tools zoals ARM templates of Bicep. Tijdens het inschakelen moeten organisaties een DDoS Protection Plan selecteren of aanmaken: een DDoS Protection Plan is een abonnement dat DDoS Protection Standard mogelijk maakt en kan worden gedeeld over meerdere Virtual Networks binnen een abonnement of resource group. Het is aanbevolen om één DDoS Protection Plan te gebruiken voor alle Virtual Networks binnen een organisatie om kosten te beheersen en consistentie te waarborgen. Na het inschakelen van DDoS Protection Standard op een Virtual Network worden alle publieke IP-adressen binnen dat Virtual Network automatisch beschermd, zonder dat er extra configuratie nodig is voor individuele resources.

Aangepaste mitigatiebeleid kunnen worden geconfigureerd om de DDoS-bescherming aan te passen aan de specifieke behoeften van de organisatie. Standaard gebruikt DDoS Protection Standard automatische mitigatie die is geoptimaliseerd voor de meeste scenario's, maar organisaties kunnen aangepaste beleid configureren voor specifieke protocollen, poorten of IP-adressen. Aangepaste beleid zijn vooral nuttig voor organisaties met unieke netwerkconfiguraties of specifieke beveiligingsvereisten. Bij het configureren van aangepaste beleid moeten organisaties voorzichtig zijn om niet per ongeluk legitiem verkeer te blokkeren: het is aanbevolen om aangepaste beleid eerst te testen in een niet-productieomgeving voordat ze worden toegepast op productie-omgevingen. Voor de meeste organisaties is het standaard automatische mitigatiebeleid voldoende en zijn aangepaste beleid niet nodig.

Waarschuwingsdrempels kunnen worden geconfigureerd om alerts te genereren wanneer DDoS-aanvallen worden gedetecteerd of wanneer specifieke drempels worden overschreden. Deze alerts kunnen worden geconfigureerd om e-mails te sturen, SMS-berichten te verzenden, of te integreren met incident management-systemen zoals ServiceNow of Jira. Waarschuwingsdrempels moeten worden geconfigureerd op basis van de normale verkeerspatronen van de organisatie: drempels die te laag zijn kunnen leiden tot te veel valse positieven, terwijl drempels die te hoog zijn kunnen leiden tot gemiste aanvallen. Het is aanbevolen om te beginnen met conservatieve drempels en deze aan te passen op basis van ervaring en verkeerspatronen. Voor kritieke diensten moeten alerts worden geconfigureerd met escalatieprocedures die ervoor zorgen dat belangrijke gebeurtenissen snel worden opgepakt door de juiste personen.

Integratie met Azure Monitor en Log Analytics is essentieel voor effectieve monitoring en analyse van DDoS-aanvallen. DDoS Protection Standard genereert gedetailleerde logs en metrics die kunnen worden verzameld in Log Analytics-workspaces voor analyse en rapportage. Deze logs bevatten informatie over gedetecteerde aanvallen, mitigatie-acties, verkeerspatronen en impact-metingen. Organisaties moeten ervoor zorgen dat diagnostische instellingen correct zijn geconfigureerd om logs naar een centrale Log Analytics-workspace te sturen, en moeten retentiebeleid instellen die voldoen aan compliance-vereisten (typisch 7 jaar voor Nederlandse overheidsorganisaties volgens BIO). Daarnaast moeten dashboards worden gemaakt die belangrijke metrics en trends weergeven, zoals het aantal gedetecteerde aanvallen, de grootte van aanvallen, de impact op services en trends over tijd. Deze dashboards kunnen worden gedeeld met security teams, management en auditors om transparantie te bieden en inzicht te geven in de effectiviteit van DDoS-bescherming.

Gebruik PowerShell-script ddos-protection-standard.ps1 (functie Invoke-Monitoring) – Voert een monitoringcontrole uit op DDoS Protection Standard-configuraties om te bepalen of Virtual Networks correct zijn beschermd en of waarschuwingen correct zijn geconfigureerd..

Monitoring, detectie en incidentrespons

Effectieve monitoring en detectie zijn essentieel voor het tijdig identificeren en reageren op DDoS-aanvallen. Azure DDoS Protection Standard biedt geavanceerde monitoring-mogelijkheden die organisaties in staat stellen om aanvallen te detecteren, te analyseren en te reageren. De service maakt gebruik van machine learning-algoritmen en real-time threat intelligence om aanvallen automatisch te detecteren en te mitigeren, zonder handmatige interventie. Dit betekent dat organisaties niet constant hoeven te monitoren op aanvallen: de service reageert automatisch wanneer een aanval wordt gedetecteerd. Echter, organisaties moeten wel monitoring en alerting configureren om op de hoogte te worden gesteld van aanvallen, zodat zij kunnen reageren op incidenten en kunnen leren van aanvallen om hun beveiligingspostuur te verbeteren.

Azure Monitor-integratie biedt gedetailleerde inzichten in DDoS-aanvallen en mitigatie-acties. DDoS Protection Standard genereert verschillende metrics en logs die kunnen worden verzameld in Log Analytics-workspaces voor analyse. Deze metrics omvatten informatie over gedetecteerde aanvallen, mitigatie-acties, verkeerspatronen, impact-metingen en trends over tijd. Organisaties kunnen Kusto-query's maken om specifieke vragen te beantwoorden, bijvoorbeeld welke aanvallen zijn gedetecteerd, wat de impact was op services, welke mitigatie-acties zijn uitgevoerd, of welke trends zichtbaar zijn in aanvalspatronen. Deze query's kunnen worden opgeslagen en hergebruikt voor regelmatige rapportages, en kunnen worden geïntegreerd in dashboards die belangrijke metrics en trends weergeven. Dashboards kunnen worden gedeeld met security teams, management en auditors om transparantie te bieden en inzicht te geven in de effectiviteit van DDoS-bescherming.

Incidentresponsprocedures moeten worden gedocumenteerd en getest om ervoor te zorgen dat organisaties effectief kunnen reageren op DDoS-aanvallen. Deze procedures moeten definiëren wie verantwoordelijk is voor het reageren op aanvallen, welke stappen moeten worden genomen tijdens een aanval, hoe communicatie wordt beheerd met stakeholders, en hoe aanvallen worden gedocumenteerd en geanalyseerd na afloop. Hoewel Azure DDoS Protection Standard automatisch reageert op aanvallen, moeten organisaties nog steeds procedures hebben voor het monitoren van aanvallen, het communiceren met stakeholders, het documenteren van incidenten en het analyseren van aanvallen om te leren en te verbeteren. Incidentresponsprocedures moeten regelmatig worden getest en bijgewerkt op basis van ervaring en veranderende bedreigingen. Voor kritieke diensten moeten procedures worden gedefinieerd voor escalatie naar management en externe stakeholders, inclusief burgers en media, wanneer aanvallen significante impact hebben op dienstverlening.

Aanvalsrapportages zijn waardevol voor het leren van aanvallen en het verbeteren van beveiligingspostuur. DDoS Protection Standard genereert gedetailleerde rapportages over gedetecteerde aanvallen, inclusief informatie over het type aanval, de grootte van de aanval, de duur van de aanval, de impact op services en de mitigatie-acties die zijn uitgevoerd. Deze rapportages kunnen worden gebruikt om trends te identificeren, om te leren van aanvallen en om beveiligingsmaatregelen te verbeteren. Organisaties moeten regelmatig aanvalsrapportages analyseren om te identificeren of er patronen zijn in aanvallen, of er specifieke services of tijdstippen zijn die vaker worden getarget, en of er verbeteringen nodig zijn in beveiligingsconfiguraties of incidentresponsprocedures. Deze analyses moeten worden gedocumenteerd en gedeeld met security teams en management, en moeten worden gebruikt om beveiligingsstrategieën en -configuraties bij te werken.

Gebruik PowerShell-script ddos-protection-standard.ps1 (functie Invoke-Remediation) – Genereert een gedetailleerd overzicht van DDoS Protection Standard-configuraties en identificeert ontbrekende of suboptimale instellingen die moeten worden aangepast..

Beheer, governance en compliance

Effectief beheer van Azure DDoS Protection Standard vereist duidelijke governance-structuren, gedefinieerde processen en continue monitoring. Organisaties moeten vastleggen wie verantwoordelijk is voor het dagelijks beheer van DDoS Protection Standard, wie configuraties mag wijzigen, en hoe wijzigingen worden gecontroleerd en goedgekeurd. Role-Based Access Control (RBAC) in Azure moet worden gebruikt om toegang te beperken tot alleen die personen en rollen die daadwerkelijk DDoS Protection-beheer nodig hebben. Het is aanbevolen om verschillende rollen te definiëren: DDoS-beheerders die volledige controle hebben over DDoS Protection-configuraties, monitoring-operators die alleen monitoring en rapportage kunnen uitvoeren, en lezers die alleen dashboards en rapportages kunnen bekijken. Just-in-Time-toegang via Azure Privileged Identity Management kan worden gebruikt om beheeracties te beperken in tijd en scope, waardoor het risico van misbruik wordt verminderd.

Change management is cruciaal voor het voorkomen van configuratiefouten en het borgen van compliance. Alle wijzigingen aan DDoS Protection-configuraties moeten worden gedocumenteerd met informatie over wie de wijziging heeft aangevraagd, waarom de wijziging nodig is, welke risico's zijn geëvalueerd, en wie de wijziging heeft goedgekeurd. Voor productieomgevingen moeten wijzigingen eerst worden getest in een niet-productieomgeving om te verifiëren dat de wijzigingen werken zoals bedoeld en geen onbedoelde gevolgen hebben. Wijzigingen moeten worden gepland tijdens onderhoudsvensters wanneer mogelijk, en er moeten rollback-plannen zijn voor het geval een wijziging problemen veroorzaakt. Organisaties moeten een changelog bijhouden waarin alle wijzigingen worden vastgelegd, inclusief datum, tijd, persoon, reden en impact, voor auditdoeleinden en troubleshooting.

Periodieke reviews en audits zijn essentieel om te waarborgen dat DDoS Protection-configuraties up-to-date blijven en aansluiten bij veranderende bedrijfsbehoeften en beveiligingsvereisten. Organisaties moeten minimaal kwartaalgewijs een review uitvoeren van alle DDoS Protection-configuraties om te verifiëren dat Virtual Networks correct zijn beschermd, dat waarschuwingsdrempels nog steeds geschikt zijn, dat monitoring correct is geconfigureerd, en dat incidentresponsprocedures actueel zijn. Tijdens deze reviews moeten aanvalsrapportages worden geanalyseerd om trends te identificeren, moeten configuraties worden gecontroleerd om te verifiëren dat ze nog steeds geschikt zijn, en moeten nieuwe bedrijfsvereisten worden geëvalueerd voor nieuwe configuraties. Deze reviews moeten worden gedocumenteerd en gerapporteerd aan security- en risicocomités, en bevindingen moeten worden vertaald naar concrete verbeteracties met eigenaren en deadlines.

Compliance met relevante frameworks zoals BIO, ISO 27001 en NIS2 vereist dat organisaties kunnen aantonen dat DDoS Protection Standard correct is geconfigureerd en effectief werkt. Tijdens audits moeten organisaties kunnen laten zien: dat alle kritieke publieke services zijn beschermd met DDoS Protection Standard, dat monitoring correct is geconfigureerd en alerts worden gegenereerd, dat incidentresponsprocedures zijn gedocumenteerd en getest, dat aanvalsrapportages regelmatig worden geanalyseerd, en dat er processen zijn voor het bijwerken van configuraties op basis van ervaring en veranderende bedreigingen. Het bijbehorende PowerShell-script kan worden gebruikt om compliance-rapportages te genereren die aantonen welke Virtual Networks zijn beschermd, hoe DDoS Protection is geconfigureerd, en of configuraties voldoen aan de gestelde eisen. Deze rapportages moeten regelmatig worden gegenereerd en gedeeld met interne audit-teams, compliance-officers en externe auditors om transparantie te bieden en vertrouwen op te bouwen in de beveiligingsmaatregelen.

Compliance, auditing en verantwoording

Azure DDoS Protection Standard-implementatie raakt direct aan meerdere compliancekaders waar Nederlandse overheidsorganisaties aan gebonden zijn. Vanuit de Baseline Informatiebeveiliging Overheid (BIO) geldt dat organisaties passende maatregelen moeten nemen om beschikbaarheid te waarborgen en diensten te beschermen tegen verstoringen. Control 12.01 vereist expliciet dat organisaties maatregelen nemen om beschikbaarheid te waarborgen, en DDoS Protection Standard vormt een belangrijk onderdeel van het bewijs dat deze vereiste wordt nageleefd. Tijdens BIO-audits wordt niet alleen gekeken naar het bestaan van DDoS-bescherming, maar vooral naar de kwaliteit van de configuratie, de wijze van beheer, de monitoringresultaten en de aansluiting op incidentresponsprocessen. Organisaties moeten kunnen aantonen dat DDoS Protection Standard is ingeschakeld voor alle kritieke publieke services, dat monitoring correct is geconfigureerd, dat incidentresponsprocedures zijn gedocumenteerd en getest, en dat aanvalsrapportages regelmatig worden geanalyseerd.

ISO 27001:2022 legt in control A.8.16 nadruk op beschikbaarheid en vereist dat organisaties maatregelen nemen om beschikbaarheid te waarborgen en diensten te beschermen tegen verstoringen. DDoS Protection Standard voldoet aan deze vereiste door geavanceerde bescherming te bieden tegen DDoS-aanvallen die diensten kunnen verstoren. De implementatie moet onderdeel zijn van een breder Information Security Management System (ISMS) waarin beleid, procedures, rollen en verantwoordelijkheden zijn gedocumenteerd. Organisaties moeten kunnen aantonen dat de keuze voor DDoS Protection Standard voortkomt uit een risicoafweging, dat configuraties zijn gebaseerd op bedrijfsvereisten en beveiligingsbeleid, en dat er processen zijn voor het beoordelen en bijwerken van configuraties. Auditors zullen willen zien dat configuraties niet ad-hoc worden gewijzigd, maar dat elke wijziging een eigenaar, motivatie en goedkeuringsproces heeft.

De Network and Information Systems Directive 2 (NIS2) stelt in artikel 21 specifieke eisen aan beschikbaarheid en resilience voor essentiële en belangrijke entiteiten. Deze richtlijn vereist dat organisaties passende en evenredige technische en organisatorische maatregelen nemen om beveiligingsrisico's te beheren, inclusief maatregelen voor beschikbaarheid en resilience. DDoS Protection Standard voldoet aan deze vereiste door geavanceerde bescherming te bieden tegen DDoS-aanvallen met automatische detectie en mitigatie, gedetailleerde monitoring en rapportage, en kostenschadebescherming. Organisaties moeten kunnen aantonen dat incidentresponsprocedures correct zijn gedocumenteerd, dat beveiligingsincidenten tijdig worden gedetecteerd via monitoring en alerts, en dat incidenten worden gemeld aan de relevante autoriteiten volgens de vereiste meldplichten. Het bijbehorende PowerShell-script kan worden gebruikt om compliance-rapportages te genereren die aantonen hoe NIS2-vereisten worden ingevuld.

Voor verantwoording richting bestuur en politiek is het belangrijk dat de complexiteit van DDoS Protection Standard wordt vertaald naar begrijpelijke stuurinformatie. Bestuurders hoeven niet te weten welke individuele configuraties actief zijn, maar wel of alle kritieke publieke services zijn beschermd, hoeveel aanvallen zijn gedetecteerd en gemitigeerd, of er recente incidenten zijn geweest die impact hadden op dienstverlening, 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

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).

PowerShell
<# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Azure DDoS Protection Standard: Configuratie en Validatie .DESCRIPTION Ondersteunt de volledige configuratie van Azure DDoS Protection Standard door: - Inventarisatie van Virtual Networks en publieke IP-adressen - Validatie van DDoS Protection Standard-configuraties - Configuratie van waarschuwingsdrempels - Setup van monitoring en logging - Validatie van de implementatie .NOTES Filename: ddos-protection-standard.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/network/ddos-protection-standard.json CIS Control: 6.1, 6.2 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Network, Az.Resources [CmdletBinding()] param( [Parameter()][switch]$InfrastructurePreparation, [Parameter()][switch]$Configuration, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Validation, [Parameter()][switch]$Implementation, [Parameter()][switch]$Remediation, [Parameter()][switch]$DebugMode ) $ErrorActionPreference = 'Stop' $PolicyName = "Azure DDoS Protection Standard" function Connect-RequiredServices { [CmdletBinding()] param( [switch]$DebugMode ) if ($DebugMode) { Write-Verbose "DebugMode is ingeschakeld: er wordt geen verbinding met Azure gemaakt." return } if (-not (Get-AzContext -ErrorAction SilentlyContinue)) { Write-Host "Verbinden met Azure..." -ForegroundColor Yellow Connect-AzAccount -ErrorAction Stop | Out-Null } } function Test-DDoSProtectionStatus { <# .SYNOPSIS Controleert de configuratiestatus van DDoS Protection Standard #> [CmdletBinding()] param( [switch]$DebugMode ) if ($DebugMode) { return [PSCustomObject]@{ Mode = "Debug" DDoSPlansFound = 1 ProtectedVNets = 3 UnprotectedVNets = 2 PublicIPsProtected = 15 PublicIPsUnprotected = 5 MonitoringConfigured = $true IsReady = $false } } try { $ddosPlans = Get-AzDdosProtectionPlan -ErrorAction SilentlyContinue $vnets = Get-AzVirtualNetwork -ErrorAction SilentlyContinue $publicIPs = Get-AzPublicIpAddress -ErrorAction SilentlyContinue $protectedVNets = 0 $unprotectedVNets = 0 $protectedPublicIPs = 0 $unprotectedPublicIPs = 0 $monitoringConfigured = $true foreach ($vnet in $vnets) { if ($vnet.EnableDdosProtection) { $protectedVNets++ } else { $unprotectedVNets++ } } foreach ($publicIP in $publicIPs) { $vnet = $vnets | Where-Object { $_.Subnets | Where-Object { $_.IpConfigurations | Where-Object { $_.PublicIpAddress.Id -eq $publicIP.Id } } } if ($vnet -and $vnet.EnableDdosProtection) { $protectedPublicIPs++ } else { $unprotectedPublicIPs++ } } return [PSCustomObject]@{ Mode = "Live" DDoSPlansFound = $ddosPlans.Count ProtectedVNets = $protectedVNets UnprotectedVNets = $unprotectedVNets PublicIPsProtected = $protectedPublicIPs PublicIPsUnprotected = $unprotectedPublicIPs MonitoringConfigured = $monitoringConfigured IsReady = ($ddosPlans.Count -gt 0 -and $protectedVNets -gt 0) } } catch { Write-Error "Fout bij het controleren van DDoS Protection-status: $_" return [PSCustomObject]@{ Mode = "Error" DDoSPlansFound = 0 ProtectedVNets = 0 UnprotectedVNets = 0 PublicIPsProtected = 0 PublicIPsUnprotected = 0 MonitoringConfigured = $false IsReady = $false } } } function Invoke-InfrastructurePreparation { <# .SYNOPSIS Bereidt infrastructuur voor op DDoS Protection Standard-implementatie .DESCRIPTION Inventariseert Virtual Networks en publieke IP-adressen die bescherming nodig hebben. Genereert aanbevelingen voor ontbrekende configuraties. #> [CmdletBinding()] param( [switch]$DebugMode ) Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Infrastructuurvoorbereiding" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan try { Connect-RequiredServices -DebugMode:$DebugMode if ($DebugMode) { Write-Host "[DEBUG MODE] Infrastructuurvoorbereiding validatie" -ForegroundColor Yellow Write-Host "`nAanbevelingen voor infrastructuurvoorbereiding:" -ForegroundColor Yellow Write-Host " 1. Inventariseer alle Virtual Networks met publieke IP-adressen" -ForegroundColor White Write-Host " 2. Identificeer welke Virtual Networks bescherming nodig hebben" -ForegroundColor White Write-Host " 3. Maak een DDoS Protection Plan aan of gebruik een bestaand plan" -ForegroundColor White Write-Host " 4. Controleer of alle publieke IP-adressen binnen beschermde Virtual Networks vallen" -ForegroundColor White Write-Host "`nVoor gedetailleerde instructies, zie het bijbehorende artikel." -ForegroundColor Yellow return } $vnets = Get-AzVirtualNetwork -ErrorAction SilentlyContinue $publicIPs = Get-AzPublicIpAddress -ErrorAction SilentlyContinue $ddosPlans = Get-AzDdosProtectionPlan -ErrorAction SilentlyContinue Write-Host "Infrastructuur Inventarisatie:" -ForegroundColor Yellow Write-Host " Virtual Networks gevonden: $($vnets.Count)" -ForegroundColor White Write-Host " Publieke IP-adressen gevonden: $($publicIPs.Count)" -ForegroundColor White Write-Host " DDoS Protection Plans gevonden: $($ddosPlans.Count)" -ForegroundColor White $protectedVNets = ($vnets | Where-Object { $_.EnableDdosProtection }).Count $unprotectedVNets = ($vnets | Where-Object { -not $_.EnableDdosProtection }).Count Write-Host "`nDDoS Protection Status:" -ForegroundColor Yellow Write-Host " Virtual Networks met DDoS Protection: $protectedVNets" -ForegroundColor $(if ($protectedVNets -gt 0) { 'Green' } else { 'Yellow' }) Write-Host " Virtual Networks zonder DDoS Protection: $unprotectedVNets" -ForegroundColor $(if ($unprotectedVNets -eq 0) { 'Green' } else { 'Yellow' }) if ($unprotectedVNets -gt 0) { Write-Host "`n⚠️ Virtual Networks zonder DDoS Protection gevonden:" -ForegroundColor Yellow foreach ($vnet in ($vnets | Where-Object { -not $_.EnableDdosProtection })) { $hasPublicIPs = $publicIPs | Where-Object { $vnet.Subnets | ForEach-Object { $_.IpConfigurations } | Where-Object { $_.PublicIpAddress.Id -eq $_.Id } } if ($hasPublicIPs) { Write-Host " - $($vnet.Name) (Resource Group: $($vnet.ResourceGroupName))" -ForegroundColor White Write-Host " Aanbeveling: Schakel DDoS Protection Standard in voor dit Virtual Network" -ForegroundColor Yellow } } } if ($ddosPlans.Count -eq 0) { Write-Host "`n⚠️ Geen DDoS Protection Plans gevonden" -ForegroundColor Yellow Write-Host " Aanbeveling: Maak een DDoS Protection Plan aan voordat u DDoS Protection Standard inschakelt" -ForegroundColor Yellow } Write-Host "`nAanbevelingen:" -ForegroundColor Yellow Write-Host " 1. Zorg dat alle Virtual Networks met publieke IP-adressen DDoS Protection Standard hebben ingeschakeld" -ForegroundColor White Write-Host " 2. Gebruik één DDoS Protection Plan voor alle Virtual Networks om kosten te beheersen" -ForegroundColor White Write-Host " 3. Controleer regelmatig of nieuwe Virtual Networks ook bescherming nodig hebben" -ForegroundColor White Write-Host "`nVoor gedetailleerde implementatie-instructies, zie het bijbehorende artikel." -ForegroundColor Yellow Write-Host "`n========================================" -ForegroundColor Cyan } catch { Write-Host "`nERROR: $_" -ForegroundColor Red exit 1 } } function Invoke-Configuration { <# .SYNOPSIS Ondersteunt configuratie van DDoS Protection Standard .DESCRIPTION Valideert bestaande configuraties en genereert aanbevelingen voor ontbrekende configuraties. #> [CmdletBinding()] param( [switch]$DebugMode ) Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Configuratie" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan try { Connect-RequiredServices -DebugMode:$DebugMode if ($DebugMode) { Write-Host "[DEBUG MODE] Configuratie validatie" -ForegroundColor Yellow Write-Host "`nAanbevelingen voor configuratie:" -ForegroundColor Yellow Write-Host " 1. Schakel DDoS Protection Standard in op alle Virtual Networks met publieke IP-adressen" -ForegroundColor White Write-Host " 2. Configureer waarschuwingsdrempels voor DDoS-aanvallen" -ForegroundColor White Write-Host " 3. Configureer diagnostische instellingen voor DDoS Protection Plan" -ForegroundColor White Write-Host " 4. Stel monitoring en alerting in voor DDoS-incidenten" -ForegroundColor White Write-Host "`nVoor gedetailleerde instructies, zie het bijbehorende artikel." -ForegroundColor Yellow return } $ddosPlans = Get-AzDdosProtectionPlan -ErrorAction SilentlyContinue $vnets = Get-AzVirtualNetwork -ErrorAction SilentlyContinue if ($ddosPlans.Count -eq 0) { Write-Host "Geen DDoS Protection Plans gevonden." -ForegroundColor Yellow Write-Host "Maak eerst een DDoS Protection Plan aan voordat u DDoS Protection Standard configureert." -ForegroundColor Yellow return } Write-Host "DDoS Protection Configuratie Overzicht:" -ForegroundColor Yellow foreach ($plan in $ddosPlans) { Write-Host "`n DDoS Protection Plan: $($plan.Name)" -ForegroundColor Cyan Write-Host " Resource Group: $($plan.ResourceGroupName)" -ForegroundColor White Write-Host " Locatie: $($plan.Location)" -ForegroundColor White $protectedVNets = $vnets | Where-Object { $_.EnableDdosProtection -and $_.DdosProtectionPlan.Id -eq $plan.Id } Write-Host " Virtual Networks beschermd: $($protectedVNets.Count)" -ForegroundColor White if ($protectedVNets.Count -eq 0) { Write-Host " ⚠️ Geen Virtual Networks gekoppeld aan dit plan" -ForegroundColor Yellow Write-Host " Aanbeveling: Koppel Virtual Networks met publieke IP-adressen aan dit plan" -ForegroundColor Yellow } } $unprotectedVNets = $vnets | Where-Object { -not $_.EnableDdosProtection } if ($unprotectedVNets.Count -gt 0) { Write-Host "`n⚠️ Virtual Networks zonder DDoS Protection:" -ForegroundColor Yellow foreach ($vnet in $unprotectedVNets) { Write-Host " - $($vnet.Name) (Resource Group: $($vnet.ResourceGroupName))" -ForegroundColor White } Write-Host "`n Aanbeveling: Schakel DDoS Protection Standard in voor deze Virtual Networks" -ForegroundColor Yellow } Write-Host "`nVoor gedetailleerde instructies over configuratie, zie het bijbehorende artikel." -ForegroundColor Yellow Write-Host "`n========================================" -ForegroundColor Cyan } catch { Write-Host "`nERROR: $_" -ForegroundColor Red exit 1 } } function Invoke-Monitoring { <# .SYNOPSIS Configureert monitoring en logging voor DDoS Protection Standard .DESCRIPTION Valideert diagnostische instellingen en genereert aanbevelingen voor logging-configuratie. #> [CmdletBinding()] param( [switch]$DebugMode ) Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Monitoring Configuratie" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan try { Connect-RequiredServices -DebugMode:$DebugMode if ($DebugMode) { Write-Host "[DEBUG MODE] Monitoring configuratie validatie" -ForegroundColor Yellow Write-Host "`nAanbevelingen voor monitoring:" -ForegroundColor Yellow Write-Host " 1. Configureer diagnostische instellingen voor DDoS Protection Plan" -ForegroundColor White Write-Host " 2. Stuur logs naar een centrale Log Analytics-workspace" -ForegroundColor White Write-Host " 3. Configureer retentiebeleid volgens compliance-vereisten (7 jaar voor BIO)" -ForegroundColor White Write-Host " 4. Maak dashboards en visualisaties voor DDoS-activiteiten" -ForegroundColor White Write-Host " 5. Configureer alertregels voor DDoS-aanvallen" -ForegroundColor White Write-Host "`nVoor gedetailleerde instructies, zie het bijbehorende artikel." -ForegroundColor Yellow return } $ddosPlans = Get-AzDdosProtectionPlan -ErrorAction SilentlyContinue if ($ddosPlans.Count -eq 0) { Write-Host "Geen DDoS Protection Plans gevonden." -ForegroundColor Yellow return } Write-Host "Monitoring Status per DDoS Protection Plan:" -ForegroundColor Yellow foreach ($plan in $ddosPlans) { Write-Host "`n DDoS Protection Plan: $($plan.Name)" -ForegroundColor Cyan Write-Host " Resource Group: $($plan.ResourceGroupName)" -ForegroundColor White $resourceId = $plan.Id $diagnosticSettings = Get-AzDiagnosticSetting -ResourceId $resourceId -ErrorAction SilentlyContinue if ($diagnosticSettings) { Write-Host " ✓ Diagnostische instellingen geconfigureerd" -ForegroundColor Green foreach ($setting in $diagnosticSettings) { Write-Host " Workspace: $($setting.WorkspaceId)" -ForegroundColor White } } else { Write-Host " ⚠️ Geen diagnostische instellingen gevonden" -ForegroundColor Yellow Write-Host " Aanbeveling: Configureer diagnostische instellingen om logs naar Log Analytics te sturen" -ForegroundColor Yellow } } Write-Host "`nAanbevelingen:" -ForegroundColor Yellow Write-Host " 1. Configureer diagnostische instellingen voor DDoS Protection Plans om logs te verzamelen" -ForegroundColor White Write-Host " 2. Stel retentiebeleid in volgens compliance-vereisten (7 jaar voor Nederlandse overheidsorganisaties)" -ForegroundColor White Write-Host " 3. Maak Kusto-query's en dashboards voor DDoS-activiteiten en aanvallen" -ForegroundColor White Write-Host " 4. Configureer alertregels voor gedetecteerde DDoS-aanvallen en mitigatie-acties" -ForegroundColor White Write-Host "`nVoor gedetailleerde instructies, zie het bijbehorende artikel." -ForegroundColor Yellow Write-Host "`n========================================" -ForegroundColor Cyan } catch { Write-Host "`nERROR: $_" -ForegroundColor Red exit 1 } } function Invoke-Validation { <# .SYNOPSIS Voert validatietests uit op de DDoS Protection Standard-configuratie .DESCRIPTION Valideert configuratie, monitoring en bescherming van Virtual Networks. #> [CmdletBinding()] param( [switch]$DebugMode ) Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Validatie" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan try { Connect-RequiredServices -DebugMode:$DebugMode $status = Test-DDoSProtectionStatus -DebugMode:$DebugMode Write-Host "Configuratie Status:" -ForegroundColor Yellow Write-Host " Modus: $($status.Mode)" -ForegroundColor White Write-Host " DDoS Protection Plans gevonden: $($status.DDoSPlansFound)" -ForegroundColor White Write-Host " Virtual Networks beschermd: $($status.ProtectedVNets)" -ForegroundColor $(if ($status.ProtectedVNets -gt 0) { 'Green' } else { 'Yellow' }) Write-Host " Virtual Networks niet beschermd: $($status.UnprotectedVNets)" -ForegroundColor $(if ($status.UnprotectedVNets -eq 0) { 'Green' } else { 'Yellow' }) Write-Host " Publieke IP-adressen beschermd: $($status.PublicIPsProtected)" -ForegroundColor $(if ($status.PublicIPsProtected -gt 0) { 'Green' } else { 'Yellow' }) Write-Host " Publieke IP-adressen niet beschermd: $($status.PublicIPsUnprotected)" -ForegroundColor $(if ($status.PublicIPsUnprotected -eq 0) { 'Green' } else { 'Yellow' }) Write-Host " Monitoring geconfigureerd: $($status.MonitoringConfigured)" -ForegroundColor $(if ($status.MonitoringConfigured) { 'Green' } else { 'Yellow' }) if ($status.DDoSPlansFound -eq 0) { Write-Host "`n⚠️ Geen DDoS Protection Plans gevonden" -ForegroundColor Yellow Write-Host " Maak eerst een DDoS Protection Plan aan" -ForegroundColor Yellow Write-Host "`nVALIDATIE: ONVOLTOOID" -ForegroundColor Red exit 1 } if ($status.UnprotectedVNets -gt 0) { Write-Host "`n⚠️ Virtual Networks zonder DDoS Protection gevonden" -ForegroundColor Yellow Write-Host " Schakel DDoS Protection Standard in voor alle Virtual Networks met publieke IP-adressen" -ForegroundColor Yellow } if ($status.PublicIPsUnprotected -gt 0) { Write-Host "`n⚠️ Publieke IP-adressen zonder DDoS Protection gevonden" -ForegroundColor Yellow Write-Host " Zorg dat alle publieke IP-adressen binnen beschermde Virtual Networks vallen" -ForegroundColor Yellow } if (-not $status.MonitoringConfigured) { Write-Host "`n⚠️ Monitoring is niet correct geconfigureerd" -ForegroundColor Yellow Write-Host " Configureer diagnostische instellingen voor DDoS Protection Plans" -ForegroundColor Yellow } Write-Host "`nValidatie Aanbevelingen:" -ForegroundColor Yellow Write-Host " 1. Verifieer dat alle Virtual Networks met publieke IP-adressen DDoS Protection hebben" -ForegroundColor White Write-Host " 2. Test waarschuwingsconfiguraties met test-alerts" -ForegroundColor White Write-Host " 3. Verifieer dat logs correct worden verzameld en geanalyseerd" -ForegroundColor White Write-Host " 4. Controleer regelmatig of nieuwe resources ook bescherming nodig hebben" -ForegroundColor White if ($status.IsReady) { Write-Host "`nVALIDATIE: GESLAAGD" -ForegroundColor Green exit 0 } else { Write-Host "`nVALIDATIE: ONVOLTOOID - Volg de aanbevelingen om de configuratie te voltooien" -ForegroundColor Yellow exit 1 } } catch { Write-Host "`nERROR: $_" -ForegroundColor Red exit 1 } } function Invoke-Implementation { <# .SYNOPSIS Voert de volledige implementatie uit (delegeert naar andere functies) #> [CmdletBinding()] param( [switch]$DebugMode ) Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Volledige Implementatie" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Write-Host "Dit script ondersteunt de implementatie in stappen:" -ForegroundColor Yellow Write-Host " 1. -InfrastructurePreparation: Inventariseert Virtual Networks en publieke IP-adressen" -ForegroundColor White Write-Host " 2. Maak een DDoS Protection Plan aan via Azure Portal of ARM/Bicep" -ForegroundColor White Write-Host " 3. -Configuration: Configureer DDoS Protection Standard op Virtual Networks" -ForegroundColor White Write-Host " 4. -Monitoring: Configureer logging en monitoring" -ForegroundColor White Write-Host " 5. -Validation: Valideer de volledige configuratie" -ForegroundColor White Write-Host "`nVoor gedetailleerde instructies, zie het bijbehorende artikel." -ForegroundColor Yellow Write-Host "`n========================================" -ForegroundColor Cyan } function Invoke-Remediation { <# .SYNOPSIS Genereert aanbevelingen voor het verbeteren van de configuratie #> [CmdletBinding()] param( [switch]$DebugMode ) Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Remediatie" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan try { Connect-RequiredServices -DebugMode:$DebugMode $status = Test-DDoSProtectionStatus -DebugMode:$DebugMode Write-Host "Remediatie Aanbevelingen:" -ForegroundColor Yellow if ($status.DDoSPlansFound -eq 0) { Write-Host " 1. Maak een DDoS Protection Plan aan via Azure Portal of ARM/Bicep" -ForegroundColor White Write-Host " 2. Schakel DDoS Protection Standard in op Virtual Networks met publieke IP-adressen" -ForegroundColor White Write-Host " 3. Configureer monitoring en alerting (-Monitoring)" -ForegroundColor White Write-Host " 4. Valideer de configuratie (-Validation)" -ForegroundColor White } else { if ($status.UnprotectedVNets -gt 0) { Write-Host " - Schakel DDoS Protection Standard in voor Virtual Networks zonder bescherming (-Configuration)" -ForegroundColor White } if ($status.PublicIPsUnprotected -gt 0) { Write-Host " - Verplaats publieke IP-adressen naar beschermde Virtual Networks" -ForegroundColor White } if (-not $status.MonitoringConfigured) { Write-Host " - Configureer diagnostische instellingen voor DDoS Protection Plans (-Monitoring)" -ForegroundColor White } } Write-Host "`nVoor gedetailleerde implementatie-instructies, zie het bijbehorende artikel." -ForegroundColor Yellow Write-Host "`n========================================" -ForegroundColor Cyan } catch { Write-Host "`nERROR: $_" -ForegroundColor Red exit 1 } } # Main execution try { if ($InfrastructurePreparation) { Invoke-InfrastructurePreparation -DebugMode:$DebugMode } elseif ($Configuration) { Invoke-Configuration -DebugMode:$DebugMode } elseif ($Monitoring) { Invoke-Monitoring -DebugMode:$DebugMode } elseif ($Validation) { Invoke-Validation -DebugMode:$DebugMode } elseif ($Implementation) { Invoke-Implementation -DebugMode:$DebugMode } elseif ($Remediation) { Invoke-Remediation -DebugMode:$DebugMode } else { Write-Host "`nGebruik: -InfrastructurePreparation | -Configuration | -Monitoring | -Validation | -Implementation | -Remediation" -ForegroundColor Yellow Write-Host "`nVoeg -DebugMode toe voor lokale validatie zonder Azure-verbinding" -ForegroundColor Yellow Write-Host "`nVoorbeelden:" -ForegroundColor Cyan Write-Host " .\ddos-protection-standard.ps1 -InfrastructurePreparation" -ForegroundColor White Write-Host " .\ddos-protection-standard.ps1 -Configuration" -ForegroundColor White Write-Host " .\ddos-protection-standard.ps1 -Monitoring" -ForegroundColor White Write-Host " .\ddos-protection-standard.ps1 -Validation" -ForegroundColor White Write-Host " .\ddos-protection-standard.ps1 -Validation -DebugMode" -ForegroundColor White } } catch { Write-Host "`nFATALE FOUT: $_" -ForegroundColor Red exit 2 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Azure DDoS Protection Standard zijn publieke Azure-services kwetsbaar voor DDoS-aanvallen die kunnen resulteren in volledige service-uitval, waardoor burgers en bedrijven geen toegang meer hebben tot kritieke overheidsdiensten. DDoS-aanvallen kunnen enorme schade veroorzaken: een enkele aanval kan een service dagenlang onbeschikbaar maken, wat leidt tot verlies van vertrouwen, reputatieschade en mogelijke boetes voor niet-naleving van service level agreements. Zonder DDoS Protection Standard kunnen organisaties niet aantonen aan auditors en stakeholders dat zij passende maatregelen hebben genomen om beschikbaarheid te waarborgen, wat kan leiden tot compliance-problemen met frameworks zoals BIO, NIS2 en ISO 27001. Daarnaast ontbreekt kostenschadebescherming: tijdens een DDoS-aanval kan het dataverkeer enorm toenemen, wat leidt tot onverwachte kosten die organisaties moeten dragen. In audits zal het ontbreken van DDoS Protection Standard worden gezien als een structurele tekortkoming in de technische beveiligingsmaatregelen voor beschikbaarheid.

Management Samenvatting

Azure DDoS Protection Standard vormt een verplichte beveiligingslaag voor alle publieke Azure-services binnen de Nederlandse Baseline voor Veilige Cloud. Door geavanceerde, automatische bescherming tegen DDoS-aanvallen te implementeren met machine learning-algoritmen, real-time threat intelligence en adaptieve mitigatie, worden services beschermd tegen verstoringen en wordt beschikbaarheid gewaarborgd. Het bijbehorende PowerShell-script inventariseert automatisch welke Virtual Networks zijn beschermd, hoe DDoS Protection is geconfigureerd en of configuraties voldoen aan de gestelde eisen, zodat hiaten snel zichtbaar worden. De benodigde inspanning is beperkt (circa 24 uur initiële implementatie), terwijl de risicoreductie en auditbaarheid aanzienlijk zijn voor alle publieke diensten in Azure.