💼 Management Samenvatting
Network Security Groups (NSG's) vormen de fundamentele beveiligingslaag voor Azure Virtual Networks en zijn essentieel voor het implementeren van netwerksegmentatie en toegangscontrole op subnet- en netwerkinterfaceniveau. Zonder correct geconfigureerde NSG's zijn Azure-resources blootgesteld aan ongeautoriseerd netwerkverkeer, wat kan leiden tot datalekken, ongeautoriseerde toegang en compliance-schendingen.
✓ Azure Subnets
✓ Network Interfaces
✓ Alle Azure-netwerkresources
Network Security Groups zijn de primaire verdedigingslinie tegen ongeautoriseerd netwerkverkeer in Azure-omgevingen. Zonder correct geconfigureerde NSG's kunnen virtuele machines, databases, applicaties en andere Azure-resources direct worden benaderd via het netwerk zonder enige filtering of toegangscontrole. Dit creëert aanzienlijke beveiligingsrisico's: aanvallers kunnen poorten scannen en exploiteren, ongeautoriseerde toegang verkrijgen tot gevoelige systemen, data exfiltreren via open netwerkverbindingen, en malware verspreiden tussen systemen binnen hetzelfde netwerk. Voor Nederlandse overheidsorganisaties die werken met persoonsgegevens en gevoelige informatie is dit onacceptabel: de Baseline Informatiebeveiliging Overheid (BIO) vereist expliciete netwerksegmentatie en toegangscontrole, de Algemene Verordening Gegevensbescherming (AVG) vereist passende technische maatregelen om persoonsgegevens te beschermen, en ISO 27001 vereist netwerkbeveiligingscontroles die ongeautoriseerd verkeer blokkeren. Zonder NSG's kunnen organisaties niet aantonen dat zij passende maatregelen hebben genomen om netwerkverkeer te controleren en te monitoren, wat kan leiden tot compliance-schendingen, boetes en reputatieschade. Daarnaast ontbreekt zonder NSG's vaak zicht op netwerkverkeer: er is geen logging van toegangspogingen, geen inzicht in welke systemen met elkaar communiceren, en geen mogelijkheid om verdacht verkeer te detecteren en te blokkeren. Dit maakt het onmogelijk om effectief te reageren op beveiligingsincidenten en om te voldoen aan audit- en verantwoordingsvereisten.
Connection:
Connect-AzAccountRequired Modules: Az.Network, Az.Resources, Az.Accounts
Implementatie
Dit artikel beschrijft hoe organisaties binnen de Nederlandse Baseline voor Veilige Cloud Network Security Groups correct configureren en beheren als onderdeel van een gelaagde netwerkbeveiligingsstrategie. De focus ligt op vier hoofdcomponenten. Ten eerste architectuur en ontwerp: het begrijpen van NSG-regels en prioriteiten, het ontwerpen van een consistente NSG-structuur voor verschillende subnetten en workloads, het plannen van netwerksegmentatie op basis van beveiligingsvereisten, en het integreren van NSG's in bestaande netwerkarchitecturen. Ten tweede basisconfiguratie en implementatie: het maken van NSG's voor subnetten en netwerkinterfaces, het definiëren van inkomende en uitgaande regels met specifieke bron- en doeladressen, poorten en protocollen, het implementeren van de principes van least privilege en default deny, en het toepassen van consistente naamgevingsconventies en tags. Ten derde geavanceerde configuratie: het gebruik van Application Security Groups voor vereenvoudigd beheer, het implementeren van service tags voor Azure-services, het configureren van NSG-flow logs voor monitoring en forensisch onderzoek, en het integreren met Azure Network Watcher voor netwerkdiagnostiek. Ten vierde operationalisatie en governance: het opzetten van change management-processen voor NSG-wijzigingen, het implementeren van periodieke reviews en audits, het monitoren van NSG-regels en het identificeren van verouderde of onveilige configuraties, en het borgen van compliance met relevante frameworks. Het bijbehorende PowerShell-script inventariseert alle NSG's in een abonnement, controleert of alle subnetten en netwerkinterfaces correct zijn beveiligd, identificeert ontbrekende of onveilige regels, en rapporteert over de compliance-status van de netwerkbeveiligingsconfiguratie.
Vereisten en overwegingen
Voordat Network Security Groups worden geïmplementeerd, moeten organisaties een duidelijk beeld hebben van hun netwerkarchitectuur, de beveiligingsvereisten per workload en de compliance-verplichtingen die van toepassing zijn. Het is essentieel om vooraf een netwerksegmentatiestrategie te definiëren die verschillende workloads scheidt op basis van gevoeligheid, compliance-vereisten en toegangsbehoeften. Dit betekent dat organisaties moeten inventariseren welke subnetten en netwerkinterfaces er zijn, welke workloads daarop draaien, welke communicatiepatronen er bestaan tussen verschillende systemen, en welke externe toegang nodig is voor beheer, monitoring en gebruikers. Deze inventarisatie vormt de basis voor het ontwerpen van NSG-regels die alleen het noodzakelijke verkeer toestaan en al het andere verkeer blokkeren volgens het principe van default deny.
Voor het configureren van Network Security Groups zijn specifieke Azure-rechten vereist. Beheerders moeten beschikken over rechten op het niveau van Network Contributor of hoger om NSG's aan te maken, te wijzigen en te koppelen aan subnetten en netwerkinterfaces. Het is belangrijk om vooraf te verifiëren welke rechten beschikbaar zijn en om indien nodig verzoeken in te dienen voor aanvullende rechten voordat de implementatie begint. Daarnaast is het raadzaam om een duidelijk change management-proces te definiëren voor NSG-wijzigingen, omdat onjuiste configuraties kunnen leiden tot netwerkuitval en onbeschikbaarheid van services. Dit proces moet onder meer omvatten: het documenteren van de reden voor wijzigingen, het testen van wijzigingen in een testomgeving voordat ze in productie worden toegepast, het verkrijgen van goedkeuring van relevante stakeholders, en het monitoren van de impact na implementatie.
Een belangrijke overweging bij de implementatie van NSG's is het begrijpen van de regelprioriteit en hoe regels worden geëvalueerd. NSG-regels worden verwerkt in volgorde van prioriteit, waarbij lagere nummers eerst worden geëvalueerd. Zodra een regel overeenkomt met het verkeer, wordt de actie (toestaan of weigeren) toegepast en worden verdere regels niet meer geëvalueerd. Het is daarom cruciaal om regels logisch te ordenen: specifieke regels moeten een lagere prioriteit hebben dan algemene regels, en deny-regels moeten een hogere prioriteit hebben dan allow-regels wanneer beide van toepassing kunnen zijn. Daarnaast is het belangrijk om te begrijpen dat NSG's stateful zijn: wanneer een uitgaande verbinding wordt toegestaan, wordt automatisch een bijbehorende inkomende regel toegevoegd voor het antwoordverkeer. Dit betekent dat voor de meeste applicaties alleen uitgaande regels hoeven te worden geconfigureerd, tenzij er expliciet inkomend verkeer nodig is van externe bronnen.
Implementatie van Network Security Groups
Gebruik PowerShell-script network-security-groups-configured.ps1 (functie Invoke-Monitoring) – Controleert of alle subnetten en netwerkinterfaces correct zijn beveiligd met Network Security Groups en rapporteert de configuratiestatus..
De implementatie van Network Security Groups begint met het maken van een NSG voor elk subnet of groep van netwerkinterfaces die vergelijkbare beveiligingsvereisten hebben. Navigeer naar de Azure Portal en zoek naar 'Network security groups' in de zoekbalk bovenaan. Klik op 'Network security groups' en vervolgens op 'Toevoegen' om een nieuwe NSG aan te maken. Geef de NSG een duidelijke naam die aangeeft waarvoor deze wordt gebruikt, bijvoorbeeld 'NSG-WebSubnet-Production' of 'NSG-DatabaseSubnet-Production'. Kies het juiste abonnement, de resourcegroep en de locatie. Het is belangrijk om consistente naamgevingsconventies te gebruiken die het doel, de omgeving en de prioriteit van de NSG duidelijk maken, zodat beheerders snel kunnen begrijpen wat de NSG doet zonder de regels te hoeven bekijken.
Na het aanmaken van de NSG moeten de beveiligingsregels worden geconfigureerd. Klik op de NSG en navigeer naar 'Inkomende beveiligingsregels' of 'Uitgaande beveiligingsregels' in het menu aan de linkerkant. Standaard bevat elke NSG enkele standaardregels die Azure-services toestaan om te communiceren, maar deze zijn meestal niet voldoende voor productieomgevingen. Begin met het toevoegen van specifieke regels die het noodzakelijke verkeer toestaan. Voor inkomende regels moet worden gedefinieerd: de prioriteit (lager nummer = hogere prioriteit), de naam van de regel, de bron (bijvoorbeeld een specifiek IP-adres, een IP-bereik, een service tag zoals 'VirtualNetwork' of 'Internet'), de bronpoort of poortbereik, het doel (meestal 'Any' of een specifiek IP-adres), de doelpoort of poortbereik, het protocol (TCP, UDP of beide), en de actie (Toestaan of Weigeren). Voor uitgaande regels gelden vergelijkbare parameters, maar dan vanuit het perspectief van uitgaand verkeer.
Het wordt sterk aanbevolen om te beginnen met een default deny-aanpak: alle verkeer wordt standaard geblokkeerd, en alleen expliciet toegestaan verkeer wordt doorgelaten. Dit betekent dat aan het einde van de regelreeks een expliciete deny-all regel moet worden toegevoegd met een lage prioriteit (bijvoorbeeld 4096) die al het overige verkeer blokkeert. Vervolgens kunnen specifieke allow-regels worden toegevoegd met hogere prioriteiten die het noodzakelijke verkeer toestaan. Voor veel organisaties is het handig om gebruik te maken van Azure Service Tags, die vooraf gedefinieerde groepen van IP-adressen vertegenwoordigen voor Azure-services zoals 'AzureLoadBalancer', 'AzureKeyVault', 'Storage', of 'Sql'. Dit vereenvoudigt het beheer omdat Microsoft automatisch de IP-adressen bijwerkt wanneer services worden toegevoegd of verwijderd, zonder dat organisaties handmatig IP-adressen hoeven bij te werken.
Zodra de regels zijn geconfigureerd, moet de NSG worden gekoppeld aan het subnet of de netwerkinterfaces die bescherming nodig hebben. Voor subnetten: navigeer naar het Virtual Network en selecteer het gewenste subnet. Klik op 'Network security group' in de subnetinstellingen en selecteer de zojuist aangemaakte NSG. Voor netwerkinterfaces: navigeer naar de netwerkinterface en selecteer 'Network security group' in de instellingen, en kies de juiste NSG. Het is belangrijk om te weten dat een netwerkinterface zowel een NSG kan hebben die direct aan de interface is gekoppeld als een NSG die aan het subnet is gekoppeld: beide sets regels worden geëvalueerd, waarbij de meest restrictieve regel prevaleert. Dit kan handig zijn voor extra beveiliging van specifieke VM's, maar kan ook leiden tot onverwachte blokkades als de regels niet goed op elkaar zijn afgestemd.
Voor geavanceerde scenario's kunnen Application Security Groups (ASG's) worden gebruikt om het beheer van NSG-regels te vereenvoudigen. ASG's maken het mogelijk om netwerkinterfaces te groeperen op basis van de applicaties die erop draaien, in plaats van op basis van IP-adressen. Dit betekent dat wanneer een nieuwe VM wordt toegevoegd aan een ASG, deze automatisch de juiste NSG-regels krijgt zonder dat de regels handmatig hoeven te worden bijgewerkt. ASG's zijn vooral nuttig voor omgevingen met veel VM's die regelmatig worden toegevoegd of verwijderd, zoals ontwikkelomgevingen of omgevingen met auto-scaling. Om ASG's te gebruiken, moet eerst een ASG worden aangemaakt, vervolgens moeten netwerkinterfaces worden toegevoegd aan de ASG, en ten slotte moeten NSG-regels worden geconfigureerd die verwijzen naar de ASG in plaats van naar specifieke IP-adressen.
Compliance en verantwoording
Network Security Groups dragen substantieel bij aan het voldoen aan verschillende compliance-vereisten die van belang zijn voor Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige informatie. Onder ISO 27001 richtlijn A.13.1.1, die zich richt op netwerkbeveiligingscontroles, moeten organisaties maatregelen treffen om netwerkverkeer te controleren en te monitoren om ongeautoriseerde toegang te voorkomen. NSG's vormen een essentiële technische controle die deze vereiste invult door expliciet te definiëren welke netwerkverkeer is toegestaan en welk verkeer wordt geblokkeerd. Tijdens ISO 27001 audits kunnen organisaties aantonen dat zij passende netwerkbeveiligingscontroles hebben geïmplementeerd door de NSG-configuraties te tonen, de regelprioriteiten te verklaren, en te demonstreren hoe de regels zijn afgestemd op de beveiligingsvereisten van verschillende workloads.
Voor Nederlandse overheidsorganisaties is compliance met de Baseline Informatiebeveiliging Overheid (BIO) verplicht en vormt dit een fundamenteel onderdeel van de informatiebeveiliging binnen de publieke sector. BIO control 12.01 richt zich specifiek op netwerksegmentatie en vereist dat organisaties netwerken logisch scheiden op basis van beveiligingsvereisten en toegangsbehoeften. NSG's zijn een essentiële technische maatregel om deze segmentatie te implementeren: door verschillende subnetten te voorzien van verschillende NSG's met verschillende regels, kunnen organisaties ervoor zorgen dat workloads met verschillende gevoeligheidsniveaus niet met elkaar kunnen communiceren tenzij dit expliciet is toegestaan. BIO control 12.02 vereist daarnaast dat organisaties netwerkverkeer monitoren en loggen, wat kan worden gerealiseerd door NSG Flow Logs in te schakelen die alle netwerkverkeer vastleggen voor analyse en forensisch onderzoek.
Onder de Algemene Verordening Gegevensbescherming (AVG) Artikel 32, dat vereist dat organisaties passende technische en organisatorische maatregelen treffen om persoonsgegevens te beschermen, vormen NSG's een belangrijke technische maatregel om ongeautoriseerde toegang tot systemen die persoonsgegevens verwerken te voorkomen. Door NSG's correct te configureren kunnen organisaties ervoor zorgen dat alleen geautoriseerde systemen en gebruikers toegang hebben tot databases, applicaties en andere resources die persoonsgegevens bevatten. Dit is vooral belangrijk voor systemen die gevoelige persoonsgegevens verwerken, zoals systemen in de zorg, het onderwijs of de sociale zekerheid, waar onbevoegde toegang kan leiden tot ernstige privacy-schendingen en hoge boetes van de Autoriteit Persoonsgegevens.
Het is belangrijk om de configuratie en werking van Network Security Groups uitgebreid te documenteren als onderdeel van de compliance-documentatie, zodat auditors en toezichthouders kunnen verifiëren dat de maatregelen adequaat zijn geïmplementeerd en functioneren zoals bedoeld. Dit omvat: een overzicht van alle NSG's en waarvoor zij worden gebruikt, documentatie van de regelprioriteiten en de logica achter de regels, logs van wijzigingen aan NSG-configuraties, periodieke evaluaties van de effectiviteit van de regels en identificatie van verouderde of onveilige configuraties, en bewijs van monitoring en logging van netwerkverkeer via NSG Flow Logs. Dergelijke documentatie is essentieel om te kunnen aantonen aan auditors en toezichthouders zoals de Autoriteit Persoonsgegevens, het NCSC, of externe auditbureaus dat de organisatie voldoet aan relevante compliance-vereisten en dat passende maatregelen zijn genomen om netwerkverkeer te controleren en te monitoren.
Monitoring en beheer
Gebruik PowerShell-script network-security-groups-configured.ps1 (functie Invoke-Monitoring) – Voert periodieke controles uit op de Network Security Group-configuratie voor alle subnetten en netwerkinterfaces en rapporteert de status aan security teams..
Effectieve monitoring van Network Security Groups is cruciaal om tijdig te detecteren wanneer configuraties worden gewijzigd, wanneer nieuwe subnetten of netwerkinterfaces worden toegevoegd zonder NSG-bescherming, en om de effectiviteit van de beveiligingsregels te evalueren. Azure Monitor en Azure Network Watcher bieden uitgebreide mogelijkheden om NSG's te monitoren en te analyseren. Belangrijke aspecten om te monitoren zijn: of alle subnetten en netwerkinterfaces zijn beveiligd met NSG's, of de NSG-regels correct zijn geconfigureerd en geen onveilige configuraties bevatten zoals te brede toegangsregels, of NSG Flow Logs zijn ingeschakeld voor logging en forensisch onderzoek, en of er wijzigingen zijn aangebracht aan NSG-configuraties die mogelijk beveiligingsrisico's introduceren.
Het wordt sterk aanbevolen om NSG Flow Logs in te schakelen voor alle NSG's in productieomgevingen. Flow Logs bieden gedetailleerde informatie over al het IP-verkeer dat door een NSG wordt gefilterd, inclusief bron- en doel-IP-adressen, poorten, protocollen en of het verkeer is toegestaan of geblokkeerd. Deze logs kunnen worden opgeslagen in een Azure Storage Account voor langetermijnbewaring en kunnen worden geanalyseerd met Azure Log Analytics of externe SIEM-systemen voor detectie van verdacht verkeer, netwerkaanvallen en compliance-verificatie. Flow Logs zijn essentieel voor forensisch onderzoek na beveiligingsincidenten, omdat zij een volledig beeld geven van welke systemen met elkaar hebben gecommuniceerd en wanneer dit heeft plaatsgevonden. Voor compliance-doeleinden moeten Flow Logs worden bewaard voor de vereiste bewaarperiode, die voor veel organisaties minimaal 90 dagen is, maar voor gevoelige workloads kan oplopen tot 7 jaar.
Naast realtime monitoring is het belangrijk om periodieke reviews uit te voeren van de NSG-configuraties. Analyseer regelmatig of alle regels nog nodig zijn, of er verouderde regels zijn die verwijderd kunnen worden, of er nieuwe regels nodig zijn voor nieuwe workloads, en of de regelprioriteiten logisch zijn geordend. Het is raadzaam om minimaal elk kwartaal een review uit te voeren, waarbij alle NSG's worden gecontroleerd op consistentie, beveiliging en compliance. Tijdens deze reviews moeten ook de NSG Flow Logs worden geanalyseerd om te identificeren of er verkeer is dat niet wordt gebruikt en waarvoor regels kunnen worden verwijderd, of er verkeer is dat wordt geblokkeerd maar wel nodig zou moeten zijn, en of er verdacht verkeer is dat nader onderzoek vereist. Voor geavanceerde monitoring kunnen organisaties Azure Policy gebruiken om automatisch te controleren of alle subnetten en netwerkinterfaces NSG's hebben, of NSG Flow Logs zijn ingeschakeld, en of er geen onveilige regels zijn geconfigureerd zoals regels die toegang toestaan vanaf 'Internet' naar gevoelige subnetten.
Remediatie en herstel
Gebruik PowerShell-script network-security-groups-configured.ps1 (functie Invoke-Remediation) – Creëert en configureert Network Security Groups voor subnetten en netwerkinterfaces die nog geen bescherming hebben en verifieert de configuratie..
Wanneer blijkt dat subnetten of netwerkinterfaces niet zijn beveiligd met Network Security Groups, moet dit onmiddellijk worden hersteld om het risico op ongeautoriseerde netwerktoegang te minimaliseren. Het ontbreken van NSG-bescherming stelt Azure-resources bloot aan directe netwerktoegang zonder enige filtering, wat kan leiden tot datalekken, ongeautoriseerde toegang, malware-infecties en compliance-schendingen. Voor overheidsorganisaties die werken met persoonsgegevens kan dit leiden tot ernstige privacy-schendingen en hoge boetes van de Autoriteit Persoonsgegevens.
De remediatieprocedure begint met het identificeren van alle subnetten en netwerkinterfaces in de Azure-omgeving die niet zijn beveiligd met NSG's. Dit kan worden gedaan via Azure Portal door elke Virtual Network en netwerkinterface te inspecteren, of via PowerShell of Azure CLI om geautomatiseerd alle resources te scannen op de aanwezigheid van NSG's. Voor elk subnet of netwerkinterface dat bescherming nodig heeft, moet eerst worden bepaald welke beveiligingsregels nodig zijn op basis van de workloads die erop draaien, de gevoeligheid van de data, en de compliance-vereisten. Vervolgens moet een NSG worden aangemaakt met de juiste regels, of een bestaande NSG worden gebruikt als deze geschikt is voor de betreffende workload. Ten slotte moet de NSG worden gekoppeld aan het subnet of de netwerkinterface.
Voor organisaties die meerdere subnetten of netwerkinterfaces hebben, overweeg het gebruik van Azure Policy om automatisch te controleren en te handhaven dat alle nieuwe en bestaande resources NSG's hebben. Azure Policy kan worden geconfigureerd om automatisch te detecteren wanneer nieuwe subnetten of netwerkinterfaces worden aangemaakt zonder NSG's, of wanneer bestaande resources worden gewijzigd zodat NSG's worden verwijderd. Dit voorkomt dat in de toekomst nieuwe resources worden gecreëerd zonder adequate bescherming en zorgt ervoor dat compliance-vereisten automatisch worden afgedwongen zonder dat handmatige interventie vereist is. Azure Policy kan ook worden gebruikt om automatisch remediatie uit te voeren door standaard NSG's aan te maken en te koppelen wanneer wordt gedetecteerd dat deze ontbreken. Documenteer alle remediatie-acties die zijn uitgevoerd uitgebreid als onderdeel van de compliance-documentatie, inclusief de datum waarop NSG's zijn geconfigureerd, welke subnetten en netwerkinterfaces zijn beveiligd, welke regels zijn toegevoegd, en welke verificaties zijn uitgevoerd om te bevestigen dat de bescherming correct functioneert.
Compliance & Frameworks
- CIS M365: Control 6.15 (L1) - Zorg ervoor dat Network Security Groups zijn geconfigureerd op alle subnetten
- BIO: 12.01, 12.02 - Netwerksegmentatie en monitoring van netwerkverkeer voor adequate beveiliging
- ISO 27001:2022: A.13.1.1 - Netwerkbeveiligingscontroles om ongeautoriseerde toegang te voorkomen
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
Network Security Groups vormen de fundamentele beveiligingslaag voor Azure Virtual Networks en zijn essentieel voor netwerksegmentatie en toegangscontrole. NSG's moeten worden geconfigureerd voor alle subnetten en netwerkinterfaces met regels die alleen noodzakelijk verkeer toestaan volgens het principe van default deny. De implementatietijd bedraagt doorgaans 4 tot 6 uur per Virtual Network. De maatregel is essentieel voor alle Azure-netwerkresources en voldoet aan BIO 12.01-12.02, ISO 27001 A.13.1.1 en AVG Artikel 32.
- Implementatietijd: 6 uur
- FTE required: 0.05 FTE