Microsoft Defender For Cloud: Defender For Containers Inschakelen

💼 Management Samenvatting

Microsoft Defender voor Containers biedt uitgebreide beveiliging voor Kubernetes-clusters en containerimages door kwetsbaarheidsscanning, runtime-detectie van beveiligingsdreigingen en beoordeling van Kubernetes-configuraties te combineren in één geïntegreerde oplossing.

Aanbeveling
IMPLEMENTEER VOOR KUBERNETES WORKLOADS
Risico zonder
High
Risk Score
9/10
Implementatie
4u (tech: 2u)
Van toepassing op:
Azure Kubernetes Service
AKS
Azure Container Registry
Arc-ingeschakeld Kubernetes

Kubernetes-omgevingen zijn complex en vaak verkeerd geconfigureerd, waardoor ze kwetsbaar zijn voor verschillende bedreigingen. Containerimages kunnen kwetsbaarheden bevatten die tijdens de ontwikkeling zijn geïntroduceerd, en zonder adequate scanning worden deze kwetsbaarheden rechtstreeks in productieomgevingen geïmplementeerd. Privilege escalation via verkeerd geconfigureerde pods stelt aanvallers in staat om uitgebreide machtigingen te verkrijgen binnen clusters. Cryptomining-aanvallen verbruiken clusterresources en veroorzaken aanzienlijke kosten. Container escapes stellen aanvallers in staat om de onderliggende hostsystemen te compromitteren. Blootgestelde Kubernetes-dashboards zonder authenticatie vormen een directe bedreiging. Compromitteerde serviceaccounts kunnen worden misbruikt voor laterale beweging binnen clusters. Traditionele antivirusoplossingen en netwerkbeveiliging zijn niet effectief voor gecontaineriseerde workloads die dynamisch schalen en slechts microseconden tot minuten leven. Deze kortstondige levensduur maakt het onmogelijk voor traditionele oplossingen om bedreigingen tijdig te detecteren en te reageren.

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

Implementatie

Deze best practice activeert Defender voor Containers op alle Azure-abonnementen met AKS-clusters. De service biedt uitgebreide beveiligingsmogelijkheden die specifiek zijn ontworpen voor containeromgevingen. Kwetsbaarheidsscanning analyseert containerimages in Azure Container Registry voordat deze worden geïmplementeerd, waardoor bekende kwetsbaarheden worden geïdentificeerd en geprioriteerd op basis van hun impact. Runtime-detectie monitort daadwerkelijk draaiende containers op verdacht gedrag, waaronder pogingen tot privilege escalation, container escapes en afwijkend proces- of netwerkgedrag. Kubernetes-beveiligingsbeleid wordt gecontroleerd op naleving van best practices, waarbij misconfiguraties worden geïdentificeerd die kunnen leiden tot beveiligingsproblemen. Admission control-recommendaties helpen bij het implementeren van beleid dat ongewenste configuraties voorkomt voordat workloads worden geïmplementeerd. Detectie van privilege escalation-pogingen identificeert wanneer containers of pods proberen meer machtigingen te verkrijgen dan oorspronkelijk bedoeld. Monitoring van container escapes detecteert pogingen om de container-isolatie te omzeilen en toegang te krijgen tot de onderliggende host. Analyse van ongebruikelijk netwerkverkeer identificeert communicatiepatronen die kunnen wijzen op compromittering of datalekken. Integratie met Kubernetes audit logs zorgt voor volledige traceerbaarheid van beveiligingsgebeurtenissen binnen het cluster. De kosten bedragen €5 per vCore per maand voor compute-bescherming, plus €0,20 per imagescan in Azure Container Registry.

Vereisten en Voorbereiding

Voordat u Defender voor Containers kunt inschakelen, dient u te beschikken over een Azure-abonnement met eigenaar- of bijdragerrechten. Deze rechten zijn essentieel omdat de activering van Defender voor Containers wijzigingen vereist op abonnementsniveau, specifiek op het gebied van beveiligingsprijstiers en resourceconfiguraties. Zonder deze rechten kunnen beheerders de service niet activeren of configureren, wat een belemmering vormt voor de implementatie van adequate containerbeveiliging. Het is raadzaam om te werken met een account dat specifiek is aangemaakt voor automatiseringsdoeleinden, bij voorkeur een service principal met minimale benodigde rechten voor het uitvoeren van beveiligingsconfiguratietaken.

