Microsoft-beheerde Keys (MMK) Validatie

💼 Management Samenvatting

Microsoft-beheerde Keys (MMK) vormen de standaard versleuteling-at-rest voor Azure-resources. Deze versleuteling wordt automatisch ingeschakeld zonder aanvullende configuratie en is voldoende voor de meeste workloads zonder strikte compliance-vereisten. MMK biedt organisaties een kosteneffectieve en onderhoudsarme oplossing voor het beveiligen van data-at-rest in de cloud.

Aanbeveling
VERIFIEER MMK ACTIEF
Risico zonder
Low
Risk Score
3/10
Implementatie
1u (tech: 0.5u)
Van toepassing op:
Azure Resources

Versleuteling-at-rest is een fundamentele beveiligingsmaatregel die ervoor zorgt dat alle data versleuteld wordt opgeslagen, zelfs wanneer deze niet actief wordt gebruikt. Microsoft-beheerde Keys bieden verschillende belangrijke voordelen voor Nederlandse organisaties. Ten eerste wordt versleuteling automatisch ingeschakeld zonder dat er aanvullende configuratie of setup vereist is, wat de implementatiekosten en operationele overhead minimaliseert. Ten tweede voert Microsoft automatisch sleutelrotatie uit, wat de beveiliging continu verbetert zonder dat organisaties hier zelf actie voor hoeven te ondernemen. Bovendien is MMK volledig FIPS 140-2 compliant, wat essentieel is voor overheidsorganisaties en organisaties die werken met gevoelige informatie. Het belangrijkste voordeel is dat deze service volledig gratis is en geen extra kosten met zich meebrengt. MMK is voldoende voor de meeste scenario's, behalve wanneer strikte data-soevereiniteit vereist is (zoals in de financiële sector of gezondheidszorg), wanneer compliance-vereisten expliciet Customer-Managed Keys (CMK) voorschrijven, of wanneer er behoefte is aan de mogelijkheid om in noodgevallen sleutels direct te kunnen intrekken.

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

Implementatie

Dit validatiescript controleert welke Azure-resources Microsoft-beheerde Keys gebruiken in vergelijking met Customer-Managed Keys. MMK is de standaard versleutelingsmethode voor verschillende kritieke Azure-services, waaronder Azure Storage-accounts, Azure SQL-databases, Azure Cosmos DB en beheerde schijven. Het script verifieert dat versleuteling daadwerkelijk is ingeschakeld voor alle resources, waarbij het belangrijk is te begrijpen dat versleuteling standaard altijd actief is voor nieuwe resources die worden aangemaakt in Azure. Daarnaast identificeert het script resources die mogelijk Customer-Managed Keys gebruiken, wat nuttig is voor gap-analyse en compliance-rapportage. Het is belangrijk te benadrukken dat MMK de baseline-versleuteling vormt en dat een upgrade naar CMK alleen noodzakelijk is wanneer specifieke compliance-vereisten dit voorschrijven of wanneer organisaties volledige controle over hun versleutelingssleutels nodig hebben.

Monitoring en Validatie

Gebruik PowerShell-script encryption-mmk.ps1 (functie Invoke-Monitoring) – Controleren.

Het monitoringproces voor Microsoft-beheerde Keys versleuteling vormt een essentieel onderdeel van de continue beveiligingscontrole binnen Azure-omgevingen. Het validatiescript voert een uitgebreide inventarisatie uit van alle Azure-resources die versleuteling-at-rest gebruiken en genereert een gedetailleerd rapport dat organisaties inzicht geeft in hun versleutelingsstatus. Het script analyseert verschillende resource-typen systematisch, waarbij speciale aandacht wordt besteed aan kritieke services zoals opslagaccounts, SQL-databases en Cosmos DB-instances. Voor elk resource-type wordt de totale hoeveelheid resources geïnventariseerd, wat organisaties helpt om een volledig overzicht te krijgen van hun Azure-landschap en de verspreiding van versleutelde resources daarin.

