NSG Geconfigureerd Alle Subnets

💼 Management Samenvatting

Deze beveiligingsregel waarborgt de correcte configuratie van Netwerkbeveiligingsgroepen (NSG's) op alle subnetten binnen Azure Virtual Networks en beschermt organisaties tegen beveiligingsrisico's door ongefilterd netwerkverkeer.

Aanbeveling
IMPLEMENTEER NSG OP ALLE SUBNETS
Risico zonder
High
Risk Score
8/10
Implementatie
4u (tech: 3u)
Van toepassing op:
Azure

Deze instelling is essentieel voor het handhaven van een veilige Azure-omgeving en voorkomt bekende aanvalsvectoren door het afdwingen van beveiligingsbest practices op netwerkniveau. Zonder NSG's op subnetten kunnen kwaadwillenden ongehinderd netwerkverkeer genereren, laterale beweging uitvoeren binnen het netwerk en gevoelige systemen bereiken zonder detectie.

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

Implementatie

Koppel een Netwerkbeveiligingsgroep (NSG) aan elke subnet binnen uw Azure Virtual Networks, met uitzondering van de GatewaySubnet en AzureBastionSubnet, die door Azure automatisch worden beveiligd.

Vereisten

Voor de implementatie van Netwerkbeveiligingsgroepen op alle subnetten zijn specifieke Azure-resources en configuraties vereist. Deze vereisten vormen de basis voor een effectieve netwerkbeveiligingsstrategie binnen uw Azure-omgeving en zijn essentieel voor het waarborgen van een robuuste netwerkbeveiligingspostuur. Organisaties die deze controle willen implementeren moeten eerst zorgvuldig hun huidige Azure-infrastructuur inventariseren en bepalen welke resources al beschikbaar zijn en welke nog moeten worden aangemaakt. Deze voorbereidende fase is cruciaal omdat een onvolledige inventarisatie kan leiden tot gedeeltelijke implementaties waarbij sommige subnetten over het hoofd worden gezien, wat resulteert in inconsistente beveiliging en potentiële beveiligingslekken. Een grondige inventarisatie helpt organisaties ook om de omvang van de implementatie te begrijpen en de benodigde resources en tijd accuraat in te schatten.

De fundamentele vereiste is dat uw organisatie beschikken moet over een of meerdere Azure Virtual Networks, ook wel VNets genoemd. Een Virtual Network vormt de fundamentele netwerklaag in Azure en biedt isolatie en segmentatie van netwerkresources. Dit netwerkgereedschap maakt het mogelijk om een privé-netwerkomgeving te creëren binnen de Azure-cloudinfrastructuur, vergelijkbaar met een traditioneel datacenter-netwerk maar dan volledig geïmplementeerd in de cloud. Binnen deze VNets worden subnetten gedefinieerd die logische segmenten van het IP-adresbereik vertegenwoordigen. Elke subnet kan worden geconfigureerd met specifieke netwerkbeveiligingsregels via Network Security Groups. De subnetten vormen de basis voor netwerksegmentatie en zorgen ervoor dat verschillende workloads gescheiden kunnen worden geplaatst met elk hun eigen beveiligingsniveau.

Naast Virtual Networks zijn Netwerkbeveiligingsgroepen, kortweg NSG's, een essentiële vereiste. Een NSG is een Azure-resource die fungeert als een stateful firewall op netwerkniveau en die een cruciale rol speelt in de verdediging van uw cloudomgeving tegen netwerkgebaseerde aanvallen. NSG's bevatten regels die inkomend en uitgaand netwerkverkeer filteren op basis van bron- en doel-IP-adressen, poorten en protocollen. Deze filtering gebeurt op een gelaagde manier waarbij eerst de expliciete regels worden geëvalueerd en vervolgens de standaardregels worden toegepast. Organisaties kunnen bestaande NSG's hergebruiken voor meerdere subnetten wanneer deze vergelijkbare beveiligingsvereisten hebben, of nieuwe NSG's aanmaken specifiek voor subnetten die unieke beveiligingsregels vereisen. De keuze tussen hergebruik of nieuwe NSG's hangt af van de netwerkarchitectuur en de beveiligingsvereisten van elke subnet. Het hergebruik van NSG's kan administratieve efficiëntie opleveren en zorgt voor consistentie in beveiligingsregels, maar kan ook beperkingen opleggen wanneer subnetten verschillende beveiligingsniveaus vereisen. Nieuwe NSG's bieden meer flexibiliteit maar vergen meer beheer en kunnen leiden tot inconsistentie wanneer niet zorgvuldig beheerd.

Het is belangrijk om te begrijpen dat bepaalde subnetten, zoals de GatewaySubnet en AzureBastionSubnet, automatisch door Azure worden beveiligd en daarom expliciet worden uitgesloten van deze vereiste. Deze subnetten hebben ingebouwde beveiligingsmechanismen die aanvullende NSG-configuratie overbodig maken. De GatewaySubnet wordt gebruikt voor VPN-gateways en ExpressRoute-gateways en heeft automatische beveiligingsregels die door Azure worden beheerd. De AzureBastionSubnet is specifiek bedoeld voor de Azure Bastion-service, die een veilige manier biedt om virtuele machines te beheren zonder openbare IP-adressen te gebruiken. Deze subnetten mogen niet worden gewijzigd door gebruikers omdat dit de functionaliteit van deze kritieke services kan verstoren. Daarom moeten monitoring scripts en remediatie procedures deze subnetten automatisch identificeren en uitsluiten van de controle.

De implementatie vereist voldoende Azure-machtigingen, met name de rol Network Contributor of gelijkwaardige rechten om NSG's te kunnen koppelen aan subnetten. De Network Contributor rol biedt volledige toegang tot alle netwerkresources binnen een resourcegroep of abonnement, inclusief het beheren van Virtual Networks, subnetten en Network Security Groups. Organisaties moeten ervoor zorgen dat de uitvoerende identiteit, of dit nu een service principal, managed identity of gebruikersaccount is, over de benodigde machtigingen beschikt voordat de implementatie wordt gestart. Het ontbreken van voldoende machtigingen zal resulteren in mislukte implementaties en mogelijk beveiligingsrisico's wanneer subnetten onbeveiligd blijven. Daarnaast is het belangrijk om het principe van least privilege toe te passen, wat betekent dat alleen de minimaal benodigde machtigingen worden verleend om de beveiligingsrisico's te beperken.

Naast deze basisvereisten moeten organisaties ook rekening houden met de planning en voorbereiding van de implementatie. Dit omvat het documenteren van de huidige netwerktopologie, het identificeren van alle bestaande subnetten en hun huidige NSG-configuratie, en het opstellen van een implementatieplan dat rekening houdt met eventuele serviceonderbrekingen. Organisaties moeten ook overwegen hoe nieuwe subnetten in de toekomst automatisch kunnen worden beveiligd, bijvoorbeeld door het gebruik van Azure Policy of door automatiseringsscripts die worden uitgevoerd wanneer nieuwe resources worden aangemaakt. Deze proactieve aanpak zorgt ervoor dat de beveiligingspostuur consistent blijft, ook wanneer de omgeving groeit of wijzigt.

Monitoring

Gebruik PowerShell-script nsg-configured-all-subnets.ps1 (functie Invoke-Monitoring) – Controleren.

Effectieve monitoring van Netwerkbeveiligingsgroep-configuraties op subnetten is cruciaal voor het handhaven van netwerkbeveiliging en compliance. Organisaties moeten regelmatig controleren of alle subnetten binnen hun Azure Virtual Networks correct zijn beveiligd met NSG's. Zonder continue monitoring kunnen nieuwe subnetten worden aangemaakt zonder de vereiste beveiligingsconfiguratie, wat het beveiligingsrisico aanzienlijk verhoogt. Monitoring vormt de eerste verdedigingslinie tegen configuratiedrift, waarbij de werkelijke configuratie na verloop van tijd afwijkt van de gewenste beveiligingsstandaarden. Deze configuratiedrift ontstaat vaak ongemerkt wanneer ontwikkelaars of beheerders nieuwe resources aanmaken zonder zich bewust te zijn van de beveiligingsvereisten, of wanneer geautomatiseerde processen subnetten creëren zonder de juiste beveiligingsconfiguratie. Continue monitoring detecteert deze afwijkingen tijdig en maakt snelle remediatie mogelijk voordat beveiligingsincidenten kunnen optreden.

Het monitoringproces begint met het inventariseren van alle Virtual Networks binnen uw Azure-abonnement. Dit inventarisatieproces moet systematisch worden uitgevoerd om ervoor te zorgen dat geen enkel Virtual Network wordt overgeslagen, wat vooral belangrijk is in omgevingen met meerdere abonnementen en resourcegroepen. Voor elk Virtual Network worden alle subnetten geïdentificeerd en gecontroleerd op de aanwezigheid van een gekoppelde Netwerkbeveiligingsgroep. Het monitoring script doorloopt systematisch alle VNets en hun subnetten, waarbij specifiek wordt gecontroleerd of een NSG is gekoppeld aan elk subnet. Tijdens dit proces worden de specifieke eigenschappen van elk subnet geëvalueerd, inclusief de naam, het IP-adresbereik en de huidige NSG-koppeling. Het script identificeert ook automatisch subnetten die uitgesloten moeten worden, zoals de GatewaySubnet en AzureBastionSubnet, om valse positieven te voorkomen. Deze systematische aanpak is essentieel in complexe omgevingen waar honderden of zelfs duizenden subnetten kunnen bestaan, verspreid over meerdere abonnementen en regio's. Zonder geautomatiseerde monitoring zou het praktisch onmogelijk zijn om handmatig alle subnetten te controleren, wat leidt tot onvolledige compliance en potentiële beveiligingslekken.

Tijdens de controle worden subnetten zonder NSG geïdentificeerd en gerapporteerd als niet-compliant. Deze subnetten vormen een beveiligingsrisico omdat ze geen netwerkfiltering hebben en daardoor kwetsbaar zijn voor ongeautoriseerd netwerkverkeer. Zonder NSG kunnen virtuele machines en andere resources in deze subnetten blootgesteld worden aan potentiële aanvallen vanaf het internet of andere subnetten binnen het Virtual Network. Het script genereert een uitgebreid overzicht van alle subnetten die niet voldoen aan de beveiligingsvereiste, inclusief de naam van het Virtual Network, de subnetnaam, het IP-adresbereik, de resourcegroep en het abonnement. Deze informatie is essentieel voor netwerkbeheerders en security officers om snel te kunnen bepalen welke subnetten prioriteit hebben voor remediatie. De prioritering kan gebaseerd worden op verschillende factoren, zoals de gevoeligheid van de data die in het subnet wordt verwerkt, de kritiekheid van de workloads, of de blootstelling aan het internet. Subnetten met publiek toegankelijke resources of subnetten die gevoelige data bevatten zouden bijvoorbeeld hogere prioriteit moeten krijgen dan subnetten met minder kritieke workloads. Deze risicogebaseerde aanpak zorgt ervoor dat de meest kwetsbare subnetten eerst worden beveiligd, waardoor de algehele beveiligingspostuur sneller wordt verbeterd.

Voor organisaties die voldoen aan compliance-standaarden zoals CIS Azure Foundations Benchmark 6.3, BIO norm 13.01 of ISO 27001:2022 controle A.8.20, is regelmatige monitoring essentieel. Deze standaarden vereisen dat organisaties kunnen aantonen dat alle subnetten zijn beveiligd met netwerkfiltering. Het monitoring script biedt de audit trail die nodig is om compliance te demonstreren tijdens interne of externe audits. De gegenereerde rapporten kunnen worden gebruikt als bewijs van naleving en tonen aan dat de organisatie proactieve maatregelen neemt om de netwerkbeveiliging te handhaven. Tijdens audits vragen auditors vaak naar bewijs van continue monitoring en compliance verificatie, en de output van deze monitoring scripts voorziet precies in die behoefte.

Het wordt aanbevolen om deze controle minimaal wekelijks uit te voeren, of vaker wanneer er wijzigingen worden aangebracht aan de netwerktopologie. Automatisering van deze controle via Azure Policy of regelmatige PowerShell-script uitvoering zorgt ervoor dat nieuwe subnetten die per ongeluk zonder NSG worden aangemaakt snel worden gedetecteerd en hersteld. Azure Policy biedt de mogelijkheid om automatisch te controleren of nieuwe resources voldoen aan gedefinieerde beleidsregels, en kan zelfs automatisch remediatie uitvoeren wanneer niet-compliant configuraties worden gedetecteerd. Deze geautomatiseerde aanpak vermindert de werklast voor IT-teams en zorgt voor consistente beveiliging, zelfs wanneer er frequente wijzigingen zijn aan de cloudomgeving. Organisaties kunnen ook gebruik maken van Azure Monitor en Azure Automation om monitoring scripts op een geplande basis uit te voeren en resultaten automatisch te rapporteren aan verantwoordelijke partijen.

Naast de technische controle is het belangrijk om de resultaten te documenteren en te rapporteren aan de verantwoordelijke security officers en netwerkbeheerders. Dit zorgt voor transparantie en maakt proactieve actie mogelijk wanneer niet-compliant configuraties worden gedetecteerd. De rapportage moet duidelijk maken wat de huidige status is, welke subnetten niet-compliant zijn, wat de risico's zijn en wat de aanbevolen acties zijn voor remediatie. Effectieve rapportage helpt organisaties om prioriteiten te stellen en resources efficiënt in te zetten voor het oplossen van beveiligingsproblemen. Daarnaast vormt deze documentatie een belangrijk onderdeel van de audit trail die vereist is voor compliance doeleinden en helpt het organisaties om trends te identificeren in hun beveiligingspostuur over tijd.

Compliance en Auditing

De implementatie van Netwerkbeveiligingsgroepen op alle subnetten is een fundamentele vereiste voor verschillende cybersecurity- en compliance-standaarden die relevant zijn voor Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige gegevens. Deze standaarden vormen de basis voor een solide informatiebeveiligingspostuur en zijn essentieel voor het beschermen van kritieke informatie tegen cyberbedreigingen. Nederlandse organisaties die werken met publieke clouddiensten zoals Microsoft Azure moeten kunnen aantonen dat zij adequate beveiligingsmaatregelen hebben geïmplementeerd die voldoen aan zowel internationale als nationale beveiligingsstandaarden. Het implementeren van NSG's op alle subnetten is een van deze fundamentele beveiligingsmaatregelen die door meerdere standaarden wordt vereist. Deze compliance-vereisten zijn niet alleen belangrijk voor het voldoen aan wettelijke verplichtingen, maar vormen ook een praktische beveiligingsbasis die organisaties beschermt tegen een breed scala aan cyberbedreigingen. Door te voldoen aan deze standaarden demonstreren organisaties niet alleen hun commitment aan informatiebeveiliging, maar implementeren zij ook concrete technische maatregelen die de daadwerkelijke beveiliging van hun systemen en data verbeteren.

De CIS Azure Foundations Benchmark controle 6.3 vereist expliciet dat alle subnetten binnen Azure Virtual Networks zijn gekoppeld aan een Netwerkbeveiligingsgroep. Deze controle maakt deel uit van de Level 1 (L1) aanbevelingen, wat betekent dat deze als essentieel wordt beschouwd voor alle Azure-omgevingen, ongeacht de omvang of complexiteit. Level 1 controles zijn de basisbeveiligingsmaatregelen die elke organisatie zou moeten implementeren, zelfs wanneer er beperkte resources beschikbaar zijn voor beveiliging. De CIS Benchmark is een internationaal erkende standaard die wordt gebruikt door organisaties wereldwijd om hun cloudbeveiliging te verbeteren en is ontwikkeld door het Center for Internet Security, een non-profitorganisatie die zich richt op het ontwikkelen van best practices voor cybersecurity. Voor Nederlandse organisaties die werken met Azure-diensten vormt naleving van deze controle een belangrijke stap in het demonstreren van een solide beveiligingspostuur en toont het aan dat de organisatie de fundamentele beveiligingsprincipes begrijpt en implementeert. Tijdens externe beveiligingsaudits vragen auditors vaak specifiek naar de implementatie van CIS Benchmark controles, en controle 6.3 is een van de meest kritieke controles voor netwerkbeveiliging. Deze controle wordt beschouwd als een fundamentele beveiligingsmaatregel omdat netwerkfiltering de eerste verdedigingslinie vormt tegen externe bedreigingen en laterale beweging binnen het netwerk. Zonder deze basisbeveiliging zijn organisaties kwetsbaar voor een breed scala aan netwerkgebaseerde aanvallen, waaronder port scanning, brute force aanvallen, en ongeautoriseerde toegang tot interne resources.

De Baseline Informatiebeveiliging Overheid (BIO) norm 13.01 richt zich op netwerkfiltering en vereist dat organisaties netwerkverkeer filteren om ongeautoriseerde toegang te voorkomen. De BIO is de Nederlandse nationale norm voor informatiebeveiliging binnen de overheid en vormt de basis voor het beveiligingsbeleid van alle Nederlandse overheidsorganisaties. Voor Nederlandse overheidsorganisaties is naleving van de BIO-normen verplicht en wordt dit gecontroleerd tijdens periodieke audits door het Nationaal Cyber Security Centrum (NCSC). Het implementeren van NSG's op alle subnetten is een concrete invulling van deze norm, omdat NSG's functioneren als netwerkfilters die inkomend en uitgaand verkeer controleren op basis van gedefinieerde regels. Tijdens audits moeten overheidsorganisaties kunnen aantonen dat alle subnetten zijn beveiligd met netwerkfiltering, en de aanwezigheid van NSG's op subnetten vormt het primaire bewijs hiervan. Niet-naleving van BIO-normen kan leiden tot auditbevindingen en kan gevolgen hebben voor de goedkeuring van nieuwe cloud-initiatieven binnen de organisatie. Daarom is het van cruciaal belang dat overheidsorganisaties deze controle correct implementeren en kunnen demonstreren tijdens audits.

De ISO 27001:2022 standaard, controle A.8.20 (Networks security), vereist dat organisaties netwerken beveiligen tegen bedreigingen en kwetsbaarheden. Deze controle maakt deel uit van het informatiebeveiligingsmanagementsysteem (ISMS) en vereist dat organisaties netwerksegmentatie en -filtering implementeren. ISO 27001 is een internationale standaard voor informatiebeveiligingsmanagement die wordt gebruikt door organisaties wereldwijd om hun informatiebeveiligingsprocessen te structureren en te verbeteren. De standaard bestaat uit een reeks controles die organisaties helpen om risico's te identificeren en te mitigeren. Network Security Groups op subnetten vormen een essentiële component van deze netwerkbeveiliging, omdat ze netwerksegmentatie mogelijk maken en ongeautoriseerd verkeer tussen segmenten kunnen blokkeren. Door netwerken te segmenteren en verkeer te filteren, kunnen organisaties de impact van een potentiële inbreuk beperken en voorkomen dat aanvallers laterale beweging uitvoeren binnen het netwerk. Organisaties die ISO 27001 gecertificeerd zijn of certificering nastreven, moeten kunnen aantonen dat hun netwerken adequaat zijn beveiligd, en NSG-configuraties vormen een belangrijk onderdeel van deze demonstratie. Tijdens ISO 27001 audits vragen certificeringsauditors specifiek naar de implementatie van netwerkbeveiligingscontroles en willen zij zien dat organisaties proactieve maatregelen hebben genomen om netwerken te beschermen.

Tijdens externe audits en compliance-controles moeten organisaties auditbewijs kunnen overleggen dat aantoont dat alle subnetten zijn beveiligd met NSG's. Dit bewijs kan bestaan uit output van monitoring scripts, Azure Policy compliance-rapporten, configuratie-exporten van Virtual Networks, of screenshots van de Azure Portal die de NSG-koppelingen tonen. Het is belangrijk dat dit bewijs actueel is en regelmatig wordt bijgewerkt om te laten zien dat de organisatie continue aandacht heeft voor deze beveiligingsmaatregel. Het wordt aanbevolen om deze auditbewijzen minimaal zeven jaar te bewaren, conform de bewaartermijnen die vaak worden vereist voor compliance-documentatie. Deze bewaartermijn zorgt ervoor dat organisaties kunnen aantonen dat zij gedurende een langere periode consistent hebben voldaan aan de beveiligingsvereisten, wat belangrijk is voor het opbouwen van vertrouwen bij auditors en stakeholders. Regelmatige monitoring en documentatie van de NSG-configuraties zorgen ervoor dat organisaties altijd kunnen aantonen dat zij voldoen aan de vereisten van deze standaarden, zelfs wanneer er wijzigingen zijn aangebracht aan de netwerktopologie. Deze documentatie vormt een cruciaal onderdeel van het bewijs dat auditors nodig hebben om te concluderen dat een organisatie voldoet aan de compliance-vereisten.

Remediatie

Gebruik PowerShell-script nsg-configured-all-subnets.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer monitoring uitwijst dat subnetten niet zijn beveiligd met een Netwerkbeveiligingsgroep, is directe remediatie vereist om het beveiligingsrisico te elimineren en compliance te herstellen. Elke dag dat een subnet onbeveiligd blijft, verhoogt het risico op een succesvolle cyberaanval, waarbij kwaadwillenden mogelijk toegang kunnen krijgen tot gevoelige systemen en data. Het remediatieproces moet systematisch en zorgvuldig worden uitgevoerd om te voorkomen dat bestaande netwerkconnectiviteit wordt verstoord. Een verkeerd uitgevoerde remediatie kan leiden tot serviceonderbrekingen of onbedoelde blokkering van legitiem netwerkverkeer, wat op zijn beurt weer negatieve gevolgen kan hebben voor bedrijfsprocessen en gebruikerservaring. Daarom moet het remediatieproces zorgvuldig worden gepland en getest voordat het wordt uitgevoerd in productieomgevingen. Deze planning omvat het identificeren van alle kritieke netwerkverbindingen die door het subnet lopen, het begrijpen van de applicaties en services die afhankelijk zijn van deze verbindingen, en het ontwikkelen van een testplan dat alle scenario's dekt voordat de remediatie wordt uitgevoerd. Een goed gepland remediatieproces minimaliseert niet alleen het risico op serviceonderbrekingen, maar zorgt er ook voor dat de beveiligingsverbetering wordt bereikt zonder negatieve impact op de bedrijfsvoering.

Het remediatieproces begint met het identificeren van subnetten zonder NSG, zoals gedetecteerd door het monitoring script. Deze identificatie moet nauwkeurig zijn en alle relevante informatie bevatten, zoals de naam van het Virtual Network, de subnetnaam, het IP-adresbereik en de resourcegroep. Voor elk niet-beveiligd subnet moet worden bepaald welke Netwerkbeveiligingsgroep het meest geschikt is voor koppeling. Organisaties kunnen kiezen voor het gebruik van een bestaande NSG die al wordt gebruikt voor vergelijkbare subnetten, of een nieuwe NSG aanmaken specifiek voor het betreffende subnet. De keuze hangt af van de netwerkarchitectuur en beveiligingsvereisten van de organisatie. Wanneer meerdere subnetten vergelijkbare beveiligingsvereisten hebben, is het efficiënter om één NSG te gebruiken voor meerdere subnetten, omdat dit de administratieve overhead vermindert en zorgt voor consistente beveiligingsregels. Echter, wanneer een subnet unieke beveiligingsvereisten heeft, kan het beter zijn om een specifieke NSG te gebruiken die alleen voor dat subnet wordt gebruikt. Deze beslissing vereist een grondige analyse van de workloads die in het subnet draaien, de netwerkvereisten van deze workloads, en de beveiligingsniveaus die nodig zijn. Organisaties moeten ook rekening houden met toekomstige groei en wijzigingen, waarbij een flexibele NSG-structuur kan helpen om toekomstige aanpassingen gemakkelijker te maken zonder grote herconfiguraties.

Voordat een NSG wordt gekoppeld aan een subnet, is het belangrijk om de beveiligingsregels binnen de NSG te controleren en te verifiëren dat deze geschikt zijn voor het subnet. Een NSG zonder regels of met te permissieve regels biedt geen effectieve beveiliging en kan zelfs een vals gevoel van veiligheid creëren. Organisaties moeten ervoor zorgen dat de NSG minimaal de basisbeveiligingsregels bevat, zoals het blokkeren van ongeautoriseerd inkomend verkeer van internet, terwijl legitiem verkeer tussen interne resources wordt toegestaan. De NSG-regels moeten worden afgestemd op de workloads die in het subnet draaien, waarbij specifieke poorten en protocollen worden toegestaan die nodig zijn voor de functionaliteit van deze workloads. Het is ook belangrijk om te controleren of de NSG-regels voldoen aan de beveiligingsvereisten van de organisatie en aan eventuele compliance-standaarden die van toepassing zijn.

Het remediatie script koppelt automatisch een NSG aan subnetten die momenteel geen NSG hebben. Tijdens dit proces wordt de bestaande netwerkconfiguratie behouden, wat betekent dat bestaande verbindingen en routes niet worden gewijzigd. De NSG voegt alleen een extra beveiligingslaag toe door netwerkverkeer te filteren op basis van de gedefinieerde regels. Het is belangrijk om te begrijpen dat het koppelen van een NSG met restrictieve regels kan leiden tot het blokkeren van legitiem netwerkverkeer, daarom moet de NSG-configuratie zorgvuldig worden getest na implementatie. Het testen moet worden uitgevoerd in een omgeving die zo dicht mogelijk bij de productieomgeving ligt, waarbij alle kritieke netwerkverbindingen worden gevalideerd. Wanneer er problemen worden gedetecteerd tijdens het testen, moeten de NSG-regels worden aangepast voordat de remediatie wordt uitgevoerd in de productieomgeving. Dit testproces helpt om serviceonderbrekingen te voorkomen en zorgt ervoor dat de remediatie succesvol wordt uitgevoerd zonder negatieve gevolgen voor de operationele systemen.

Na de koppeling van NSG's aan subnetten moet worden geverifieerd dat de netwerkconnectiviteit nog steeds functioneert zoals verwacht. Dit kan worden gedaan door het testen van kritieke netwerkverbindingen, zoals toegang tot applicaties, databaseconnecties en communicatie tussen services. De verificatie moet uitgebreid zijn en alle belangrijke netwerkpaden moeten worden getest om ervoor te zorgen dat er geen onbedoelde blokkeringen zijn ontstaan. Indien problemen worden gedetecteerd, moeten de NSG-regels worden aangepast om legitiem verkeer toe te staan, terwijl ongeautoriseerd verkeer wordt geblokkeerd. Dit aanpassingsproces kan iteratief zijn, waarbij regels worden aangepast en opnieuw worden getest totdat alle legitieme verkeerspaden correct functioneren. Het is belangrijk om tijdens dit proces goed te documenteren welke aanpassingen zijn gemaakt en waarom, omdat deze informatie waardevol is voor toekomstige configuratiewijzigingen en voor auditdoeleinden.

Het wordt aanbevolen om remediatie uit te voeren tijdens een onderhoudsvenster of buiten kantooruren om de impact op operationele systemen te minimaliseren. Hoewel het koppelen van een NSG aan een subnet theoretisch geen serviceonderbreking zou moeten veroorzaken, kunnen er onvoorziene problemen optreden die leiden tot tijdelijke netwerkproblemen. Door remediatie uit te voeren tijdens een onderhoudsvenster, kunnen deze problemen worden opgelost zonder dat gebruikers hier last van hebben. Na implementatie moet het monitoring script opnieuw worden uitgevoerd om te verifiëren dat alle subnetten nu correct zijn beveiligd met NSG's. Deze verificatie is belangrijk om te bevestigen dat de remediatie succesvol is geweest en dat er geen subnetten zijn overgeslagen. Documentatie van de remediatie-acties, inclusief welke NSG's zijn gekoppeld aan welke subnetten, wanneer dit is gebeurd, welke tests zijn uitgevoerd en welke aanpassingen zijn gemaakt, is belangrijk voor auditdoeleinden en toekomstige referentie. Deze documentatie helpt ook bij het oplossen van problemen die later kunnen optreden en zorgt voor transparantie over de uitgevoerde beveiligingsmaatregelen.

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 NSG Configured All Subnets .DESCRIPTION CIS Azure Foundations Benchmark - Control 6.15 Controleert of NSGs zijn geconfigureerd op alle subnets. .NOTES Filename: nsg-configured-all-subnets.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 6.15 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Network [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "NSG Configured All Subnets" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } function Test-Compliance { $vnets = Get-AzVirtualNetwork -ErrorAction SilentlyContinue $result = @{ TotalSubnets = 0; WithNSG = 0 } foreach ($vnet in $vnets) { foreach ($subnet in $vnet.Subnets) { if ($subnet.Name -notlike '*GatewaySubnet*' -and $subnet.Name -notlike '*AzureBastionSubnet*') { $result.TotalSubnets++ if ($subnet.NetworkSecurityGroup) { $result.WithNSG++ } } } } return $result } try { Connect-RequiredServices if ($Monitoring) { $r = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total Subnets: $($r.TotalSubnets)" -ForegroundColor White Write-Host "With NSG: $($r.WithNSG)" -ForegroundColor $(if ($r.WithNSG -eq $r.TotalSubnets) { 'Green' } else { 'Yellow' }) if ($r.WithNSG -lt $r.TotalSubnets) { Write-Host "`n⚠️ $($r.TotalSubnets - $r.WithNSG) subnets zonder NSG" -ForegroundColor Yellow } } else { $r = Test-Compliance Write-Host "`nNSG Coverage: $($r.WithNSG)/$($r.TotalSubnets) subnets" } } catch { Write-Error $_; exit 1 } # ================================================================================ # Standaard Invoke-* Functions (Auto-generated) # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() $Monitoring = $true try { Connect-RequiredServices if ($Monitoring) { $r = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total Subnets: $($r.TotalSubnets)" -ForegroundColor White Write-Host "With NSG: $($r.WithNSG)" -ForegroundColor $(if ($r.WithNSG -eq $r.TotalSubnets) { 'Green' } else { 'Yellow' }) if ($r.WithNSG -lt $r.TotalSubnets) { Write-Host "`n⚠️ $($r.TotalSubnets - $r.WithNSG) subnets zonder NSG" -ForegroundColor Yellow } } else { $r = Test-Compliance Write-Host "`nNSG Coverage: $($r.WithNSG)/$($r.TotalSubnets) subnets" } } catch { Write-Error $_; exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat .DESCRIPTION Dit is een monitoring-only control, remediation delegeert naar monitoring #> [CmdletBinding()] param() Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan Invoke-Monitoring }

Risico zonder implementatie

Risico zonder implementatie
High: Subnetten zonder Netwerkbeveiligingsgroep hebben ongefilterd netwerkverkeer zonder firewallbescherming. Dit creëert een hoog beveiligingsrisico waarbij kwaadwillenden ongehinderd netwerkverkeer kunnen genereren, laterale beweging kunnen uitvoeren binnen het netwerk en gevoelige systemen kunnen bereiken zonder detectie. Organisaties voldoen niet aan compliance-vereisten van CIS 6.3, BIO 13.01 en ISO 27001:2022 A.8.20, wat kan leiden tot auditbevindingen en mogelijke boetes. Het risico is hoog vanwege de blootstelling van het netwerk aan ongeautoriseerde toegang.

Management Samenvatting

Netwerkbeveiligingsgroepen op alle subnetten: Elke subnet binnen Azure Virtual Networks moet een NSG hebben gekoppeld, met uitzondering van GatewaySubnet en AzureBastionSubnet die automatisch door Azure worden beveiligd. NSG's filteren netwerkverkeer en voorkomen laterale beweging door kwaadwillenden. Implementatie: Maak NSG's aan of gebruik bestaande NSG's en koppel deze aan subnetten. De service is gratis, alleen de Azure-resourcekosten zijn van toepassing. Verplicht voor compliance met CIS 6.3, BIO 13.01 en ISO 27001:2022 A.8.20. Implementatietijd: 3-4 uur voor technische configuratie en organisatorische procedures. Dit vormt fundamentele netwerkbeveiliging voor Azure-omgevingen.