💼 Management Samenvatting
Container image scanning vormt een essentiële beveiligingslaag binnen moderne cloudomgevingen door automatisch kwetsbaarheden te detecteren in container images voordat deze worden geïmplementeerd in productieomgevingen. Azure Container Registry biedt geïntegreerde vulnerability scanning via Microsoft Defender for Containers, waardoor organisaties real-time inzicht krijgen in bekende Common Vulnerabilities and Exposures (CVE's), verouderde packages, misconfiguraties en compliance-afwijkingen. Door automatische scanning te activeren bij elke push naar het registry en gate policies te implementeren die deployment blokkeren bij kritieke bevindingen, kunnen Nederlandse overheidsorganisaties aantoonbaar voldoen aan beveiligingseisen zoals BIO-paragraaf 12.05, ISO 27001 control A.14.2.8, de NIS2-richtlijn en DevSecOps-best practices. De scanning integreert naadloos met CI/CD-pipelines, Azure Policy voor automatische afdwinging en Microsoft Defender for Cloud voor centrale rapportage, waardoor beveiligingsevaluatie een natuurlijk onderdeel wordt van de software development lifecycle. Bovendien ondersteunt de oplossing scanning van zowel Linux- als Windows-container images, base image-analyse, dependency-checking en compliance-rapportages die direct kunnen worden gebruikt voor auditdoeleinden. Het correct configureren van container image scanning is daarom geen optionele maatregel, maar een kritieke vereiste voor elke organisatie die containerized workloads in productie draait binnen de Nederlandse Baseline voor Veilige Cloud.
✓ Azure Kubernetes Service
✓ Container Workloads
Zonder geautomatiseerde container image scanning lopen organisaties het risico op het implementeren van kwetsbare software in productieomgevingen, wat kan leiden tot succesvolle cyberaanvallen, datalekken en compliance-overtredingen. Container images bevatten vaak honderden tot duizenden softwarepakketten, elk met potentiële kwetsbaarheden die door aanvallers kunnen worden misbruikt. Zonder scanning blijven bekende CVE's onopgemerkt totdat een incident plaatsvindt, waardoor organisaties reageren in plaats van proactief te handelen. Voor Nederlandse overheidsorganisaties die kritieke diensten leveren aan burgers, kan een gecompromitteerde container leiden tot ongeautoriseerde toegang tot persoonsgegevens, verstoring van dienstverlening en mogelijke boetes van toezichthouders. Bovendien verlangen wettelijke kaders zoals de BIO-paragraaf 12.05, ISO 27001 control A.14.2.8, de NIS2-richtlijn en sectorale normen zoals ENSIA dat organisaties aantoonbaar maatregelen treffen om kwetsbaarheden in software te detecteren en te remediëren voordat deze in productie worden gebracht. Zonder een functionerend scanning-systeem mislukt iedere audit op deze onderdelen, wat kan resulteren in aanwijzingen, dwangsommen of zelfs intrekking van vergunningen. Denk aan scenario's waarbij een container image met een bekende Log4j-kwetsbaarheid wordt geïmplementeerd in een productieomgeving: zonder scanning wordt deze pas ontdekt na een security advisory of een daadwerkelijke aanval, waardoor de organisatie weken achterloopt op patches en mitigaties. Door geautomatiseerde scanning en gate policies op te nemen in de CI/CD-pipeline bouwt men een cultuur op waarin beveiliging net zo belangrijk is als functionaliteit en snelheid.
Connection:
Connect-AzAccountRequired Modules: Az.Accounts, Az.ContainerRegistry, Az.Security
Implementatie
Een solide container image scanning-configuratie start met het activeren van Microsoft Defender for Containers op het Azure-abonnement en het koppelen van Azure Container Registry-instances aan de scanning-service. Vervolgens definieert het team scanning policies die bepalen wanneer images worden gescand (bijvoorbeeld bij elke push, dagelijks of wekelijks), welke severity levels worden gemeld en welke bevindingen deployment moeten blokkeren. Daarna worden gate policies geconfigureerd in Azure Policy of CI/CD-pipelines die ervoor zorgen dat images met kritieke of hoge kwetsbaarheden niet kunnen worden geïmplementeerd zonder expliciete goedkeuring. Tot slot wordt monitoring en rapportage ingericht zodat security teams real-time inzicht hebben in scanresultaten, trends over tijd en compliance-status. Organisaties die volwassen willen werken, integreren scanning in hun development workflow, automatiseren remediatie via pull requests en publiceren rapportages in dashboards zodat bestuurders continu inzicht hebben in de beveiligingspostuur van hun containerized workloads. Hierdoor ontstaat een sluitende keten van preventie, detectie en remediatie die naadloos aansluit op de Nederlandse Baseline voor Veilige Cloud.
- Open het Azure-portaal, navigeer naar Microsoft Defender for Cloud en selecteer Environment settings zodat de abonnementenlijst wordt getoond waarop Defender kan worden geactiveerd.
- Selecteer het gewenste abonnement en klik op Settings & monitoring om de beschikbare Defender-plannen te bekijken, waaronder Defender for Containers die image scanning mogelijk maakt.
- Activeer Defender for Containers door de toggle in te schakelen en de Standard pricing tier te selecteren, zodat alle functionaliteit beschikbaar is inclusief vulnerability scanning, runtime protection en compliance assessment.
- Herhaal deze stap voor alle abonnementen die container workloads bevatten, zodat er geen blinde vlekken ontstaan in de beveiligingsdekking. Overweeg gebruik te maken van Azure Policy om automatisch Defender in te schakelen op nieuwe abonnementen.
- Wacht enkele minuten totdat de service volledig is geactiveerd en controleer in het Defender for Cloud-dashboard of de status correct wordt weergegeven. Documenteer aansluitend de resource-id's en beheerderstoewijzingen in het change record.
- Open het Azure-portaal, navigeer naar het Azure Container Registry dat moet worden gekoppeld en selecteer Security > Microsoft Defender for Cloud zodat de integratie-opties worden getoond.
- Klik op Enable om de koppeling te activeren, waardoor Defender for Containers automatisch begint met het scannen van alle nieuwe en bestaande images in het registry.
- Configureer de scanning-instellingen door te bepalen of images moeten worden gescand bij elke push, dagelijks of wekelijks, en selecteer welke severity levels moeten worden gerapporteerd (kritiek, hoog, gemiddeld, laag).
- Activeer automatische scanning voor alle repositories of specificeer uitzonderingen voor specifieke image-tags of repositories die niet kritiek zijn, zodat resources efficiënt worden gebruikt zonder onnodige scans uit te voeren.
- Herhaal deze stap voor alle ACR-instances in de organisatie, zodat er een consistente scanning-configuratie ontstaat. Gebruik Azure Policy om automatisch nieuwe registries te koppelen aan Defender for Containers.
- Verifieer de koppeling door een test image naar het registry te pushen en te controleren of er binnen enkele minuten scanresultaten beschikbaar zijn in het Defender for Cloud-dashboard.
- Definieer de severity-drempels die deployment moeten blokkeren, bijvoorbeeld alle kritieke en hoge kwetsbaarheden, of alleen kritieke kwetsbaarheden met een CVSS-score hoger dan 9.0.
- Implementeer Azure Policy-definities die AKS-clusters controleren op images met bekende kwetsbaarheden en deployment blokkeren wanneer de policy wordt geschonden. Deze policies kunnen worden toegepast op resourcegroep-, abonnement- of management group-niveau.
- Integreer scanning-checks in CI/CD-pipelines door na het builden van een image de scanresultaten op te halen via de Azure Container Registry API en de pipeline te laten falen wanneer kritieke bevindingen worden gedetecteerd.
- Configureer Kubernetes admission controllers zoals OPA Gatekeeper of Kyverno om te controleren of images zijn gescand en geen blokkerende kwetsbaarheden bevatten voordat pods worden gecreëerd in het cluster.
- Documenteer de gekozen gate policies in het beveiligingsplan en zorg dat ontwikkelaars begrijpen welke severity levels deployment blokkeren en hoe ze uitzonderingen kunnen aanvragen wanneer dit noodzakelijk is.
- Test de gate policies door opzettelijk een image met een bekende kwetsbaarheid te pushen en te verifiëren dat deployment daadwerkelijk wordt geblokkeerd. Voer deze test minimaal per kwartaal uit om te bevestigen dat de policies nog steeds functioneren.
- Controleer wekelijks het Defender for Cloud-dashboard op nieuwe scanbevindingen en prioriteer remediatie op basis van severity, exploitability en business impact van de betreffende images.
- Analyseer trends over tijd door maandelijks een rapport te genereren met het aantal gevonden kwetsbaarheden per severity level, de meest voorkomende CVE's en de gemiddelde tijd tot remediatie, zodat management inzicht heeft in de beveiligingspostuur.
- Verifieer dat ontwikkelteams daadwerkelijk actie ondernemen op scanbevindingen door te controleren of images worden bijgewerkt, base images worden gepatcht en dependencies worden geüpdatet binnen de afgesproken service level agreements.
- Plan minimaal per kwartaal een review-sessie met development en security teams om te bespreken welke kwetsbaarheden het meest voorkomen, welke base images het meest kwetsbaar zijn en hoe het scanning-proces kan worden verbeterd.
- Gebruik de compliance-rapportages van Defender for Cloud om aan te tonen dat scanning actief is en dat bevindingen worden opgevolgd, zodat auditors kunnen verifiëren dat de organisatie voldoet aan relevante normenkaders zoals BIO, ISO 27001 en NIS2.
Vereisten
- Een actief Azure-abonnement met Azure Container Registry (ACR) is noodzakelijk zodat images kunnen worden opgeslagen en gescand. Het registry moet minimaal de Basic SKU hebben, hoewel Standard of Premium wordt aanbevolen voor productieomgevingen vanwege betere performance en geavanceerde functies. Leg in het abonnement een beheerder van dienst vast en zorg dat change- en incidentprocessen bekend zijn met het bestaan van het registry. Documenteer bovendien welke resourcegroepen onderdeel zijn van het container-ecosysteem, zodat audits eenvoudig kunnen controleren of de juiste scope wordt beschermd.
- Microsoft Defender for Containers moet zijn ingeschakeld op abonnementsniveau met de Standard pricing tier, zodat vulnerability scanning beschikbaar is voor alle container images in gekoppelde ACR-instances. Zonder deze activering is scanning niet beschikbaar en kunnen kwetsbaarheden onopgemerkt blijven. Beschrijf in het beveiligingsplan waarom Defender for Containers is gekozen en laat security officers meekijken naar de configuratie. Koppel de service aan Log Analytics zodat beheerders real-time zicht houden op scanresultaten en policy-afwijkingen.
- Functionele en technische beheerders hebben Contributor- of hoger rechten nodig op zowel het ACR als het abonnement, aangevuld met Reader-rollen voor auditors, zodat configuraties kunnen worden gewijzigd terwijl scheiding van functies behouden blijft. Voor CI/CD-integratie zijn specifieke service principals of managed identities nodig met AcrPush-rechten. Richt privileged access workstations in voor deze handelingen en log alle beheeracties via Azure Activity Logs en Defender for Cloud. Maak gebruik van just-in-time toegangsverlening zodat langdurige permanente rechten worden voorkomen.
- Er moet een formeel goedgekeurd container security-beleid bestaan waarin scanning-frequentie, severity-drempels, gate policies, remediatie-verplichtingen en uitzonderingsprocedures zijn beschreven en gekoppeld aan de risicoklasse van de betreffende applicaties. Het beleid hoort onderdeel uit te maken van het informatiebeveiligingsplan en moet minimaal jaarlijks worden herzien of direct na een incident. Gebruik een beslisboom voor uitzonderingen zodat afwijkingen altijd schriftelijk worden goedgekeurd door de CISO of een daartoe aangewezen security officer.
- Financiële dekking is nodig voor Defender for Containers-kosten; reken op circa €5 per vCore per maand voor compute-bescherming, plus €0,20 per image scan voor ACR-integratie, zodat budgethouders niet verrast worden door groei in container workloads. Neem deze bedragen op in meerjarenramingen en koppel ze aan cloudkostenbeheer zodat afdelingen tijdig bijsturen. Houd rekening met variabele kosten bij hoge scanvolumes tijdens piekmomenten zoals grote releases.
- Het development team moet CI/CD-pipelines hebben die ondersteuning bieden voor scanning-integratie, zodat images automatisch worden gescand voordat ze worden gepusht naar het registry of geïmplementeerd in productie. Dit vereist toegang tot Azure DevOps, GitHub Actions of vergelijkbare tooling, evenals kennis van pipeline-configuratie. Laat deze waarden bevestigen door de proceseigenaar en leg ze vast in het DevSecOps-plan zodat er geen discussie ontstaat tijdens een incident.
- Organisaties hebben een gedocumenteerd remediatieproces nodig waarin duidelijk staat hoe ontwikkelaars omgaan met scanbevindingen, wie verantwoordelijk is voor het patchen van base images, hoe uitzonderingen worden aangevraagd en hoe compliance wordt geverifieerd voordat images worden vrijgegeven. Gebruik een lessons-learned-sjabloon en koppel verbetermaatregelen aan werkorders of user stories. Neem ook ketentesten op waarin afhankelijkheden zoals base images, dependencies en build-tools worden gecontroleerd.
- Monitoring- en meldingsmechanismen moeten vooraf worden gekoppeld aan het SOC of de security team; elke kritieke of hoge kwetsbaarheid moet automatisch een waarschuwing genereren die opgevolgd wordt binnen de afgesproken service levels. Definieer duidelijke escalatieroutes en meet de reactietijd zodat bestuurders kunnen vertrouwen op snelle interventies. Documenteer daarnaast welke meldingen direct rapportageplichtig zijn richting toezichthouders, vooral wanneer kwetsbaarheden betrekking hebben op persoonsgegevens of kritieke infrastructuur.
Implementatie
Gebruik PowerShell-script image-scanning.ps1 (functie Invoke-Implementation) – Gebruik dit PowerShell-script om op schaal container image scanning te configureren voor meerdere ACR-instances met uniforme policies, gate rules en monitoring-integratie..
STAP 1 beschrijft het activeren van Microsoft Defender for Containers op abonnementsniveau, wat de basis vormt voor alle container security-functionaliteit inclusief image scanning. Zonder deze activering is scanning niet beschikbaar en blijven kwetsbaarheden onopgemerkt. Kies de juiste pricing tier, bepaal welke abonnementen moeten worden beschermd en documenteer de gekozen configuratie zodat iedere beheerder direct ziet welke services actief zijn.
- Open het Azure-portaal, navigeer naar Microsoft Defender for Cloud en selecteer Environment settings zodat de abonnementenlijst wordt getoond waarop Defender kan worden geactiveerd.
- Selecteer het gewenste abonnement en klik op Settings & monitoring om de beschikbare Defender-plannen te bekijken, waaronder Defender for Containers die image scanning mogelijk maakt.
- Activeer Defender for Containers door de toggle in te schakelen en de Standard pricing tier te selecteren, zodat alle functionaliteit beschikbaar is inclusief vulnerability scanning, runtime protection en compliance assessment.
- Herhaal deze stap voor alle abonnementen die container workloads bevatten, zodat er geen blinde vlekken ontstaan in de beveiligingsdekking. Overweeg gebruik te maken van Azure Policy om automatisch Defender in te schakelen op nieuwe abonnementen.
- Wacht enkele minuten totdat de service volledig is geactiveerd en controleer in het Defender for Cloud-dashboard of de status correct wordt weergegeven. Documenteer aansluitend de resource-id's en beheerderstoewijzingen in het change record.
STAP 2 bestaat uit het koppelen van Azure Container Registry-instances aan Defender for Containers, zodat images automatisch worden gescand bij elke push naar het registry. Deze koppeling maakt het mogelijk om real-time inzicht te krijgen in kwetsbaarheden zonder handmatige interventie.
- Open het Azure-portaal, navigeer naar het Azure Container Registry dat moet worden gekoppeld en selecteer Security > Microsoft Defender for Cloud zodat de integratie-opties worden getoond.
- Klik op Enable om de koppeling te activeren, waardoor Defender for Containers automatisch begint met het scannen van alle nieuwe en bestaande images in het registry.
- Configureer de scanning-instellingen door te bepalen of images moeten worden gescand bij elke push, dagelijks of wekelijks, en selecteer welke severity levels moeten worden gerapporteerd (kritiek, hoog, gemiddeld, laag).
- Activeer automatische scanning voor alle repositories of specificeer uitzonderingen voor specifieke image-tags of repositories die niet kritiek zijn, zodat resources efficiënt worden gebruikt zonder onnodige scans uit te voeren.
- Herhaal deze stap voor alle ACR-instances in de organisatie, zodat er een consistente scanning-configuratie ontstaat. Gebruik Azure Policy om automatisch nieuwe registries te koppelen aan Defender for Containers.
- Verifieer de koppeling door een test image naar het registry te pushen en te controleren of er binnen enkele minuten scanresultaten beschikbaar zijn in het Defender for Cloud-dashboard.
STAP 3 richt zich op het configureren van gate policies die deployment blokkeren wanneer images kritieke of hoge kwetsbaarheden bevatten. Deze policies kunnen worden geïmplementeerd via Azure Policy, CI/CD-pipelines of Kubernetes admission controllers, afhankelijk van de architectuur van de organisatie.
Gebruik PowerShell-script image-scanning.ps1 (functie Invoke-Monitoring) – Het script biedt een geautomatiseerde controle op scanning-status, laatste scanresultaten en policy-naleving per image en publiceert de resultaten naar het monitoringdashboard..
- Definieer de severity-drempels die deployment moeten blokkeren, bijvoorbeeld alle kritieke en hoge kwetsbaarheden, of alleen kritieke kwetsbaarheden met een CVSS-score hoger dan 9.0.
- Implementeer Azure Policy-definities die AKS-clusters controleren op images met bekende kwetsbaarheden en deployment blokkeren wanneer de policy wordt geschonden. Deze policies kunnen worden toegepast op resourcegroep-, abonnement- of management group-niveau.
- Integreer scanning-checks in CI/CD-pipelines door na het builden van een image de scanresultaten op te halen via de Azure Container Registry API en de pipeline te laten falen wanneer kritieke bevindingen worden gedetecteerd.
- Configureer Kubernetes admission controllers zoals OPA Gatekeeper of Kyverno om te controleren of images zijn gescand en geen blokkerende kwetsbaarheden bevatten voordat pods worden gecreëerd in het cluster.
- Documenteer de gekozen gate policies in het beveiligingsplan en zorg dat ontwikkelaars begrijpen welke severity levels deployment blokkeren en hoe ze uitzonderingen kunnen aanvragen wanneer dit noodzakelijk is.
- Test de gate policies door opzettelijk een image met een bekende kwetsbaarheid te pushen en te verifiëren dat deployment daadwerkelijk wordt geblokkeerd. Voer deze test minimaal per kwartaal uit om te bevestigen dat de policies nog steeds functioneren.
STAP 4 valideert dat scanning niet alleen actief is, maar ook daadwerkelijk waarde levert door regelmatig scanresultaten te analyseren, trends te monitoren en remediatie te verifiëren. Zonder deze validatie blijft scanning een papieren werkelijkheid en worden kwetsbaarheden mogelijk niet tijdig aangepakt.
- Controleer wekelijks het Defender for Cloud-dashboard op nieuwe scanbevindingen en prioriteer remediatie op basis van severity, exploitability en business impact van de betreffende images.
- Analyseer trends over tijd door maandelijks een rapport te genereren met het aantal gevonden kwetsbaarheden per severity level, de meest voorkomende CVE's en de gemiddelde tijd tot remediatie, zodat management inzicht heeft in de beveiligingspostuur.
- Verifieer dat ontwikkelteams daadwerkelijk actie ondernemen op scanbevindingen door te controleren of images worden bijgewerkt, base images worden gepatcht en dependencies worden geüpdatet binnen de afgesproken service level agreements.
- Plan minimaal per kwartaal een review-sessie met development en security teams om te bespreken welke kwetsbaarheden het meest voorkomen, welke base images het meest kwetsbaar zijn en hoe het scanning-proces kan worden verbeterd.
- Gebruik de compliance-rapportages van Defender for Cloud om aan te tonen dat scanning actief is en dat bevindingen worden opgevolgd, zodat auditors kunnen verifiëren dat de organisatie voldoet aan relevante normenkaders zoals BIO, ISO 27001 en NIS2.
Monitoring
Gebruik PowerShell-script image-scanning.ps1 (functie Invoke-Monitoring) – Automatiseer dagelijkse controles en integreer de resultaten met SIEM- of ITSM-workflows zodat afwijkingen in scanning-status en nieuwe kwetsbaarheden altijd een opvolgtaak genereren..
- Controleer dagelijks in het Defender for Cloud-dashboard of alle nieuwe images zijn gescand en onderzoek direct images die niet zijn gescand of waarvan de scan is mislukt, zodat er geen kwetsbare images onopgemerkt in productie kunnen worden gebracht. Registreer elke bevinding in het ITSM-systeem en sluit deze pas wanneer de scan succesvol is uitgevoerd of het image is verwijderd. Documenteer de oorzaak-analyse en deel deze met ontwikkelteams zodat structurele fouten al tijdens de releaseplanning worden opgelost.
- Stel waarschuwingen in via Azure Monitor, e-mail en Microsoft Teams zodat het security team onmiddellijk een melding ontvangt bij nieuwe kritieke of hoge kwetsbaarheden, mislukte scans of images die de gate policies hebben omzeild. Test de meldingen maandelijks door een gecontroleerde test image met een bekende kwetsbaarheid te pushen en te verifiëren dat alle communicatiestromen werken. Verbreed de alerting met webhook-integraties richting SIEM of SOAR zodat automatisering direct remediatie-acties kan starten.
- Gebruik wekelijks het overzicht van scanresultaten of een geautomatiseerd PowerShell-rapport om te bevestigen dat alle productie-images zijn gescand en dat er geen images met blokkerende kwetsbaarheden in gebruik zijn. Combineer dit met Azure Resource Graph zodat ook images in niet-beheerde registries zichtbaar worden. Publiceer de resultaten in een gedeeld dashboard zodat product owners inzicht hebben in de beveiligingsstatus van hun applicaties. Neem afwijkingen op in het risicoregister totdat aantoonbaar herstel is uitgevoerd.
- Controleer maandelijks of scanning policies overeenkomen met wettelijke en contractuele verplichtingen en of severity-drempels nog steeds aansluiten bij de risicoklasse van de workloads. Documenteer eventuele afwijkingen inclusief compensatiemaatregelen en zorg dat de CISO deze aftekent. Houd een overzicht bij van alle uitzonderingen inclusief einddatum en verantwoordelijke zodat tijdelijke maatregelen niet permanent blijven bestaan. Werk dit overzicht bij in het ISMS zodat auditors een directe referentie hebben.
- Monitor het aantal scans en bijbehorende kosten en vergelijk dit met begrotingen; significante groei kan wijzen op inefficiënte scanning-configuraties of ongewenste duplicate scans en moet daarom direct worden besproken met finance en capacity management. Visualiseer trends in Power BI zodat besluitvorming over optimalisatie wordt ondersteund. Stel drempelwaarden in die automatisch een kostendossier openen wanneer het aantal scans een afgesproken percentage overschrijdt.
- Plan ieder kwartaal een integraal security review waarbij scanning-resultaten, remediatie-status en policy-naleving worden geëvalueerd; leg bevindingen vast en voer verbeteringen direct door in beleid en scripts. Betrek naast security ook development teams, product owners en architecten om de volledige keten te beoordelen. Wissel focusgebieden af, bijvoorbeeld base images, dependencies of custom code, zodat teams flexibel blijven. Rapporteer trends en verbeteringen aan het directieteam.
- Gebruik Azure Policy en Microsoft Defender for Cloud-aanbevelingen om realtime te meten of nieuwe of gewijzigde container images voldoen aan de verplichte scanning-standaard en lever rapportages aan het auditteam. Koppel deze inzichten aan het risicoregister en bespreek structurele afwijkingen in het beveiligingsoverleg. Vertaal de bevindingen naar concrete verbeteracties met eigenaar, deadline en meetmethode. Zorg dat audittrail-gegevens minimaal zeven jaar beschikbaar blijven voor forensisch onderzoek en controleer jaarlijks of de rapportage-indeling nog aansluit bij auditwensen.
Compliance en Auditing
Container image scanning is geen optionele luxe maar een harde compliance-eis binnen vrijwel alle relevante normenkaders. De CIS Docker Benchmark schrijft voor dat container images moeten worden gescand op kwetsbaarheden voordat ze worden geïmplementeerd, en de Baseline Informatiebeveiliging Overheid (BIO) concretiseert dit in hoofdstuk 12.05 door te eisen dat software wordt gecontroleerd op bekende kwetsbaarheden. ISO 27001:2022 control A.14.2.8 benadrukt bovendien dat organisaties maatregelen moeten treffen om kwetsbaarheden in software te detecteren en te remediëren. De aankomende NIS2-richtlijn, artikel 10, verplicht aanbieders van essentiële en belangrijke diensten om passende maatregelen te treffen voor het beheer van kwetsbaarheden, waarbij scanning van container images expliciet wordt genoemd als best practice. Ook de AVG (artikel 32) eist dat verwerkingsverantwoordelijken technische en organisatorische maatregelen treffen om de beveiliging van systemen te borgen; zonder scanning blijven kwetsbaarheden onopgemerkt en voldoet men niet aan deze bepaling. Daarnaast verwijzen sectorale normen zoals ENSIA, DigiD-beveiligingseisen en Norea IT-auditstandaarden expliciet naar gedocumenteerde vulnerability management-processen. In audits vragen toezichthouders standaard naar scanresultaten, remediatie-processen, gate policies en overzichten van kwetsbare images in productie. Een organisatie die deze bewijslast niet paraat heeft, loopt risico op aanwijzingen, dwangsommen of zelfs intrekking van vergunningen. Aangezien de Nederlandse publieke sector steeds meer gebruik maakt van containerized workloads, kan het niet aantonen van functionerende image scanning leiden tot bestuurlijke maatregelen, politieke verantwoordelijkheid en verlies van vertrouwen bij burgers. Het inrichten, monitoren en verbeteren van container image scanning is daarmee een onmisbare bouwsteen om naleving van wet- en regelgeving te waarborgen. Zorg daarom dat ieder scanning-beleid wordt goedgekeurd door het informatiebeveiligingsberaad, dat uitzonderingen schriftelijk worden vastgelegd en dat evidence minimaal zeven jaar wordt bewaard. Combineer technische logging met verklaringen van proceseigenaren, zodat auditors zowel harde cijfers als managementcommitment zien. Leg per scan vast welke images zijn gecontroleerd, welke kwetsbaarheden zijn gevonden en welke remediatie-acties zijn ondernomen, zodat trendanalyse over meerdere jaren mogelijk wordt. Maak gebruik van Azure Policy compliance-rapporten en exporteer deze naar het ISMS, zodat auditteams real-time inzicht hebben in de status van container workloads. Beschrijf in de auditkalender welke datasets wanneer worden aangeleverd en wijs een eigenaar per rapport aan zodat deadlines nooit worden gemist. Houd daarnaast een mapping bij tussen iedere control en de specifieke container images waarop deze van toepassing is, zodat nieuwe collega's snel begrijpen waar bewijs te vinden is. Plan halfjaarlijkse gesprekken met de interne auditdienst en externe toezichthouders om verwachtingen af te stemmen en te laten zien welke verbeteringen zijn doorgevoerd. Werk tenslotte met control dashboards waarin per eis een status, risiconiveau en verantwoordelijke wordt getoond, zodat bestuurders continu inzicht houden. Voeg indien nodig aanvullende contractuele clausules toe in leveranciersovereenkomsten zodat ook ketenpartners aantoonbaar dezelfde normen volgen en leg deze afspraken vast in het inkoopbeleid. Leg dit geheel vast in het jaarverslag zodat bestuurders publiekelijk verantwoording afleggen. Alleen zo kan men aantonen dat de Nederlandse Baseline voor Veilige Cloud daadwerkelijk in de praktijk wordt gebracht en dat container security aantoonbaar is geborgd.
Remediatie
Gebruik PowerShell-script image-scanning.ps1 (functie Invoke-Remediation) – Dit script activeert image scanning op niet-geconfigureerde ACR-instances, herstelt mislukte scans, configureert gate policies en genereert rapportages zodat naleving snel wordt hersteld. Het remediation-proces voert in één run een volledige ketencontrole uit: detectie van ACR-instances zonder scanning, validatie van Defender for Containers-status, activering van scanning-integratie en configuratie van gate policies. Vervolgens worden bestaande images opnieuw gescand, worden gate policies toegepast en worden rapportages gegenereerd zodat er direct bewijs beschikbaar is voor audits. Het script schrijft uitgebreide logging weg naar zowel het scherm als een Log Analytics-werkruimte, inclusief tijdstempels, betrokken registries, scanresultaten en eventuele fouten, waardoor forensische traceerbaarheid gewaarborgd blijft. Voor productieomgevingen kan een dry-run vlag worden gebruikt die alleen rapportages genereert; hiermee kunnen beheerders de impact vooraf beoordelen en noodzakelijke onderhoudsvensters plannen. Indien er afhankelijkheden zijn, zoals Defender for Containers-activatie of ACR-toegangsrechten, controleert de logica automatisch of deze aanwezig zijn voordat er wijzigingen worden doorgevoerd. Na afloop ontvangt het security team een samenvattende melding via webhook of e-mail zodat opvolgacties en ticketregistratie direct kunnen plaatsvinden. Het script voorziet bovendien in ingebouwde validatie van severity-drempels en gate policies, zodat alleen configuraties worden toegepast die voldoen aan de afgesproken eisen uit de Nederlandse Baseline voor Veilige Cloud. Herstelacties worden standaard voorzien van een change-identificatie die kan worden teruggeleid naar het CAB-dossier, waardoor governance geborgd blijft. Daarnaast worden alle aangebrachte wijzigingen gespiegeld naar een configuration management database zodat asset-, eigenaar- en impactinformatie automatisch wordt bijgewerkt. Bij fouten kan het script per registry een rollback uitvoeren waarbij de vorige configuratie wordt teruggezet en een incidentmelding wordt aangemaakt voor nadere analyse. Met parameterbestanden kunnen organisaties verschillende omgevingen (bijvoorbeeld development, test of productie) met één scriptversie herstellen terwijl specifieke policies, severity-drempels en uitzonderingen behouden blijven. Dankzij ingebouwde integratie met Azure Monitor kunnen herstelacties metrics publiceren zoals aantal gescande images, aantal gevonden kwetsbaarheden en compliance-percentage, wat helpt bij managementrapportages. Het script ondersteunt tevens staged deployments waarbij eerst een subset van registries wordt geconfigureerd en pas na succesvolle validatie de volledige scope wordt geactiveerd. Authenticatie verloopt via beheerde identiteiten of workloadidentiteiten, waardoor geheimen niet lokaal hoeven te worden opgeslagen en het script voldoet aan zero-trustprincipes. Daarnaast bevat het playbook een self-test modus die de belangrijkste functies doorloopt en de resultaten tegen de schema.json-validatieset houdt, zodat updates van het script eenvoudig gecontroleerd kunnen worden voordat het in productie gebruikt wordt. Voor kritieke workloads biedt het een optionele integratie met het change management-portaal waarbij automatisch een reviewtaak voor de applicatie-eigenaar wordt aangemaakt, inclusief bewijs van de uitgevoerde scans. Tot slot kan het script een overzichtsrapport genereren met alle geconfigureerde registries, scanstatussen en policy-naleving, zodat auditors in één document de volledige remedial scope kunnen beoordelen. Desgewenst kan het rapport automatisch aan het ISMS of het ENSIA-portaal worden toegevoegd zodat bewijs direct beschikbaar is voor inspecties. In combinatie met de documentatie bij het script vormt dit een volledig draaiboek voor herstel van niet-conforme container image scanning-situaties binnen de context van de Nederlandse Baseline voor Veilige Cloud..
Compliance & Frameworks
- CIS M365: Control 4.1 (L1) - Zorg ervoor dat container images worden gescand op kwetsbaarheden
- BIO: 12.05.01 - Softwarebeveiliging - Vulnerability scanning van container images
- ISO 27001:2022: A.14.2.8 - Technical vulnerability management - Scanning van software artifacts
- NIS2: Artikel - Vulnerability management en patch management
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
Container image scanning levert automatische detectie van kwetsbaarheden in container images via Microsoft Defender for Containers, met integratie in CI/CD-pipelines en gate policies die deployment blokkeren bij kritieke bevindingen. Met een investering van enkele euro's per image scan wordt voldaan aan CIS 4.1, BIO 12.05, ISO 27001 A.14.2.8 en NIS2. Activeer scanning bij elke push, configureer gate policies en koppel monitoring aan het security team om proactieve beveiliging te garanderen.
- Implementatietijd: 12 uur
- FTE required: 0.1 FTE