Een cruciaal aspect van het monitoringproces is de verificatie van de versleutelingsstatus voor elke individuele resource. Het script controleert of versleuteling daadwerkelijk is ingeschakeld of uitgeschakeld, waarbij het belangrijk is te begrijpen dat voor nieuwe Azure-resources versleuteling standaard altijd actief zou moeten zijn. Wanneer het script resources identificeert zonder actieve versleuteling, duidt dit op een potentieel beveiligingsprobleem dat onmiddellijke aandacht vereist. Dergelijke bevindingen zijn uiterst zeldzaam voor moderne Azure-implementaties, maar kunnen voorkomen bij legacy-resources of resources die zijn gemigreerd vanuit oudere systemen.

Het script maakt ook een belangrijk onderscheid tussen verschillende versleutelingstypen, specifiek tussen Microsoft-beheerde Keys (MMK) en Customer-Managed Keys (CMK). Deze differentiatie is essentieel voor compliance-rapportage en risicobeoordeling, omdat verschillende organisaties verschillende versleutelingsvereisten kunnen hebben op basis van hun sector, compliance-verplichtingen of interne beveiligingsbeleid. Resources die Customer-Managed Keys gebruiken worden specifiek geïdentificeerd, wat organisaties helpt om te bepalen of zij voldoen aan specifieke compliance-vereisten die expliciet CMK voorschrijven, zoals bepaalde financiële regelgeving of overheidsrichtlijnen.

Het identificeren van resources zonder versleuteling vormt een kritieke beveiligingscontrole, hoewel dit in de praktijk zeer ongebruikelijk zou moeten zijn voor nieuwe resources. Wanneer dergelijke resources worden gevonden, duidt dit op een potentieel beveiligingslek dat onmiddellijke remediatie vereist. Het script genereert gedetailleerde rapporten die organisaties kunnen gebruiken voor audit-doeleinden, compliance-rapportage aan toezichthouders, en interne beveiligingsbeoordelingen. Deze rapporten vormen belangrijke bewijslast voor het aantonen van naleving van beveiligingsstandaarden en compliance-vereisten zoals de BIO, ISO 27001 en NIS2.

De implementatie van een gestructureerd monitoringproces voor versleuteling vereist dat organisaties regelmatig validatiescripts uitvoeren, bij voorkeur maandelijks of na significante wijzigingen in de Azure-infrastructuur. Deze regelmatige controle zorgt ervoor dat organisaties proactief kunnen reageren op eventuele wijzigingen in de versleutelingsstatus en kunnen garanderen dat alle nieuwe resources correct zijn geconfigureerd met versleuteling. Het is belangrijk dat organisaties een duidelijk proces hebben voor het escaleren van bevindingen waarbij versleuteling ontbreekt, zodat dergelijke problemen snel kunnen worden opgelost voordat ze een beveiligingsrisico vormen.

Voor organisaties die werken met meerdere Azure-abonnementen of complexe multi-tenant omgevingen, is het essentieel dat het monitoringproces alle relevante abonnementen en resourcegroepen omvat. Het validatiescript kan worden uitgevoerd op verschillende niveaus, van individuele resourcegroepen tot volledige abonnementen of zelfs hele tenants, afhankelijk van de organisatorische structuur en beveiligingsvereisten. Deze flexibiliteit stelt organisaties in staat om monitoring aan te passen aan hun specifieke behoeften en om compliance-rapportage te genereren op het niveau dat het meest relevant is voor hun interne processen en externe verplichtingen.

De rapportage-output van het validatiescript biedt organisaties waardevolle inzichten in hun versleutelingsdekking en helpt bij het identificeren van trends en patronen over tijd. Door regelmatig monitoring uit te voeren en historische data te verzamelen, kunnen organisaties ontwikkelingen in hun versleutelingsstatus volgen en kunnen zij aantonen dat zij proactief werken aan het behouden van een sterke beveiligingspostuur. Deze historische data is ook waardevol voor compliance-audits, waarbij auditors vaak willen zien dat organisaties consistente monitoring uitvoeren en dat zij in staat zijn om te reageren op eventuele afwijkingen van de verwachte beveiligingsconfiguratie.

Wanneer is MMK voldoende en wanneer CMK?