De technische omgeving vereist PowerShell versie 5.1 of hoger, wat standaard beschikbaar is op moderne Windows-systemen en ook geïnstalleerd kan worden op Linux- en macOS-systemen. PowerShell Core versie 7.0 of hoger wordt aanbevolen voor cross-platform ondersteuning en verbeterde prestaties. De Azure PowerShell-modules moeten worden geïnstalleerd, met name de Az.Accounts-module voor authenticatie en sessiebeheer, en de Az.Security-module voor interactie met Azure Defender-services. Deze modules kunnen eenvoudig worden geïnstalleerd via het PowerShell Gallery met behulp van de Install-Module-cmdlet. Regelmatige updates van deze modules worden aanbevolen om toegang te hebben tot de nieuwste functionaliteit en beveiligingspatches.

De primaire vereiste is de aanwezigheid van Azure Kubernetes Service-clusters of Arc-ingeschakelde Kubernetes-clusters in het Azure-abonnement. AKS-clusters vormen de meest gebruikte implementatie voor Kubernetes-workloads in Azure, terwijl Arc-ingeschakelde clusters het mogelijk maken om on-premises of multicloud Kubernetes-omgevingen te beheren via Azure. Voor beide scenario's biedt Defender voor Containers dezelfde beveiligingsmogelijkheden, inclusief runtime-detectie, kwetsbaarheidsscanning en configuratiebeoordeling. Het is belangrijk op te merken dat Defender voor Containers automatisch wordt geïmplementeerd op alle beschikbare clusters zodra de service is geactiveerd, waardoor consistente beveiligingsdekking wordt gegarandeerd ongeacht het aantal clusters in het abonnement.

Voor kwetsbaarheidsscanning van containerimages is een Azure Container Registry vereist. Deze registry dient als centrale opslagplaats voor containerimages en maakt geïntegreerde scanning mogelijk voordat images worden geïmplementeerd in productieomgevingen. De scanning vindt automatisch plaats wanneer nieuwe images naar de registry worden gepusht, en resultaten worden direct beschikbaar gesteld via de Azure Portal en API's. Als organisaties meerdere containerregistries gebruiken, kunnen alle registries worden geconfigureerd voor scanning, wat zorgt voor volledige dekking van alle containerimages die in de organisatie worden gebruikt.

Defender voor Cloud moet reeds zijn ingeschakeld op het Azure-abonnement voordat Defender voor Containers kan worden geactiveerd. Defender voor Cloud vormt de basislaag voor alle Defender-modules en biedt de centrale beveiligingsconsole waarbinnen alle beveiligingsmogelijkheden worden geïntegreerd. De activering van Defender voor Cloud is typisch een eenmalige actie op abonnementsniveau en vormt de eerste stap in het opzetten van een uitgebreide Azure-beveiligingsposture. Zonder deze basislaag kunnen individuele Defender-modules zoals Defender voor Containers niet worden geactiveerd.

Financiële overwegingen zijn cruciaal bij de planning van de implementatie. Defender voor Containers wordt gefactureerd tegen een tarief van €5 per vCore per maand voor compute-bescherming, wat betekent dat elk actief vCore in uw Kubernetes-clusters deze kosten genereert. Voor een middelgroot AKS-cluster met 20 nodes en 4 vCores per node resulteert dit in 80 vCores, wat maandelijks €400 aan compute-beschermingskosten oplevert. Daarnaast wordt per imagescan €0,20 in rekening gebracht. Bij regelmatige builds en pushes kan dit aanzienlijke kosten opleveren, hoewel de meeste organisaties deze kosten gerechtvaardigd vinden gezien de beveiligingsbescherming die wordt geboden. Het is raadzaam om een kostenanalyse uit te voeren voordat de service wordt geactiveerd om te begrijpen wat de maandelijkse kosten zullen zijn op basis van uw specifieke clusterconfiguratie en build-frequentie.

