💼 Management Samenvatting
Met Kubernetes Network Policies bepaalt u welke workloads in een AKS-cluster met elkaar en met de buitenwereld mogen communiceren. Voor Nederlandse overheidsorganisaties is het afdwingen van deze netwerksegmentatie een kerneis binnen een Zero Trust-architectuur.
✓ Azure Kubernetes Service
✓ Containerized Workloads
Zonder expliciet geconfigureerde network policies functioneren AKS-clusters in de praktijk vaak als één vlak netwerksegment: iedere pod kan in principe met iedere andere pod praten, en soms zelfs rechtstreeks met internet of backend-diensten zonder enige beperking. In omgevingen met burgerportalen, zaak- en documentservices, en koppelingen met achterliggende registratiesystemen betekent dit dat een compromis van één container zich eenvoudig kan uitbreiden naar andere workloads. Voor CISO’s en auditors is in zo’n situatie nauwelijks uit te leggen hoe laterale verplaatsing wordt beperkt of hoe gevoelige diensten van minder kritieke workloads zijn gescheiden. Bovendien sluiten ongesegmenteerde clusters slecht aan bij eisen uit de BIO, NIS2 en sectorale kaders, waar netwerksegmentatie, minimalisatie van vertrouwensrelaties en controleerbare toegangsregels expliciet worden benoemd.
Connection:
Connect-AzAccountRequired Modules: Az.Accounts, Az.Resources, Az.Aks
Implementatie
Dit artikel beschrijft hoe u network policies in Azure Kubernetes Service zodanig ontwerpt en configureert dat ze passen binnen de Nederlandse Baseline voor Veilige Cloud. We gaan in op het concept van NetworkPolicy in Kubernetes, de relatie met Azure CNI en Azure Firewall, en de manier waarop u namespaces en labels ontwerpt om logisch gescheiden domeinen te creëren. Vervolgens laten we zien hoe u met het bijbehorende PowerShell-script een inventarisatie uitvoert van clusters waar geen enkele netwerkpolicy actief is, hoe u dit resultaat vertaalt naar concrete verbeteracties en hoe u de voortgang structureel monitort. De nadruk ligt op praktische toepasbaarheid voor overheidsorganisaties met meerdere ontwikkelteams en leveranciers, waarbij aantoonbaarheid richting interne en externe toezichthouders centraal staat.
Conceptueel ontwerp van netwerksegmentatie in AKS
Kubernetes Network Policies vormen de applicatielaag van netwerksegmentatie binnen AKS. Waar traditionele firewalls verkeer op IP- en poortniveau filteren, leggen NetworkPolicies vast welke pods met welke andere pods of externe endpoints mogen communiceren op basis van labels en namespaces. Standaard geldt in veel AKS-implementaties een permissief model: als er geen network policies zijn gedefinieerd, is vrijwel al het verkeer binnen het cluster toegestaan. Dit staat haaks op de uitgangspunten van Zero Trust en de Nederlandse Baseline voor Veilige Cloud, waarin expliciete toegangsbeslissingen, minimale privileges en segmentatie van kritieke componenten worden verlangd. Een volwassen ontwerp start daarom met het identificeren van trust boundaries: scheidingen tussen publieke frontends, businesslogica, data-opslag, beheercomponenten en externe koppelingen. Deze grenzen worden vervolgens vertaald naar namespaces, labels en NetworkPolicies die alleen de strikt noodzakelijke communicatie toestaan.
Voor Nederlandse overheidsorganisaties betekent dit dat de logische scheiding in de bestaande architectuur – bijvoorbeeld tussen burgerportalen, interne behandelomgevingen en koppelingen met basisregistraties – herkenbaar moet terugkomen in het AKS-cluster. Frontend-pods in een "public"-namespace mogen doorgaans alleen via gedefinieerde ingress-routes worden benaderd en uitsluitend communiceren met specifieke backend-services in een "application"- of "api"-namespace. Data-intensieve workloads, zoals databases of stateful services, worden in een aparte namespace geplaatst met zeer beperkte ingangen, vaak uitsluitend vanaf een beperkt aantal applicatieservices. Daarnaast zijn er beheer- en observabilitycomponenten, zoals controllers, operators, monitoring agents en policy-implementaties, die opnieuw een eigen segment verdienen. Door deze domeinen expliciet te modelleren en elke namespace te voorzien van een set NetworkPolicies die inkomend en uitgaand verkeer regelen, ontstaat een fijnmazige maar beheersbare segmentatie.
Een goed ontwerp gaat verder dan alleen techniek en raakt direct aan governance en verantwoordelijkheden. Wie mag nieuwe NetworkPolicies toevoegen of wijzigen, en hoe wordt geborgd dat experimentele aanpassingen in een ontwikkelomgeving niet ongemerkt in productie belanden? Binnen de Nederlandse publieke sector werken vaak meerdere leveranciers en interne teams tegelijk op hetzelfde platform. Het is daarom verstandig om een onderscheid te maken tussen platformpolicies, die door het centrale cloud- of platformteam worden beheerd, en applicatiepolicies, die onder regie van de applicatie-eigenaar tot stand komen binnen vooraf afgesproken kaders. Platformpolicies zorgen voor basisbescherming, zoals het standaard blokkeren van cross-namespace verkeer of directe uitgaande verbindingen naar internet, terwijl applicatiepolicies de fijnmazige uitzonderingen vastleggen die nodig zijn voor een specifieke dienst. Leg deze rolverdeling vast in architectuur- en securitydocumentatie en koppel deze aan het changeproces, zodat wijzigingen in network policies altijd traceerbaar en verantwoord zijn.
Implementatie, validatie en geautomatiseerde controles
Gebruik PowerShell-script network-policies-configured.ps1 (functie Invoke-Monitoring) – Inventariseert per abonnement welke AKS-clusters geen enkele Kubernetes NetworkPolicy-objecten bevatten en geeft een overzicht voor verdere analyse..
De implementatie van network policies in AKS begint in de praktijk met een zorgvuldig gekozen pilot. Selecteer één of enkele niet-kritieke clusters waarin u het beoogde segmentatiemodel uitwerkt in namespaces, labels en NetworkPolicy-manifests. Gebruik Infrastructure as Code (bijvoorbeeld Bicep, Terraform of GitOps met Flux/ArgoCD) om deze policies als code te beheren, zodat wijzigingen altijd via versiebeheer en geformaliseerde changeprocedures verlopen. In de pilotfase ligt de nadruk op het beperken van laterale verplaatsing zonder direct productieomgevingen te verstoren. Begin met policies die expliciet verkeer toestaan (allow-rules) en combineer deze met een bewuste keuze: ofwel u hanteert nog een permissief default-deny-niveau en bouwt dat gefaseerd af, of u introduceert per namespace een set policies die effectief een default deny realiseren nadat de benodigde toegangswegen zijn beschreven. Documenteer voor elke policy welk doel zij dient, welke services erdoor worden beïnvloed en wat de relatie is met bestaande architectuurprincipes.
Valideren van network policies vereist zowel technische tests als functionele verificatie. Technisch kunt u gebruikmaken van tools zoals "kubectl exec" om connectiviteit tussen pods te testen, netwerkdiagnosetools binnen containers en observability-oplossingen zoals Azure Monitor en Network Watcher. Functioneel is het van belang om samen met applicatie-eigenaren door te lopen welke ketens essentieel zijn: van burger of medewerker aan de voorkant, via allerlei tussenlagen, tot en met de data-opslag en externe koppelingen. Elke stap in deze keten moet expliciet gedekt zijn door een NetworkPolicy-regel; onverwachte afhankelijkheden worden tijdens deze exercitie zichtbaar. Het bij deze richtlijn geleverde PowerShell-script ondersteunt u door in één oogopslag te laten zien welke clusters helemaal geen NetworkPolicy-objecten bevatten. Clusters waarin wel policies bestaan maar het patroon inconsistent of onvoldoende gedocumenteerd is, worden vervolgens in verdiepende sessies onder de loep genomen. Zo zorgt u dat bevindingen uit de pilot zich vertalen naar een organisatiebrede verbeteraanpak.
Automatisering is cruciaal om network policies duurzaam te borgen. Integreer policy- en manifestvalidaties in uw CI/CD-pijplijnen, zodat nieuwe configuraties al worden beoordeeld voordat ze een cluster bereiken. Denk aan het blokkeren van deployments die geen labels bevatten die passen binnen het afgesproken segmentatiemodel, of het afkeuren van manifests die naast applicielogica ook netwerkregels proberen te wijzigen buiten de geautoriseerde paden. Combineer dit met Azure Policy en het Azure Policy add-on voor AKS, zodat u ook vanuit het platform afdwingt dat clusters een minimaal niveau van netwerkbeveiliging hanteren. Rapportages uit het PowerShell-script, Azure Policy en logging uit de clusteromgeving worden samengebracht in dashboards voor het cloud governance board en de CISO-organisatie. Daarmee ontstaat een continu beeld van de volwassenheid van network policies over alle AKS-omgevingen heen, in plaats van incidentele controles bij projecten of audits.
Compliance, governance en aansluiting op Nederlandse kaders
Gebruik PowerShell-script network-policies-configured.ps1 (functie Invoke-Remediation) – Genereert een overzicht van AKS-clusters zonder netwerkpolicies en geeft tekstuele aanbevelingen voor remediatie en governance..
Vanuit complianceperspectief zijn geconfigureerde network policies in AKS een concreet bewijs dat netwerksegmentatie en toegangsbeheersing niet alleen op papier bestaan, maar ook daadwerkelijk in de technische inrichting zijn doorvertaald. Binnen de BIO wordt onder meer verlangd dat logische scheiding van omgevingen en functies aantoonbaar is ingericht en beheerd. Door namespaces, labels en NetworkPolicies te koppelen aan specifieke diensten en processen, kan bij audits helder worden uitgelegd hoe bijvoorbeeld een burgerportaal logisch is gescheiden van interne behandelapplicaties en van generieke infrastructuurdiensten. De output van het PowerShell-script – een lijst van clusters waarin nog geen enkele NetworkPolicy is gedefinieerd – helpt om snel te laten zien waar dit nog niet het geval is en welke verbetertrajecten lopen. In auditdossiers kan deze informatie worden opgenomen als onderdeel van een plan van aanpak voor het realiseren van een uniform segmentatieniveau over alle AKS-omgevingen.
De NIS2-richtlijn en ISO 27001 benadrukken het belang van technische en organisatorische maatregelen om de impact van beveiligingsincidenten te beperken. Network policies in AKS dragen direct bij aan het beperken van laterale beweging: zelfs wanneer een aanvaller een container weet te compromitteren, is de mogelijkheid om zich verder in de omgeving te verplaatsen beperkt tot de in de policies toegestane paden. Dit maakt het eenvoudiger om aan te tonen dat redelijke maatregelen zijn getroffen om de gevolgen van kwetsbaarheden in applicatiecode, third-party libraries of onderliggende platformcomponenten te mitigeren. In rapportages aan bestuurders en toezichthouders kan worden toegelicht welke segmentatiestrategie is gekozen, hoe deze is geïmplementeerd in AKS en hoe regelmatig wordt geëvalueerd of deze nog aansluit bij actuele dreigingsbeelden en dienstenportfolio’s. Een volwassen governanceproces voorziet daarnaast in expliciet vastgelegde uitzonderingen, bijvoorbeeld voor legacy-toepassingen, inclusief risicobeoordeling en einddatum.
Tot slot is continue verbetering essentieel. Nieuwe diensten, cloudpatronen en integraties kunnen de oorspronkelijke segmentatie-uitgangspunten onder druk zetten. Door periodiek – bijvoorbeeld per kwartaal – de resultaten van het PowerShell-script, Azure Policy-rapportages en incident- of bijna-incidentanalyses samen te brengen in een cloud risk board, kunnen patronen worden herkend: welke organisatieonderdelen lopen structureel achter, waar zijn extra ondersteunings- of opleidingsmaatregelen nodig en welke generieke bouwblokken of referentie-implementaties ontbreken nog? Door lessons learned uit één clusterfamilie te vertalen naar generieke richtlijnen en voorbeeldmanifests, verbetert de volwassenheid van network policies stapsgewijs in de volle breedte van de organisatie. Daarmee wordt network policy-configuratie in AKS niet gezien als een eenmalig project, maar als een voortdurend onderdeel van de Nederlandse Baseline voor Veilige Cloud.
Compliance & Frameworks
- CIS M365: Control CIS Kubernetes Benchmark – Network Policies (L1/L2) - Aanbevelingen voor het afdwingen van Kubernetes NetworkPolicies om verkeer binnen clusters te beperken tot strikt noodzakelijke paden.
- BIO: 09.01, 12.02, 13.01, 14.01 - Logische scheiding van omgevingen, netwerksegmentatie en beheersing van communicatiepaden tussen informatievoorzieningen binnen de Baseline Informatiebeveiliging Overheid.
- ISO 27001:2022: A.5.15, A.8.20, A.8.28, A.8.29 - Beheer van netwerkbeveiliging, segmentatie en technische configuraties ter voorkoming van ongeautoriseerde toegang en laterale verplaatsing.
- NIS2: Artikel - Technische en organisatorische maatregelen om de risico’s voor netwerk- en informatiesystemen te beperken, waaronder segmentatie van kritieke diensten en controleerbare toegangsregels.
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
Ontwerp en implementeer een organisatiebreed netwerksegmentatiemodel voor AKS op basis van namespaces, labels en Kubernetes NetworkPolicies. Gebruik het bijbehorende PowerShell-script om clusters zonder policies te identificeren, voer gefaseerde verbetertrajecten uit en borg de configuratie via CI/CD, Azure Policy en periodieke rapportages aan de CISO- en governance-organen. Zo maakt u network policies tot een aantoonbare pijler onder de Nederlandse Baseline voor Veilige Cloud.
- Implementatietijd: 100 uur
- FTE required: 0.4 FTE