Microsoft-beheerde Keys zijn voor de overgrote meerderheid van workloads volledig voldoende en vormen de aanbevolen standaard voor de meeste Nederlandse organisaties. MMK biedt robuuste beveiliging zonder de complexiteit en operationele overhead die gepaard gaan met Customer-Managed Keys. Organisaties moeten echter wel een weloverwogen beslissing nemen op basis van hun specifieke compliance-vereisten, sectorale regelgeving en beveiligingsbeleid.

Voor organisaties in de financiële dienstverlening die werken met strikte data-soevereiniteitsvereisten kan Customer-Managed Keys een betere keuze zijn. Deze sector wordt vaak geconfronteerd met regelgeving die expliciet vereist dat organisaties volledige controle hebben over hun versleutelingssleutels, wat betekent dat sleutels niet mogen worden beheerd door externe partijen, zelfs niet door de cloudprovider. In dergelijke scenario's biedt CMK de vereiste controle en transparantie die nodig is om te voldoen aan sectorale compliance-vereisten.

Organisaties in de gezondheidszorg moeten bijzondere aandacht besteden aan de interpretatie van de Algemene Verordening Gegevensbescherming (AVG) in de context van versleuteling. Hoewel MMK technisch gezien voldoet aan de versleutelingsvereisten van artikel 32 van de AVG, kunnen sommige toezichthouders of interne compliance-teams een striktere interpretatie hanteren die expliciet vereist dat organisaties controle hebben over hun versleutelingssleutels. Dit is met name relevant wanneer organisaties werken met bijzondere categorieën van persoonsgegevens, zoals gezondheidsgegevens, waarbij de risico's en gevolgen van datalekken aanzienlijk hoger zijn.

Overheidsorganisaties en semi-overheidsinstellingen moeten vaak voldoen aan specifieke beveiligingsstandaarden zoals de Baseline Informatiebeveiliging Overheid (BIO) en kunnen aanvullende eisen hebben met betrekking tot data-residentie en sleutelbeheer. Voor kritieke overheidsworkloads kan het gebruik van Customer-Managed Keys noodzakelijk zijn om te voldoen aan nationale beveiligingsrichtlijnen en om volledige controle te behouden over gevoelige overheidsinformatie. Dit geldt met name voor workloads die betrekking hebben op nationale veiligheid, justitiële informatie of andere hoogwaardige overheidsgegevens.

Organisaties die vallen onder de NIS2-richtlijn en worden geclassificeerd als kritieke entiteiten moeten bijzondere aandacht besteden aan hun versleutelingsstrategie. NIS2 vereist dat kritieke entiteiten passende technische en organisatorische maatregelen treffen om de beveiliging van netwerk- en informatiesystemen te waarborgen. Voor organisaties met specifieke data-residentievereisten, waarbij gegevens binnen bepaalde geografische grenzen moeten blijven, kan Customer-Managed Keys een betere keuze zijn omdat dit meer controle biedt over waar en hoe sleutels worden opgeslagen en beheerd.

In scenario's waar organisaties de mogelijkheid nodig hebben om in noodgevallen versleutelingssleutels direct te kunnen intrekken, biedt Customer-Managed Keys aanzienlijke voordelen. Deze functionaliteit is met name belangrijk voor organisaties die werken met zeer gevoelige informatie of die zich in sectoren bevinden waar de risico's van datalekken extreem hoog zijn. De mogelijkheid om sleutels onmiddellijk te kunnen intrekken kan cruciaal zijn in incidentresponsescenario's, waarbij organisaties snel moeten kunnen reageren op beveiligingsincidenten of potentiële datalekken.

Voor de meeste Nederlandse organisaties, inclusief veel middelgrote en grote bedrijven, overheidsorganisaties en non-profit instellingen, biedt Microsoft-beheerde Keys voldoende beveiliging en compliance-ondersteuning. De belangrijkste overweging bij de keuze tussen MMK en CMK is niet alleen technisch, maar ook organisatorisch en financieel. Customer-Managed Keys vereisen namelijk extra expertise voor het beheren van sleutels, extra kosten voor Azure Key Vault en de bijbehorende services, en extra operationele overhead voor het monitoren en onderhouden van de sleutelinfrastructuur. Voor organisaties zonder specifieke compliance-vereisten die CMK voorschrijven, zijn deze extra kosten en complexiteit vaak niet gerechtvaardigd.