Monitoring en Verificatie

Monitoring van de status van Defender voor Containers is essentieel om te verzekeren dat de service actief blijft en continue beveiligingsbescherming biedt voor alle Kubernetes-clusters binnen het Azure-abonnement. Regelmatige verificatie voorkomt dat de service onbedoeld wordt uitgeschakeld, wat zou kunnen gebeuren tijdens beveiligingswijzigingen, kostenbesparingsinitiatieven of herconfiguratie van abonnementen. Zonder actieve monitoring bestaat het risico dat Defender voor Containers wordt gedeactiveerd zonder dat beveiligingsteams hiervan op de hoogte worden gesteld, waardoor clusters kwetsbaar worden voor aanvallen en kwetsbaarheden.

De monitoring kan worden uitgevoerd via verschillende methoden, waaronder Azure PowerShell, Azure CLI of de Azure Resource Manager API. De meest directe methode is het gebruik van de Get-AzSecurityPricing-cmdlet uit de Az.Security-module, waarbij de parameter Name wordt ingesteld op 'Containers' om de specifieke pricing tier voor Defender voor Containers op te halen. Deze cmdlet retourneert belangrijke informatie, waaronder de huidige pricing tier (Standard of Free), de status van de service, en eventuele gerelateerde configuratie-instellingen. De pricing tier moet ingesteld zijn op 'Standard' om volledige beveiligingsbescherming te krijgen, inclusief runtime-detectie, kwetsbaarheidsscanning en configuratiebeoordeling.

Naast het controleren van de pricing tier is het belangrijk om te verifiëren dat Defender voor Containers daadwerkelijk actief is op alle Kubernetes-clusters in het abonnement. Dit kan worden geverifieerd via de Azure Portal door naar Defender voor Cloud te navigeren en de status per cluster te controleren. Automatische monitoring kan worden geïmplementeerd met behulp van Azure Monitor alertregels die worden geactiveerd wanneer de pricing tier wijzigt of wanneer de service wordt gedeactiveerd. Deze alertregels kunnen worden geconfigureerd om beveiligingsteams te informeren via e-mail, SMS of integratie met incidentbeheersystemen.

Het monitoringproces dient regelmatig te worden uitgevoerd, bij voorkeur dagelijks of ten minste wekelijks, afhankelijk van de risicoprofiel van de organisatie. Voor organisaties met hoge beveiligingsvereisten of compliance-verplichtingen is dagelijkse monitoring aanbevolen om snel te kunnen reageren op eventuele wijzigingen in de serviceconfiguratie. Geautomatiseerde monitoring via Azure Automation of Logic Apps kan de belasting op beheerders verminderen terwijl continue controle wordt gegarandeerd. Deze automatisering kan worden gecombineerd met rapportage naar beveiligingsdashboards, zodat de status van Defender voor Containers zichtbaar is voor alle belanghebbenden.

Gebruik PowerShell-script defender-for-containers-enabled.ps1 (functie Invoke-Monitoring) – Controleert de prijscategorie van Defender voor Containers met Get-AzSecurityPricing -Name 'Containers'.

Implementatie en Remediatie

Wanneer monitoring aantoont dat Defender voor Containers niet actief is of niet op de juiste pricing tier is ingesteld, dient onmiddellijke remediatie te worden uitgevoerd om de beveiligingsbescherming te herstellen. De activering van Defender voor Containers is een relatief eenvoudig proces dat kan worden uitgevoerd via de Azure Portal, Azure PowerShell of Azure CLI. De meest betrouwbare methode voor geautomatiseerde implementatie is het gebruik van Azure PowerShell met de Set-AzSecurityPricing-cmdlet uit de Az.Security-module, waarbij de parameter Name wordt ingesteld op 'Containers' en de parameter PricingTier wordt ingesteld op 'Standard'.

