💼 Management Samenvatting
Azure Kubernetes Service (AKS) is voor veel Nederlandse overheidsorganisaties de standaardplatformdienst voor het hosten van containerworkloads en moderne applicaties. Juist omdat AKS vaak bedrijfskritische en publiek gerichte diensten draagt, moet de beveiliging vanaf ontwerp tot en met beheer aantoonbaar op orde zijn.
✓ Azure Kubernetes Service (AKS)
Kubernetes-clusters zijn complex: er zijn meerdere lagen (control plane, nodes, netwerk, identiteiten, containers, images en CI/CD-ketens) die elkaar beïnvloeden. In de praktijk ontstaan snel onbedoeld openstaande API’s, te ruime rechten voor workloads, onvoldoende gesegmenteerde netwerken of kwetsbare containerimages. Voor Nederlandse overheidsorganisaties komt daar bovenop dat BIO, NIS2 en sectorale normenkaders eisen stellen aan toegangsbeveiliging, logging, configuratiebeheer en continuïteit. Een verkeerd geconfigureerd AKS-cluster kan leiden tot datalekken, misbruik van rekenkracht, verstoring van kritieke diensten of het onopgemerkt uitvoeren van malware. Zonder duidelijke richtlijnen en controles is het voor CISO’s, architecten en beheerteams lastig om aan bestuurders en toezichthouders uit te leggen of AKS-omgevingen daadwerkelijk veilig zijn ingericht.
Connection:
Connect-AzAccountRequired Modules: Az.Accounts, Az.Aks
Implementatie
Dit index-artikel beschrijft hoe u AKS inricht en beheert binnen de "Nederlandse Baseline voor Veilige Cloud". We behandelen de rol van AKS binnen de cloudarchitectuur, de belangrijkste beveiligingsprincipes voor cluster- en workloadconfiguratie, en hoe u governance, monitoring en remediatie organiseert. Daarnaast laten we zien hoe u met een PowerShell-script een eerste overzicht krijgt van de beveiligingsstatus van uw clusters, zodat u gericht vervolgartikelen en detailcontroles kunt inzetten.
Rol van AKS in de overheidsarchitectuur
AKS is in essentie geen doel op zich, maar een generiek platform waarop uiteenlopende applicaties en microservices worden gehost. Voor Nederlandse overheidsorganisaties varieert dit van burgerportalen en API-lagen tot interne integratiecomponenten en data-analyseservices. Het cluster vormt daarmee een gedeelde infrastructuurlaag waarop meerdere teams en domeinen hun workloads uitrollen. Zonder heldere architectuurprincipes kan dit al snel leiden tot een verzameling van los geconfigureerde namespaces, uiteenlopende security-standaarden en onduidelijke verantwoordelijkheden rond beheer en incidentrespons. Daarom moet AKS vanaf de start worden gepositioneerd als een centraal platform met expliciete kaders voor wie er gebruik van mag maken, onder welke voorwaarden en met welke mate van isolatie tussen workloads.
In een volwassen cloudarchitectuur is AKS ingebed in een Zero Trust-model. Dat betekent onder meer dat toegang tot de Kubernetes API uitsluitend via geauthenticeerde en geautoriseerde identiteiten verloopt, bij voorkeur geïntegreerd met Entra ID (Azure AD) en rolgebaseerde toegang (RBAC). Beheerconnectiviteit via het internet wordt beperkt of volledig afgesloten, waarbij beheer uitsluitend plaatsvindt via beveiligde beheersegmenten of private endpoints. Worker nodes draaien bij voorkeur in een dedicated subnet met Network Security Groups en, waar mogelijk, gebruik van Azure CNI en netwerkpolicy’s die verkeer tussen pods en namespaces beperken. Door deze netwerk- en identiteitsarchitectuur strak te definiëren, wordt voorkomen dat individuele teams eigen, mogelijk onveilige, wegen zoeken om toegang te krijgen tot het cluster.
Een ander architectuurprincipe is de scheiding tussen omgevingen: ontwikkel-, test-, acceptatie- en productieclusters worden logisch én technisch gescheiden, bijvoorbeeld via verschillende Azure-subscripties en managementgroepen. Productieclusters volgen strengere policies voor zaken als node hardening, toegangsbeheer en change management dan niet-productieomgevingen. Bovendien worden AKS-clusters niet geïsoleerd ontworpen, maar in samenhang met andere beveiligingscomponenten zoals Azure Key Vault voor geheimenbeheer, Azure Monitor en Log Analytics voor logging, Defender for Cloud voor dreigingsdetectie en Azure Policy voor configuratiehandhaving. Deze samenhang moet zichtbaar zijn in architectuurdocumenten en besluitvorming, zodat auditors en toezichthouders kunnen herleiden hoe AKS zich verhoudt tot het bredere beveiligingslandschap.
Beveiligingsbaseline voor AKS-clusters en workloads
Een robuuste beveiligingsbaseline voor AKS begint bij het cluster zelf. Belangrijke uitgangspunten zijn het inschakelen van RBAC, het uitschakelen van lokale beheeraccounts waar mogelijk, het toepassen van private clusters zodat de Kubernetes API niet publiek bereikbaar is, en het afdwingen van versleuteling van data in rust en tijdens transport. Daarnaast dienen node pools te worden geconfigureerd met up-to-date images, automatische patching en – waar mogelijk – gebruik van node verharding volgens de door Microsoft en het NCSC aanbevolen richtlijnen. Voor control plane en node logs moet diagnostische logging worden geactiveerd en doorgestuurd naar een centrale Log Analytics-werkruimte of SIEM, zodat verdachte patronen tijdig worden gedetecteerd.
Op workloadniveau ligt de focus op het minimaliseren van privileges en het afdwingen van veilige configuraties via policies. Containers draaien idealiter niet als root, deployments maken geen gebruik van onbeschermde hostPath-mounts en secrets worden niet hardcoded in images of configuratiebestanden, maar via Key Vault of Kubernetes Secrets met passende toegangsrestricties. Resourcequota en limieten voorkomen dat individuele workloads onevenredig veel CPU of geheugen verbruiken, wat de beschikbaarheid van andere diensten in gevaar kan brengen. Beveiligingsscanners voor containerimages – bijvoorbeeld geïntegreerd in Defender for Cloud of de gebruikte container registry – worden ingezet om bekende kwetsbaarheden in images vroegtijdig te signaleren. Door deze maatregelen te combineren ontstaat een defense-in-depth-benadering waarin fouten in één laag niet direct leiden tot een volledig compromis van het cluster.
Azure Policy speelt een sleutelrol in het afdwingen van de beveiligingsbaseline. Met beleidssets kunnen organisaties afdwingen dat nieuwe clusters en namespaces voldoen aan minimumeisen, zoals het inschakelen van Defender for Cloud aanbevelingen, het verplicht gebruiken van beheerde identiteiten voor workloads en het blokkeren van ongewenste configuraties (bijvoorbeeld het toestaan van privileged containers). Deze policies worden centraal beheerd op managementgroep- of abonnementsniveau en zijn gekoppeld aan specifieke compliancedomeinen, zoals de CIS Kubernetes Benchmark of interne richtlijnen van de organisatie. Rapportages uit Azure Policy en Defender for Cloud geven vervolgens inzicht in de feitelijke naleving, wat essentieel is voor sturing door CISO’s en voor externe audits.
Monitoring en rapportage van AKS-beveiliging
Gebruik PowerShell-script index.ps1 (functie Invoke-Monitoring) – Geeft een compact overzicht van AKS-clusters in de tenant en hun belangrijkste beveiligingskenmerken, zoals RBAC en netwerkpolicy’s..
Monitoring van AKS-beveiliging is meer dan het inrichten van enkele dashboards. Organisaties moeten structureel zicht hebben op waar clusters draaien, welke configuraties zijn gekozen en of kritieke beveiligingsinstellingen daadwerkelijk zijn ingeschakeld. Dit omvat onder andere het monitoren van het aantal clusters per omgeving, het gebruik van RBAC en geïntegreerde identiteiten, de status van Defender for Cloud aanbevelingen, het gebruik van netwerkpolicy’s en het aan- of afwezig zijn van publieke endpoints. Door deze informatie te centraliseren in een overzicht, kunnen CISO’s en platformteams gericht prioriteiten stellen: eerst de clusters zonder basismaatregelen, daarna clusters met specifieke kwetsbaarheden of afwijkingen ten opzichte van de standaard.
Het bij dit artikel horende PowerShell-script is bewust lichtgewicht gehouden en richt zich op een eerste inventarisatie. Het script leest alle AKS-clusters in de tenant uit en rapporteert per cluster onder meer de resourcegroep, locatie, of RBAC is ingeschakeld en welke netwerkpolicy is geconfigureerd. De uitvoer kan worden gebruikt als input voor meer gedetailleerde analyses, bijvoorbeeld door resultaten te exporteren naar CSV of in te lezen in een dashboardingoplossing. Belangrijk is dat dit script niet in plaats komt van diepgaande beveiligingsscans of gespecialiseerde tooling, maar fungeert als startpunt waarmee u snel ziet waar de grootste afwijkingen zitten en welke clusters aanvullende aandacht nodig hebben.
Remediatie en structurele verbetering
Gebruik PowerShell-script index.ps1 (functie Invoke-Remediation) – Ondersteunt het structureren van verbeteracties op basis van de inventarisatie van AKS-clusters en hun beveiligingsstatus..
Wanneer blijkt dat AKS-clusters niet voldoen aan de gewenste beveiligingsbaseline, is een gestructureerde remediatieaanpak nodig. Ad-hoc wijzigingen – bijvoorbeeld het handmatig aanpassen van een enkele clusterconfiguratie – lossen doorgaans slechts symptomen op en vergroten de kans op inconsistenties tussen omgevingen. In plaats daarvan moeten verbetermaatregelen worden vastgelegd in een programma waarin per cluster en per beveiligingsdomein wordt beschreven welke aanpassing nodig is, wie eigenaar is, welke risico’s daarmee worden verkleind en hoe de wijziging wordt getest en uitgerold. Dit programma sluit idealiter aan op bestaande change-, release- en CAB-processen, zodat beveiligingsverbeteringen niet losstaan van de reguliere lifecycle van de omgeving.
Het script bij dit artikel automatiseert de eerste stap van remediatie: het overzichtelijk maken van de huidige situatie. Door de scriptuitvoer te combineren met interne richtlijnen en referentieconfiguraties, kunnen platformteams snel zien welke clusters als eerste aandacht vragen. De resultaten worden vertaald naar concrete acties, zoals het inschakelen van RBAC, het omschakelen naar private clusters, het activeren van netwerkpolicy’s of het herzien van rollen en toegangsmodellen voor beheeraccounts. Waar mogelijk worden deze maatregelen opgenomen in Infrastructure as Code-templates en Azure Policy-definities, zodat nieuwe clusters automatisch volgens dezelfde standaard worden uitgerold. Zo wordt remediatie niet alleen een eenmalige opschoningsactie, maar onderdeel van een continue verbetercyclus.
Compliance & Frameworks
- CIS M365: Control Kubernetes Benchmark (L1/L2) - Richtlijnen voor het hardenen van Kubernetes-clusters en workloads volgens erkende best practices.
- BIO: 09.01, 12.02, 14.01 - Eisen rond toegangsbeveiliging, wijzigingsbeheer en beveiliging van applicaties en infrastructuur binnen de Baseline Informatiebeveiliging Overheid.
- ISO 27001:2022: A.5.15, A.8.28, A.8.29 - Beveiliging van cloudservices, configuratiebeheer en bescherming van applicatie- en containerplatformen.
- NIS2: Artikel - Maatregelen voor beheer van netwerk- en informatiesystemen, inclusief veilige inzet van containerplatformen als onderdeel van de digitale weerbaarheid.
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
AKS biedt een krachtig platform voor moderne applicaties, maar vraagt om strikte beveiliging, governance en monitoring. Door een duidelijke architectuurrol te definiëren, een beveiligingsbaseline af te dwingen, clusters structureel te monitoren en remediatie in een continu verbeterprogramma onder te brengen, kunnen Nederlandse overheidsorganisaties AKS veilig en aantoonbaar compliant inzetten.
- Implementatietijd: 100 uur
- FTE required: 0.4 FTE