Het is belangrijk dat organisaties een grondige risicoanalyse uitvoeren voordat zij beslissen om over te stappen van MMK naar CMK. Deze analyse moet rekening houden met de specifieke compliance-vereisten van de organisatie, de gevoeligheid van de data die wordt opgeslagen, de sectorale regelgeving die van toepassing is, en de operationele capaciteit van de organisatie om Customer-Managed Keys te beheren. Organisaties moeten ook overwegen of zij de technische expertise in huis hebben om CMK correct te implementeren en te onderhouden, aangezien onjuiste configuratie van Customer-Managed Keys kan leiden tot beveiligingsproblemen of zelfs tot verlies van toegang tot versleutelde data.

Een veelvoorkomende misvatting is dat Customer-Managed Keys per definitie veiliger zijn dan Microsoft-beheerde Keys. In werkelijkheid bieden beide oplossingen robuuste beveiliging, maar zij verschillen in wie controle heeft over de sleutels en waar de sleutels worden opgeslagen. Microsoft-beheerde Keys worden beheerd door Microsoft in hun beveiligde datacenters, terwijl Customer-Managed Keys worden beheerd door de organisatie zelf in Azure Key Vault. De keuze tussen deze twee opties moet gebaseerd zijn op specifieke compliance-vereisten, operationele behoeften en risicobeoordeling, niet op de veronderstelling dat één optie inherent veiliger is dan de andere.

Compliance en Auditing

Microsoft-beheerde Keys voldoen aan een breed scala aan internationale en nationale compliance-frameworks die relevant zijn voor Nederlandse organisaties. Deze compliance-ondersteuning maakt MMK tot een geschikte keuze voor organisaties die moeten voldoen aan verschillende regelgevingsvereisten zonder de complexiteit van Customer-Managed Keys te hoeven implementeren. Het is belangrijk voor organisaties om te begrijpen hoe MMK zich verhoudt tot specifieke compliance-vereisten en welke documentatie nodig is om naleving aan te tonen tijdens audits en compliance-beoordelingen.

Voor de ISO 27001-informatiebeveiligingsstandaard voldoet MMK aan controle A.10.1.1, die betrekking heeft op het beleid voor het gebruik van cryptografische controles. Deze controle vereist dat organisaties een beleid hebben dat het gebruik van cryptografische controles definieert en dat passende cryptografische controles worden gebruikt om de vertrouwelijkheid, authenticiteit en integriteit van informatie te beschermen. Microsoft-beheerde Keys implementeren AES-256-versleuteling, wat algemeen wordt beschouwd als een robuuste cryptografische controle die voldoet aan de vereisten van ISO 27001. Organisaties moeten echter wel documenteren dat zij gebruikmaken van MMK en moeten kunnen aantonen dat deze keuze passend is voor hun risicoprofiel en informatieclassificatie.

De NIS2-richtlijn, die van toepassing is op kritieke entiteiten en belangrijke entiteiten binnen de Europese Unie, bevat in artikel 21 specifieke vereisten met betrekking tot versleuteling bij rest. Deze bepaling vereist dat organisaties passende technische en organisatorische maatregelen treffen om de beveiliging van netwerk- en informatiesystemen te waarborgen, waarbij versleuteling een belangrijke technische maatregel vormt. Microsoft-beheerde Keys voldoen aan deze vereisten door automatische versleuteling-at-rest te bieden voor alle relevante Azure-resources. Organisaties die onder NIS2 vallen moeten kunnen aantonen dat zij versleuteling hebben geïmplementeerd en moeten regelmatig controleren of deze versleuteling actief blijft voor alle relevante resources.

De Algemene Verordening Gegevensbescherming (AVG), ook wel bekend als GDPR, bevat in artikel 32 specifieke vereisten met betrekking tot beveiligingsmaatregelen, waaronder versleuteling. Dit artikel vereist dat organisaties passende technische en organisatorische maatregelen treffen om persoonsgegevens te beveiligen, waarbij versleuteling wordt genoemd als een voorbeeld van een passende technische maatregel. Microsoft-beheerde Keys voldoen aan deze vereisten door automatische versleuteling te bieden voor alle persoonsgegevens die worden opgeslagen in Azure-resources. Het is belangrijk te benadrukken dat versleuteling alleen één aspect vormt van AVG-naleving en dat organisaties ook andere beveiligingsmaatregelen moeten implementeren, zoals toegangscontrole, logging en monitoring.