De remediatieproces begint met verificatie van de huidige abonnementsstatus en het bevestigen dat de benodigde rechten aanwezig zijn om wijzigingen aan te brengen op abonnementsniveau. Beheerders dienen zich eerst aan te melden bij Azure met behulp van Connect-AzAccount, waarbij wordt gecontroleerd dat zij zijn aangemeld bij het juiste abonnement met behulp van Get-AzContext. Nadat de context is geverifieerd, kan de Set-AzSecurityPricing-cmdlet worden uitgevoerd om Defender voor Containers te activeren. Deze cmdlet wijzigt de pricing tier op abonnementsniveau en activeert automatisch Defender voor Containers op alle Kubernetes-clusters binnen het abonnement, inclusief AKS-clusters en Arc-ingeschakelde clusters.

Na activering van de service duurt het enkele minuten voordat Defender voor Containers volledig operationeel is op alle clusters. Gedurende deze periode worden de benodigde agents en extensies geïnstalleerd op de clusters, en worden de beveiligingsmogelijkheden geïnitialiseerd. Het is belangrijk om na de activering te verifiëren dat de service daadwerkelijk actief is via de Azure Portal of door opnieuw de Get-AzSecurityPricing-cmdlet uit te voeren. Als de service niet actief wordt, dienen beheerders te controleren op eventuele foutmeldingen in de Azure Portal of via Azure Monitor logs, en eventuele belemmeringen te identificeren die de activering verhinderen.

Voor organisaties met meerdere Azure-abonnementen dient het remediatieproces te worden uitgevoerd op elk abonnement dat Kubernetes-clusters bevat. Dit kan worden geautomatiseerd met behulp van PowerShell-scripts die itereren over alle abonnementen in een tenant, waarbij voor elk abonnement wordt gecontroleerd of Kubernetes-clusters aanwezig zijn en of Defender voor Containers actief is. Als de service niet actief is, wordt automatisch remediatie uitgevoerd. Deze geautomatiseerde aanpak zorgt voor consistente beveiligingsdekking over de hele organisatie en vermindert het risico dat clusters onbeschermd blijven door menselijke fouten of gemiste abonnementen.

Het is belangrijk op te merken dat de activering van Defender voor Containers directe kosten met zich meebrengt op basis van het aantal vCores in de clusters en het aantal imagescans dat wordt uitgevoerd. Beheerders dienen zich bewust te zijn van deze kosten en deze te monitoren na activering om te verzekeren dat de kosten binnen het budget blijven. Als kostenbesparingen nodig zijn, kan overleg worden gepleegd met de beveiligingsteams om te bepalen welke clusters de hoogste prioriteit hebben voor beveiligingsbescherming, hoewel volledige dekking wordt aanbevolen voor alle productieclusters.

Gebruik PowerShell-script defender-for-containers-enabled.ps1 (functie Invoke-Remediation) – Activeert Defender voor Containers met Set-AzSecurityPricing -Name 'Containers' -PricingTier 'Standard'.

Compliance en Auditing

Defender voor Containers vormt een essentieel onderdeel van de compliance-positie van organisaties die Kubernetes-workloads gebruiken, omdat het voldoet aan meerdere beveiligingsstandaarden en compliance-frameworks die vereist zijn voor Nederlandse overheidsorganisaties en bedrijven in kritieke sectoren. De implementatie van Defender voor Containers is niet alleen een best practice, maar ook een expliciete vereiste volgens verschillende erkende beveiligingsstandaarden die worden gebruikt binnen de Nederlandse publieke sector en daarbuiten.

De CIS Azure Foundations Benchmark versie 3.0.0 specificeert in controle 2.1.5 expliciet dat Microsoft Defender voor Containers moet zijn ingesteld op 'On' voor alle Azure-abonnementen die Kubernetes-clusters bevatten. Deze benchmark is een internationaal erkende standaard die wordt gebruikt door organisaties wereldwijd om hun Azure-beveiligingsposture te beoordelen en te verbeteren. Het niet naleven van deze controle wordt beschouwd als een hoog risico, omdat het betekent dat containerworkloads niet adequaat worden beschermd tegen kwetsbaarheden en bedreigingen. Auditors die CIS-benchmark-assessments uitvoeren, zullen expliciet controleren of Defender voor Containers actief is, en het niet voldoen aan deze vereiste zal resulteren in een bevinding die moet worden gerepareerd voordat de audit kan worden afgerond.