FIPS 140-2 compliance vormt een kritieke vereiste voor veel overheidsorganisaties en organisaties die werken met gevoelige informatie. Deze Amerikaanse federale standaard definieert beveiligingsvereisten voor cryptografische modules en wordt wereldwijd erkend als een belangrijke beveiligingsstandaard. Microsoft-beheerde Keys zijn volledig FIPS 140-2 compliant, wat betekent dat de onderliggende cryptografische modules voldoen aan de strikte beveiligingsvereisten van deze standaard. Deze compliance is met name belangrijk voor Nederlandse overheidsorganisaties die moeten voldoen aan internationale beveiligingsstandaarden en voor organisaties die werken met internationale partners die FIPS 140-2 compliance vereisen.

Voor audit- en compliance-doeleinden moeten organisaties regelmatig rapporten genereren die aantonen dat versleuteling actief is voor alle relevante resources. Het validatiescript dat bij deze baseline wordt geleverd, genereert dergelijke rapporten die kunnen worden gebruikt als auditbewijs. Organisaties moeten deze rapporten regelmatig uitvoeren en archiveren volgens hun interne bewaartermijnen, die vaak zeven jaar bedragen voor compliance-doeleinden. Deze rapporten moeten duidelijk aangeven welke resources versleuteling gebruiken, welk type versleuteling wordt gebruikt (MMK of CMK), en of er resources zijn zonder actieve versleuteling die aandacht vereisen.

De Baseline Informatiebeveiliging Overheid (BIO) vormt een belangrijk compliance-framework voor Nederlandse overheidsorganisaties en semi-overheidsinstellingen. Binnen het BIO-framework valt versleuteling onder thema 10, dat betrekking heeft op cryptografische maatregelen. Microsoft-beheerde Keys voldoen aan de vereisten van BIO-controle 10.01.01, die specifiek betrekking heeft op versleuteling bij rest. Organisaties die onder het BIO-framework vallen moeten kunnen aantonen dat zij passende cryptografische maatregelen hebben geïmplementeerd en moeten regelmatig controleren of deze maatregelen effectief blijven. Het gebruik van MMK biedt overheidsorganisaties een kosteneffectieve manier om te voldoen aan deze vereisten zonder de complexiteit en kosten van Customer-Managed Keys.

Tijdens compliance-audits en externe beoordelingen moeten organisaties kunnen aantonen dat zij een gestructureerd proces hebben voor het monitoren en beheren van versleuteling. Dit omvat niet alleen het regelmatig uitvoeren van validatiescripts, maar ook het documenteren van de besluitvorming rondom de keuze tussen MMK en CMK, het bijhouden van wijzigingen in de versleutelingsconfiguratie, en het kunnen verklaren waarom bepaalde resources mogelijk Customer-Managed Keys gebruiken terwijl andere Microsoft-beheerde Keys gebruiken. Deze documentatie is essentieel voor het aantonen van due diligence en voor het kunnen uitleggen van de beveiligingskeuzes aan auditors en toezichthouders.

Voor organisaties die werken met internationale partners of die moeten voldoen aan meerdere compliance-frameworks tegelijkertijd, biedt Microsoft-beheerde Keys het voordeel dat zij voldoen aan een breed scala aan internationale standaarden. Naast de eerder genoemde frameworks zoals ISO 27001, NIS2, AVG en BIO, voldoet MMK ook aan andere belangrijke standaarden zoals SOC 2, PCI DSS (voor relevante workloads), en verschillende nationale beveiligingsstandaarden. Deze brede compliance-ondersteuning maakt MMK tot een geschikte keuze voor organisaties die moeten opereren in complexe compliance-omgevingen waarbij meerdere frameworks van toepassing zijn.

Remediatie en Implementatie

Gebruik PowerShell-script encryption-mmk.ps1 (functie Invoke-Remediation) – Herstellen.

Het remediatieproces voor Microsoft-beheerde Keys versleuteling is in de meeste gevallen eenvoudig omdat MMK standaard automatisch wordt ingeschakeld voor alle nieuwe Azure-resources. Wanneer het validatiescript echter resources identificeert zonder actieve versleuteling, is onmiddellijke actie vereist om de beveiligingspostuur van de organisatie te herstellen. Het remediatiescript biedt geautomatiseerde functionaliteit om versleuteling in te schakelen voor resources waar dit nog niet actief is, hoewel dergelijke scenario's uiterst zeldzaam zijn in moderne Azure-implementaties.

Voor nieuwe Azure-resources is geen specifieke remediatie-actie vereist omdat versleuteling automatisch wordt ingeschakeld wanneer resources worden aangemaakt. Dit betekent dat organisaties die nieuwe workloads implementeren automatisch profiteren van MMK-versleuteling zonder dat er aanvullende configuratiestappen nodig zijn. Het is echter belangrijk dat organisaties regelmatig validatie uitvoeren om te verifiëren dat versleuteling daadwerkelijk actief is voor alle resources, vooral na migraties of wanneer resources worden geïmporteerd vanuit andere omgevingen.

In het zeldzame geval dat legacy-resources worden geïdentificeerd zonder actieve versleuteling, biedt het remediatiescript functionaliteit om versleuteling in te schakelen. Het is belangrijk te begrijpen dat het inschakelen van versleuteling voor bestaande resources kan leiden tot tijdelijke service-onderbrekingen, afhankelijk van het resource-type. Organisaties moeten daarom remediatie-acties zorgvuldig plannen en uitvoeren tijdens onderhoudsvensters om de impact op bedrijfsprocessen te minimaliseren. Voor sommige resource-typen kan het inschakelen van versleuteling ook vereisen dat resources worden herstart of opnieuw worden geconfigureerd.

Na het uitvoeren van remediatie-acties moeten organisaties opnieuw validatie uitvoeren om te verifiëren dat versleuteling succesvol is ingeschakeld voor alle resources. Deze verificatiestap is essentieel om te waarborgen dat de beveiligingsmaatregelen daadwerkelijk effectief zijn en dat organisaties kunnen voldoen aan hun compliance-vereisten. Het wordt aanbevolen om na elke remediatie-ronde een nieuw compliance-rapport te genereren dat kan worden gebruikt voor audit-doeleinden en om de voortgang van beveiligingsverbeteringen te documenteren.

De implementatie van Microsoft-beheerde Keys versleuteling voor nieuwe workloads vereist geen specifieke technische acties van organisaties, aangezien versleuteling automatisch wordt ingeschakeld wanneer resources worden aangemaakt in Azure. Dit betekent dat organisaties die nieuwe projecten starten of nieuwe workloads migreren naar Azure automatisch profiteren van MMK-versleuteling zonder dat er extra configuratiestappen nodig zijn. Het is echter belangrijk dat organisaties zich bewust zijn van deze automatische versleuteling en dat zij dit documenteren in hun beveiligingsbeleid en compliance-documentatie, zodat zij kunnen aantonen dat zij passende beveiligingsmaatregelen hebben geïmplementeerd.

Voor organisaties die bestaande workloads migreren naar Azure of die resources importeren vanuit andere cloud-omgevingen, is het belangrijk om te verifiëren dat versleuteling correct is geconfigureerd na de migratie. Hoewel Azure automatisch versleuteling inschakelt voor nieuwe resources, kunnen resources die worden geïmporteerd of gemigreerd mogelijk niet automatisch versleuteling hebben, afhankelijk van de migratiemethode die wordt gebruikt. Organisaties moeten daarom altijd een validatie uitvoeren na migratie-operaties om te verifiëren dat alle gemigreerde resources correct zijn geconfigureerd met versleuteling.

Het remediatieproces moet worden geïntegreerd in de algemene beveiligingsworkflow van de organisatie, waarbij bevindingen uit validatiescripts worden opgenomen in het incidentresponseproces en waarbij remediatie-acties worden gedocumenteerd voor audit-doeleinden. Organisaties moeten ook overwegen om geautomatiseerde workflows te implementeren die automatisch remediatie-acties uitvoeren wanneer resources worden geïdentificeerd zonder versleuteling, hoewel dergelijke automatisering zorgvuldig moet worden getest en gecontroleerd om te voorkomen dat onbedoelde wijzigingen worden doorgevoerd die de beschikbaarheid of functionaliteit van kritieke workloads kunnen beïnvloeden.