Naast de CIS Azure Foundations Benchmark is Defender voor Containers ook uitgelijnd met de CIS Kubernetes Benchmark, die specifieke beveiligingsaanbevelingen bevat voor Kubernetes-clusters. Deze benchmark bevat meerdere controles die betrekking hebben op containerbeveiliging, kwetsbaarheidsscanning en runtime-detectie, allemaal functionaliteiten die Defender voor Containers biedt. Door Defender voor Containers te implementeren, helpen organisaties automatisch te voldoen aan een groot aantal CIS Kubernetes Benchmark-controles, wat de audit-efficiëntie verhoogt en de beveiligingsposture verbetert. De automatische scanning en detectie verminderen de noodzaak voor handmatige controle en configuratie, wat kostenefficiënt is en menselijke fouten voorkomt.

De ISO 27001-standaard voor informatiebeveiligingsmanagementsystemen vereist in controle A.12.6.1 dat organisaties technische kwetsbaarheden beheren en ervoor zorgen dat informatie over technische kwetsbaarheden van gebruikte informatiesystemen tijdig wordt verkregen en dat de organisatie passende maatregelen neemt om de bijbehorende risico's aan te pakken. Defender voor Containers voldoet aan deze vereiste door automatische kwetsbaarheidsscanning van containerimages te bieden voordat deze worden geïmplementeerd, waardoor kwetsbaarheden worden geïdentificeerd en geprioriteerd op basis van hun impact. De service integreert met Azure Security Center om kwetsbaarheidsinformatie te verzamelen en te rapporteren, wat organisaties helpt te voldoen aan de vereisten voor kwetsbaarheidsbeheer. Bovendien helpt controle A.14.2.1 organisaties ervoor te zorgen dat beveiligingsvereisten worden geïdentificeerd en gespecificeerd tijdens het ontwikkelings- en uitvoeringsproces, wat wordt ondersteund door de configuratiebeoordeling en admission control-recommendaties van Defender voor Containers.

De NIS2-richtlijn, die van toepassing is op organisaties in kritieke sectoren en digitale dienstverleners in de Europese Unie, vereist in artikel 21 dat organisaties passende en evenredige technische en organisatorische maatregelen nemen om de risico's voor de beveiliging van netwerk- en informatiesystemen te beheersen. Dit omvat het identificeren en beoordelen van risico's, het implementeren van beveiligingsmaatregelen, en het monitoren en detecteren van beveiligingsincidenten. Defender voor Containers helpt organisaties te voldoen aan artikel 21 door uitgebreide containerbeveiliging te bieden die kwetsbaarheden identificeert, bedreigingen detecteert en beveiligingsincidenten monitort. De runtime-detectie en kwetsbaarheidsscanning vormen essentieel onderdeel van een robuuste cybersecurity-aanpak die vereist is onder NIS2. Nederlandse organisaties die onder de NIS2-richtlijn vallen, dienen daarom Defender voor Containers te implementeren als onderdeel van hun verplichte cybersecurity-maatregelen.