Voor organisaties die werken met DevOps-praktijken en Infrastructure as Code (IaC), is het belangrijk om ervoor te zorgen dat versleuteling standaard is ingeschakeld in alle infrastructure templates en deployment scripts. Dit zorgt ervoor dat nieuwe resources die worden aangemaakt via geautomatiseerde processen automatisch versleuteling hebben, wat consistentie waarborgt en het risico vermindert dat resources per ongeluk worden aangemaakt zonder versleuteling. Organisaties moeten ook regelmatig hun IaC-templates en deployment scripts reviewen om te verifiëren dat versleuteling correct is geconfigureerd en dat er geen opties zijn die versleuteling kunnen uitschakelen.

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 Azure Encryption: Microsoft-Managed Keys (MMK) Validation .DESCRIPTION CIS Azure Foundations Benchmark - Encryption Controls Valideert welke Azure resources Microsoft-Managed Keys (MMK) gebruiken. MMK is de standaard encryption methode zonder extra configuratie. Waarom is deze control belangrijk? - Validatie van default encryption status - Identificatie van resources zonder CMK - Baseline voor encryption coverage - Compliance monitoring .NOTES Filename: encryption-mmk.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/encryption/encryption-mmk.json .EXAMPLE .\encryption-mmk.ps1 Controleert MMK usage voor alle resources .EXAMPLE .\encryption-mmk.ps1 -Monitoring Toont gedetailleerd rapport van MMK usage #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Storage, Az.Sql [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Azure Encryption: Microsoft-Managed Keys" function Connect-RequiredServices { function Invoke-Revert { Write-Host "`n⚠️ Geen revert actie voor MMK validation" -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 = "encryption-mmk" PolicyName = $PolicyName IsCompliant = $true # MMK is acceptable, informational only TotalResources = 0 MMKCount = 0 CMKCount = 0 Details = @() Recommendations = @() ResourceTypes = @{ Storage = @{ Total = 0; MMK = 0; CMK = 0 } SQL = @{ Total = 0; MMK = 0; CMK = 0 } } } function Invoke-Revert { Write-Host "`n⚠️ Geen revert actie voor MMK validation" -ForegroundColor Yellow } try { # Check Storage Accounts Write-Verbose "Checking Storage Accounts..." $storageAccounts = Get-AzStorageAccount -ErrorAction SilentlyContinue foreach ($sa in $storageAccounts) { $result.ResourceTypes.Storage.Total++ $result.TotalResources++ if ($sa.Encryption.KeySource -eq 'Microsoft.Storage') { $result.ResourceTypes.Storage.MMK++ $result.MMKCount++ $result.Details += "Storage: '$($sa.StorageAccountName)' gebruikt MMK (default)" } elseif ($sa.Encryption.KeySource -eq 'Microsoft.Keyvault') { $result.ResourceTypes.Storage.CMK++ $result.CMKCount++ $result.Details += "Storage: '$($sa.StorageAccountName)' gebruikt CMK" } } # Check SQL Servers Write-Verbose "Checking SQL Servers..." $sqlServers = Get-AzSqlServer -ErrorAction SilentlyContinue foreach ($sql in $sqlServers) { $result.ResourceTypes.SQL.Total++ $result.TotalResources++ $tde = Get-AzSqlServerTransparentDataEncryptionProtector ` -ResourceGroupName $sql.ResourceGroupName ` -ServerName $sql.ServerName ` -ErrorAction SilentlyContinue if ($tde) { if ($tde.Type -eq 'ServiceManaged') { $result.ResourceTypes.SQL.MMK++ $result.MMKCount++ $result.Details += "SQL: '$($sql.ServerName)' gebruikt MMK (Service-Managed)" } elseif ($tde.Type -eq 'AzureKeyVault') { $result.ResourceTypes.SQL.CMK++ $result.CMKCount++ $result.Details += "SQL: '$($sql.ServerName)' gebruikt CMK" } } } # Add recommendations if ($result.MMKCount -gt 0) { $result.Recommendations += "⚠️ $($result.MMKCount) resource(s) gebruiken MMK (standaard encryption)" $result.Recommendations += "Overweeg upgrade naar CMK voor extra controle over keys" $result.Recommendations += "Zie: encryption-cmk.ps1 voor CMK configuratie" } } catch { $result.Details += "ERROR: $($_.Exception.Message)" } return $result } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total resources checked: $($result.TotalResources)" -ForegroundColor White Write-Host "Using MMK: $($result.MMKCount)" -ForegroundColor Yellow Write-Host "Using CMK: $($result.CMKCount)" -ForegroundColor Green Write-Host "`nBreakdown per resource type:" -ForegroundColor Yellow Write-Host " Storage Accounts:" -ForegroundColor White Write-Host " - MMK: $($result.ResourceTypes.Storage.MMK)" -ForegroundColor Gray Write-Host " - CMK: $($result.ResourceTypes.Storage.CMK)" -ForegroundColor Gray Write-Host " SQL Servers:" -ForegroundColor White Write-Host " - MMK: $($result.ResourceTypes.SQL.MMK)" -ForegroundColor Gray Write-Host " - CMK: $($result.ResourceTypes.SQL.CMK)" -ForegroundColor Gray if ($result.Details) { Write-Host "`nDetails:" -ForegroundColor Yellow $result.Details | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } if ($result.Recommendations) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow $result.Recommendations | ForEach-Object { Write-Host " → $_" -ForegroundColor Cyan } } return $result } function Invoke-Revert { Write-Host "`n⚠️ Geen revert actie voor MMK validation" -ForegroundColor Yellow } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Write-Host "`n⚠️ Dit is een informational control (MMK validation)" -ForegroundColor Yellow Write-Host " Geen remediatie beschikbaar - MMK is standaard encryption" -ForegroundColor Gray Write-Host " Voor upgrade naar CMK, run: encryption-cmk.ps1 -Remediation" -ForegroundColor Cyan } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance Write-Host "`nEncryption Status: $PolicyName" -ForegroundColor Cyan Write-Host "MMK: $($result.MMKCount) | CMK: $($result.CMKCount) (Total: $($result.TotalResources))" -ForegroundColor White if ($result.MMKCount -gt 0) { Write-Host "⚠️ $($result.MMKCount) resource(s) gebruiken standaard encryption (MMK)" -ForegroundColor Yellow Write-Host " Run met -Monitoring voor details" -ForegroundColor Gray } } } catch { Write-Error $_ exit 1 } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat .DESCRIPTION Dit is een monitoring-only control, remediation delegeert naar monitoring #> [CmdletBinding()] param() Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan Invoke-Monitoring }

Risico zonder implementatie

Risico zonder implementatie
Low: Laag - Microsoft-beheerde Keys vormen de standaard versleuteling voor Azure-resources en zijn voldoende voor ongeveer negentig procent van alle workloads. Het risico is minimaal omdat versleuteling automatisch wordt ingeschakeld voor nieuwe resources. Actie is alleen noodzakelijk wanneer specifieke compliance-vereisten expliciet Customer-Managed Keys voorschrijven, zoals in bepaalde financiële of overheidscontexten. De belangrijkste actie is verificatie dat versleuteling daadwerkelijk actief is voor alle resources, wat kan worden bereikt door regelmatige controle uit te voeren met het validatiescript.

Management Samenvatting

Microsoft-beheerde Keys (MMK) vormen de standaard versleuteling voor Azure-resources en bieden AES-256-versleuteling die volledig FIPS 140-2 compliant is. De service is volledig gratis, voert automatisch sleutelrotatie uit en vereist geen operationele overhead. MMK is voldoende voor de meeste workloads en wordt automatisch ingeschakeld voor alle nieuwe Azure-resources. Het validatiescript verifieert de versleutelingsdekking voor alle resources en identificeert eventuele resources zonder actieve versleuteling. Customer-Managed Keys zijn alleen noodzakelijk voor organisaties met specifieke data-soevereiniteitsvereisten, zoals in de financiële sector, gezondheidszorg of overheid. De verificatie en implementatie van MMK vereist ongeveer één uur werk en brengt geen extra kosten met zich mee.