Voor auditing en compliance-doeleinden is het belangrijk om regelmatig bewijs te verzamelen dat aantoont dat Defender voor Containers actief is en correct functioneert. Dit bewijs kan worden verkregen via de Azure Portal, Azure PowerShell-cmdlets, of de Azure Resource Manager API. Auditlogboeken moeten worden bewaard voor de vereiste retentietijd, typisch zeven jaar voor Nederlandse overheidsorganisaties, en moeten regelmatig worden beoordeeld om te verzekeren dat de service actief blijft en dat alle beveiligingsgebeurtenissen correct worden gelogd. Documentatie van de activeringsstatus, kwetsbaarheidsscanresultaten, runtime-threat alerts en Kubernetes policy compliance moeten worden onderhouden voor auditdoeleinden en kunnen worden gebruikt om te demonstreren dat de organisatie voldoet aan de vereiste beveiligingsstandaarden.

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 Microsoft Defender for Containers .DESCRIPTION CIS Azure Foundations Benchmark - Control 2.1.5 Controleert of Microsoft Defender for Containers is ingeschakeld. Biedt threat detection voor Kubernetes clusters. .NOTES Filename: defender-for-containers-enabled.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/defender-cloud/defender-for-containers-enabled.json CIS Control: 2.1.5 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Security [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Microsoft Defender for Containers" function Connect-RequiredServices { function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } catch { throw } } function Test-Compliance { Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "defender-for-containers-enabled" PolicyName = $PolicyName IsCompliant = $false TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 Details = @() Recommendations = @() } function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } $result.TotalResources = $subscriptions.Count foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null $pricing = Get-AzSecurityPricing -Name "Containers" if ($pricing.PricingTier -eq 'Standard') { $result.CompliantCount++ $result.Details += "✓ '$($sub.Name)': Defender for Containers enabled" } else { $result.NonCompliantCount++ $result.Details += "✗ '$($sub.Name)': Defender for Containers DISABLED" $result.Recommendations += "Enable Defender for Containers op '$($sub.Name)'" } } $result.IsCompliant = ($result.NonCompliantCount -eq 0) } catch { $result.Details += "ERROR: $($_.Exception.Message)" } return $result } function Invoke-Remediation { Write-Host "`nStarting remediation for: $PolicyName..." -ForegroundColor Cyan function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { $fixed = 0 $failed = 0 $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { Set-AzSecurityPricing -Name "Containers" -PricingTier "Standard" -ErrorAction Stop | Out-Null Write-Host " [OK] Enabled for: $($sub.Name)" -ForegroundColor Green $fixed++ } catch { Write-Host " ✗ Failed for $($sub.Name): $($_.Exception.Message)" -ForegroundColor Red $failed++ } } Write-Host "`n[OK] Configured: $fixed subscription(s)" -ForegroundColor Green if ($failed -gt 0) { Write-Host "⚠️ Failed: $failed subscription(s)" -ForegroundColor Yellow } } catch { Write-Error "Remediation failed: $_" } } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Subscriptions: $($result.TotalResources)" -ForegroundColor White Write-Host "Enabled: $($result.CompliantCount)" -ForegroundColor Green Write-Host "Disabled: $($result.NonCompliantCount)" -ForegroundColor $(if ($result.NonCompliantCount -gt 0) { 'Red' } else { 'Green' }) if ($result.Details) { Write-Host "`nDetails:" -ForegroundColor Yellow $result.Details | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } return $result } function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "`n=== WHATIF MODE ===" -ForegroundColor Yellow $result = Test-Compliance Write-Host "Zou enablen voor $($result.NonCompliantCount) subscription(s)" -ForegroundColor Yellow } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance Write-Host "`nCompliance Check: $PolicyName" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "Status: [OK] COMPLIANT" -ForegroundColor Green } else { Write-Host "Status: [FAIL] NON-COMPLIANT ($($result.NonCompliantCount) subscriptions)" -ForegroundColor Red } } } catch { Write-Error $_ exit 1 }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Defender voor Containers blijven containerkwetsbaarheden en Kubernetes-bedreigingen ongedetecteerd. Kwetsbare images met CVEs worden geïmplementeerd zonder scanning, container breakout-aanvallen blijven onopgemerkt, cryptomining-malware veroorzaakt aanzienlijke kosten, en Kubernetes RBAC-misconfiguraties verlenen overmatige machtigingen. De gemiddelde kosten van een containerbeveiligingsincident bedragen meer dan €500.000. Compliance: CIS 2.1.5, BIO 12.06/14.02 en NIS2 vereisen containerbeveiliging. Het risico is hoog voor AKS-productieomgevingen en kritiek voor multi-tenant clusters.

Management Samenvatting

Defender voor Containers biedt: kwetsbaarheidsscanning van images (pre-deployment CVE-detectie), runtime-bedreigingsdetectie (container breakout, privilege escalation, procesanomalieën), Kubernetes-beleidsaudits (RBAC, pod-beveiliging), cryptomining-detectie. Activatie: Defender voor Cloud → Containers → AAN. Kosten: €5 per vCore per maand voor AKS plus €0,20 per imagescan. Verplicht voor CIS 2.1.5, BIO 12.06 en NIS2. Implementatie: 2-4 uur. Verplicht voor AKS-productieclusters.