Key Management Configuratie Voor Azure Key Vault

💼 Management Samenvatting

Deze beveiligingsmaatregel waarborgt dat Azure Key Vault is geconfigureerd met passende key management policies, inclusief key rotation, expiration policies en lifecycle management procedures, waardoor organisaties volledige controle behouden over de levenscyclus van cryptografische sleutels en voldoen aan strikte compliancevereisten.

Aanbeveling
CONFIGUREER KEY MANAGEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
9u (tech: 6u)
Van toepassing op:
Azure Key Vault

Effectief key management vormt de fundamentele basis voor cryptografische beveiliging binnen moderne cloudomgevingen. Zonder passende key management configuratie lopen organisaties het risico dat cryptografische sleutels niet worden geroteerd, verlopen of onjuist worden beheerd, wat kan leiden tot beveiligingslekken en niet-naleving van compliancevereisten. Key management configuratie omvat het definiëren van key rotation policies die bepalen wanneer cryptografische sleutels automatisch worden vervangen door nieuwe versies, key expiration policies die ervoor zorgen dat sleutels niet oneindig worden gebruikt, en key lifecycle management procedures die de volledige levenscyclus van sleutels beheren van generatie tot vernietiging. Deze configuratie is essentieel voor organisaties die moeten voldoen aan strikte compliancevereisten zoals BIO normen, AVG-regelgeving en ISO 27001 richtlijnen die eisen dat organisaties passende procedures hebben voor het beheren van cryptografische materialen gedurende hun volledige levenscyclus. Bovendien biedt effectief key management extra beveiligingslagen door organisaties in staat te stellen hun eigen key lifecycle management procedures te implementeren, inclusief key rotation schedules, key backup strategieën en key revocation procedures die ervoor zorgen dat cryptografische sleutels op een gecontroleerde en gedocumenteerde manier worden beheerd.

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

Implementatie

Deze maatregel controleert en configureert key management policies voor Azure Key Vault, waarbij cryptografische sleutels worden beheerd volgens gedefinieerde lifecycle procedures inclusief automatische key rotation, expiration policies en backup strategieën. De implementatie omvat het configureren van Azure Key Vault met de juiste key management policies, het definiëren van key rotation schedules die bepalen wanneer sleutels automatisch worden vervangen, het instellen van expiration policies die ervoor zorgen dat sleutels niet oneindig worden gebruikt, en het implementeren van monitoring en alerting mechanismen die beheerders waarschuwen wanneer key management events plaatsvinden. Deze aanpak voldoet aan actuele beveiligingskaders zoals CIS Benchmarks, BIO normen, ISO 27001 richtlijnen en AVG vereisten voor cryptografische sleutelbeheer.

Vereisten en Voorkennis

Voordat organisaties key management configuratie kunnen implementeren voor Azure Key Vault, dienen zij te beschikken over een grondig begrip van cryptografische concepten, key lifecycle management procedures en de manier waarop Azure Key Vault key management functionaliteit biedt. De implementatie vereist specifieke Azure-resources, toegangsrechten en technische kennis om de juiste configuratie te kunnen waarborgen. Key management configuratie vormt een geavanceerde beveiligingsmaatregel die organisaties volledige controle geeft over de levenscyclus van cryptografische sleutels die worden gebruikt voor versleuteling, digitale handtekeningen en andere cryptografische operaties. Het begrijpen van de fundamentele concepten achter key management, zoals key generation, key rotation, key expiration, key backup en key lifecycle management, vormt de basis voor een succesvolle implementatie.

De primaire vereiste voor deze beveiligingsmaatregel is de aanwezigheid van een Azure Key Vault instantie die is geconfigureerd met de juiste beveiligingsinstellingen, inclusief soft-delete en purge protection. Deze Key Vault moet beschikken over de benodigde toegangsrechten voor beheerders om key management policies te kunnen configureren en wijzigen. Organisaties moeten beschikken over Azure-abonnementen met toegang tot Azure Key Vault, waarbij de specifieke configuratieopties kunnen variëren afhankelijk van het type Key Vault dat wordt gebruikt. Standaard Key Vaults bieden basis key management functionaliteit, terwijl Premium Key Vaults of Azure Key Vault Managed HSM geavanceerde key management features bieden zoals hardware security modules en uitgebreide key lifecycle management opties. Het is belangrijk om te begrijpen dat key management configuratie verschillende aspecten omvat, waaronder key rotation policies, expiration policies, backup procedures en monitoring configuraties, en dat de implementatieprocedure kan verschillen afhankelijk van de specifieke behoeften van de organisatie.

Voor het uitvoeren van verificatie- en configuratietaken is toegang vereist tot de Azure Portal of Azure CLI, in combinatie met de juiste rolgebaseerde toegangscontrole machtigingen. Minimale vereiste rollen omvatten Key Vault Reader voor monitoring doeleinden, Key Vault Crypto Officer voor het beheren van cryptografische sleutels en key management policies, en Key Vault Administrator voor het configureren van geavanceerde key management instellingen. Daarnaast is het essentieel dat beheerders beschikken over kennis van PowerShell of Azure CLI voor geautomatiseerde verificatiescripts, waarbij de Az.KeyVault module voor PowerShell of de bijbehorende Azure CLI extensies noodzakelijk zijn. De Azure Portal biedt een gebruiksvriendelijke grafische interface voor het beheren van key management configuraties, maar voor grootschalige omgevingen met tientallen of honderden Key Vaults is geautomatiseerde verificatie via scripts essentieel voor efficiënt beheer.

Organisaties dienen te beschikken over een duidelijk overzicht van alle cryptografische sleutels binnen hun Key Vault omgeving, inclusief welke sleutels momenteel in gebruik zijn, welke sleutels zijn verlopen of binnenkort verlopen, en welke sleutels key rotation vereisen. Deze inventarisatie is cruciaal omdat key management configuratie impact kan hebben op bestaande workloads en applicaties die afhankelijk zijn van cryptografische sleutels. Bovendien moeten beheerders rekening houden met de kostenimplicaties, hoewel key management configuratie zelf geen extra kosten met zich meebrengt, kunnen de onderliggende Azure Key Vault operaties zoals key rotation en backup wel kosten genereren. Het bijhouden van een accurate inventarisatie vereist regelmatige audits van alle Key Vaults binnen de organisatie, waarbij organisaties gebruik kunnen maken van Azure Resource Graph queries of geautomatiseerde inventarisatiescripts om alle sleutels te identificeren die key management configuratie vereisen.

Naast technische vereisten moeten organisaties ook beschikken over duidelijke procedures en documentatie voor het beheren van key management configuratie. Dit omvat het definiëren van verantwoordelijkheden voor verschillende rollen binnen de organisatie, het opstellen van key lifecycle management procedures voor het genereren, roteren en verwijderen van cryptografische sleutels, en het implementeren van monitoring en alerting mechanismen die beheerders waarschuwen wanneer key management events plaatsvinden. Organisaties moeten ook rekening houden met de integratie van key management configuratie in hun bestaande security governance frameworks, waarbij key management wordt opgenomen als onderdeel van standaard security baselines en compliance verificatieprocessen. Het is aanbevolen om key rotation procedures te automatiseren via Azure Key Vault policies, waardoor cryptografische sleutels automatisch worden geroteerd volgens een vooraf gedefinieerd schema, ongeacht wie de sleutels beheert binnen de organisatie.

Voor organisaties die werken met gevoelige gegevens en strikte compliance vereisten, zoals Nederlandse overheidsorganisaties die moeten voldoen aan BIO normen, is het essentieel om te beschikken over gedetailleerde kennis van cryptografische best practices en key management procedures. Key management configuratie vormt een kritieke component van deze procedures, maar moet worden geïntegreerd in een breder encryption framework dat ook aandacht besteedt aan data classification, encryption at rest en in transit, en key recovery scenario's. Organisaties moeten begrijpen hoe key management configuratie zich verhoudt tot andere Azure encryption opties, zoals customer-managed keys voor Azure-services en Azure Disk Encryption voor virtuele machines, om een complete encryption strategie te ontwikkelen die alle aspecten van gegevensbescherming afdekt.

Implementatie

De implementatie van key management configuratie voor Azure Key Vault vereist een gestructureerde aanpak die begint met het definiëren van key management policies, gevolgd door configuratie en validatie van de key lifecycle management functionaliteit. Key management configuratie omvat verschillende componenten, waaronder key rotation policies die bepalen wanneer cryptografische sleutels automatisch worden vervangen, expiration policies die ervoor zorgen dat sleutels niet oneindig worden gebruikt, en backup procedures die waarborgen dat sleutels kunnen worden hersteld in geval van verlies of corruptie. Het is essentieel om te begrijpen dat key management configuratie een doorlopend proces is dat regelmatige evaluatie en aanpassing vereist om te waarborgen dat de configuratie blijft voldoen aan de beveiligingsvereisten van de organisatie.

De eerste stap in het implementatieproces is het definiëren van key rotation policies die bepalen wanneer cryptografische sleutels automatisch worden vervangen door nieuwe versies. Key rotation is een kritieke beveiligingsmaatregel die ervoor zorgt dat cryptografische sleutels regelmatig worden vervangen, waardoor de impact van een mogelijke key compromise wordt beperkt. Azure Key Vault ondersteunt automatische key rotation via key rotation policies die kunnen worden geconfigureerd via Azure Portal, Azure CLI of PowerShell. Deze policies definiëren de rotation interval, bijvoorbeeld elke 90 dagen of elk jaar, en bepalen of oude key versies behouden moeten blijven voor backward compatibility. Organisaties moeten key rotation policies definiëren op basis van hun beveiligingsvereisten, compliance verplichtingen en de kritiekheid van de gegevens die worden beschermd door de cryptografische sleutels. Voor hoogwaardige gegevens zoals persoonsgegevens of geclassificeerde informatie is het aanbevolen om key rotation uit te voeren met een frequentie van minimaal elk jaar, terwijl voor minder kritieke gegevens een langere rotation interval acceptabel kan zijn.

Naast key rotation policies moeten organisaties ook expiration policies configureren die ervoor zorgen dat cryptografische sleutels niet oneindig worden gebruikt. Expiration policies definiëren een vervaldatum voor cryptografische sleutels, waarna de sleutels niet langer kunnen worden gebruikt voor nieuwe cryptografische operaties. Deze policies zijn belangrijk omdat zij voorkomen dat verouderde of potentieel gecompromitteerde sleutels blijven worden gebruikt, en omdat zij organisaties dwingen om regelmatig te evalueren of cryptografische sleutels nog steeds nodig zijn en of zij moeten worden vervangen of verwijderd. Azure Key Vault ondersteunt expiration policies via de expiration date eigenschap van cryptografische sleutels, die kan worden geconfigureerd bij het genereren of importeren van sleutels, of kan worden bijgewerkt voor bestaande sleutels. Organisaties moeten expiration policies definiëren op basis van hun beveiligingsvereisten en compliance verplichtingen, waarbij het aanbevolen is om expiration dates te configureren die overeenkomen met de key rotation intervals om te waarborgen dat sleutels worden vervangen voordat zij verlopen.

Key backup procedures vormen een essentieel onderdeel van key management configuratie, omdat zij waarborgen dat cryptografische sleutels kunnen worden hersteld in geval van verlies, corruptie of onbedoelde verwijdering. Azure Key Vault biedt verschillende mechanismen voor key backup, waaronder het exporteren van sleutels naar beveiligde backup locaties, het gebruik van Azure Key Vault backup functionaliteit, en het implementeren van geografisch redundante backup strategieën. Organisaties moeten key backup procedures definiëren die waarborgen dat cryptografische sleutels regelmatig worden geback-upt, dat backups worden opgeslagen op beveiligde locaties met passende toegangscontroles, en dat backup restore procedures zijn gedocumenteerd en getest. Het is belangrijk om te begrijpen dat key backup procedures moeten voldoen aan compliance vereisten voor gegevensbescherming, waarbij backups moeten worden versleuteld en opgeslagen op locaties die voldoen aan de geografische en juridische vereisten van de organisatie.

Monitoring en alerting vormen een kritiek onderdeel van key management configuratie, omdat zij beheerders waarschuwen wanneer key management events plaatsvinden, zoals key rotation, expiration of access problemen. Azure Key Vault biedt uitgebreide logging functionaliteit via Azure Monitor, waarbij alle key management operaties worden vastgelegd in audit logs die kunnen worden gebruikt voor compliance doeleinden en security monitoring. Organisaties moeten monitoring en alerting configureren die beheerders waarschuwen wanneer key rotation plaatsvindt, wanneer sleutels verlopen of binnenkort verlopen, wanneer key access problemen optreden, en wanneer ongebruikelijke key management activiteiten worden gedetecteerd. Deze monitoring en alerting kunnen worden geïmplementeerd via Azure Monitor alerts, Azure Logic Apps workflows, of externe SIEM systemen die Azure Key Vault logs integreren voor geavanceerde security monitoring en incident response.

Na het configureren van key management policies, expiration policies, backup procedures en monitoring, is het belangrijk om regelmatig te verifiëren dat de key management configuratie correct blijft functioneren. Dit kan worden gedaan door periodiek testkey rotation procedures uit te voeren, door te verifiëren dat expiration policies correct worden toegepast, en door te controleren dat backup procedures succesvol worden uitgevoerd. Organisaties moeten processen implementeren voor het monitoren van de gezondheid van de key management configuratie, inclusief het controleren van key rotation status, expiration dates en backup success rates. Door deze verificaties regelmatig uit te voeren kunnen organisaties ervoor zorgen dat zij altijd beschikken over effectieve key management procedures die essentieel zijn voor compliance-doeleinden en cryptografische beveiliging.

Monitoring en Verificatie

Gebruik PowerShell-script key-management-configuration.ps1 (functie Invoke-Monitoring) – Controleert key management configuratie status voor alle Key Vaults.

Het monitoren van key management configuratie voor Azure Key Vault vormt een essentieel onderdeel van een robuust cryptografisch beveiligingsbeleid. Organisaties moeten regelmatig verificatie uitvoeren om te waarborgen dat alle Key Vaults correct zijn geconfigureerd met passende key management policies, waarbij de focus ligt op zowel nieuw aangemaakte als bestaande Key Vaults die mogelijk configuratie-aanpassingen vereisen. Effectieve monitoring van key management configuratie vereist een proactieve aanpak waarbij organisaties niet alleen reageren op geïdentificeerde problemen, maar ook preventief controleren of nieuwe Key Vaults voldoen aan de beveiligingsvereisten voordat ze in productie worden genomen. Dit betekent dat monitoring procedures moeten worden geïntegreerd in de volledige levenscyclus van Key Vault beheer, van initiële creatie tot continue operationele verificatie.

De verificatieprocedure begint met het inventariseren van alle Azure Key Vaults binnen de organisatie en het controleren van de key management configuratie voor elke Key Vault. Voor elke Key Vault dient de key management configuratie te worden gecontroleerd via Azure Portal, Azure CLI of PowerShell, waarbij expliciet moet worden geverifieerd of key rotation policies zijn geconfigureerd, of expiration policies zijn ingesteld, en of backup procedures zijn geïmplementeerd. Het inventarisatieproces moet systematisch worden uitgevoerd voor alle Azure-abonnementen en resourcegroepen waar de organisatie toegang toe heeft, waarbij gebruik wordt gemaakt van Azure Resource Graph queries om een compleet overzicht te verkrijgen van alle Key Vaults. Deze inventarisatie moet regelmatig worden herhaald, bij voorkeur wekelijks voor productieomgevingen, om ervoor te zorgen dat nieuwe Key Vaults die zijn aangemaakt tussen verificatiecycli ook worden gecontroleerd.

Geautomatiseerde monitoring scripts gebruiken de Azure Resource Manager API of Azure Key Vault management APIs om programmatisch de key management configuratiestatus te controleren voor alle Key Vaults binnen een abonnement of resourcegroep. Deze scripts kunnen worden geïntegreerd in bestaande monitoring frameworks en compliance tooling, waardoor organisaties continu zicht hebben op de naleving van deze beveiligingsvereiste. Het is aanbevolen om wekelijkse verificaties uit te voeren voor productieomgevingen, waarbij eventuele afwijkingen direct worden geëscaleerd naar beveiligingsteams voor remediatie. Geavanceerde monitoring oplossingen kunnen ook gebruik maken van Azure Policy compliance evaluaties, die automatisch de key management configuratiestatus van alle Key Vaults controleren en rapporten genereren die aangeven welke Key Vaults niet voldoen aan de key management vereisten.

Naast het monitoren van de key management configuratie zelf, moeten organisaties ook aandacht besteden aan de status en beschikbaarheid van de cryptografische sleutels binnen Key Vaults. Monitoring omvat tevens het bijhouden van key lifecycle events, zoals key rotation, expiration en access patterns, zodat beheerders inzicht hebben in wanneer en hoe cryptografische sleutels worden gebruikt. Het monitoren van key lifecycle events is belangrijk omdat ongebruikelijke patterns kunnen wijzen op beveiligingsproblemen of onjuiste configuraties. Organisaties moeten regelmatig evalueren of cryptografische sleutels correct functioneren, of key rotation procedures succesvol worden uitgevoerd, en of er geen key access errors optreden die kunnen leiden tot service onderbrekingen. Deze evaluatie moet worden uitgevoerd in overleg met de eigenaren van de Key Vaults en de toepassingen die gebruik maken van de cryptografische sleutels.

Voor verschillende Azure Key Vault configuraties gelden enigszins afwijkende verificatieprocedures, omdat elke Key Vault specifieke configuratieopties en management interfaces biedt. Beheerders moeten specifieke PowerShell cmdlets of Azure CLI commando's gebruiken die zijn ontworpen voor key management verificatie, waarbij de key rotation policies, expiration policies en backup configuraties worden gecontroleerd via de dedicated management endpoints. Het is essentieel dat monitoring procedures alle ondersteunde Key Vault types adequaat afdekken om volledige dekking te waarborgen binnen de organisatie. Standaard Key Vaults gebruiken bijvoorbeeld een andere configuratieprocedure dan Azure Key Vault Managed HSM, en beide vereisen specifieke kennis en tools voor effectief beheer. Organisaties die gebruik maken van meerdere Key Vault types moeten ervoor zorgen dat hun monitoring scripts en procedures correct zijn geconfigureerd om alle relevante Key Vault types te ondersteunen.

Het implementeren van effectieve monitoring voor key management configuratie vereist ook aandacht voor logging en audit trails. Alle verificatieactiviteiten moeten worden vastgelegd in Azure Monitor logs of externe SIEM systemen, waarbij informatie wordt bijgehouden over wanneer verificaties zijn uitgevoerd, welke Key Vaults zijn gecontroleerd, en welke afwijkingen zijn geïdentificeerd. Deze audit logs zijn niet alleen belangrijk voor compliance doeleinden, maar bieden ook waardevolle informatie voor het analyseren van trends en het identificeren van patronen in configuratiefouten. Organisaties moeten alerting mechanismen implementeren die beheerders waarschuwen wanneer nieuwe Key Vaults worden aangemaakt zonder key management configuratie, wanneer bestaande Key Vaults worden gewijzigd op een manier die de key management configuratie beïnvloedt, of wanneer key lifecycle events plaatsvinden die aandacht vereisen. Deze proactieve alerting zorgt ervoor dat beveiligingsafwijkingen snel worden geïdentificeerd en gecorrigeerd, voordat ze kunnen leiden tot compliance problemen of beveiligingsrisico's.

Compliance en Auditing

De implementatie van key management configuratie voor Azure Key Vault vormt een kritieke component van compliance met meerdere beveiligingskaders die van toepassing zijn op Nederlandse overheidsorganisaties en publieke sector instellingen. Deze beveiligingsmaatregel adresseert specifieke vereisten uit diverse internationale en nationale standaarden die gericht zijn op het beschermen van gevoelige gegevens en het waarborgen van volledige controle over cryptografische materialen gedurende hun volledige levenscyclus.

Binnen het CIS Microsoft Azure Foundations Benchmark framework wordt key management configuratie expliciet aanbevolen voor Key Vaults die gevoelige gegevens bevatten, waarbij de nadruk ligt op het implementeren van passende key lifecycle management procedures en het waarborgen van regelmatige key rotation. CIS Benchmarks benadrukken het belang van key management best practices en het voorkomen van key compromise door het gebruik van automatische key rotation en expiration policies. Deze controle behoort tot Level 1 vereisten voor Key Vaults die gevoelige of geclassificeerde gegevens bevatten, wat betekent dat deze als basisbeveiligingsmaatregel wordt beschouwd voor productieomgevingen met hoge beveiligingsvereisten.

De Baseline Informatiebeveiliging Overheid, beter bekend als BIO, eist via controle 10.01 dat organisaties beschikken over adequate mechanismen voor cryptografische sleutelbeheer en volledige controle over cryptografische materialen gedurende hun volledige levenscyclus. BIO 10.01 legt de nadruk op het waarborgen van controle en beheerbaarheid van beveiligingscomponenten, waarbij key management configuratie een directe bijdrage leveren aan deze doelstellingen door organisaties in staat te stellen om cryptografische sleutels volledig te beheren, inclusief key generation, key rotation en key revocation procedures. Nederlandse overheidsorganisaties moeten aantonen dat zij beschikken over procedures en technische maatregelen die het mogelijk maken om cryptografische sleutels volledig te beheren volgens gedefinieerde lifecycle procedures, waarbij key management configuratie de technische basis vormt voor dergelijke procedures.

ISO 27001:2022 controle A.8.24 behandelt cryptografie en eist dat organisaties passende cryptografische controles implementeren voor de bescherming van informatie, inclusief mechanismen voor het beheren van cryptografische sleutels gedurende hun volledige levenscyclus. Key management configuratie draagt bij aan deze vereiste door te waarborgen dat organisaties volledige controle hebben over cryptografische sleutels en kunnen voldoen aan de ISO 27001 eis voor adequaat key lifecycle management. De controle vereist tevens dat organisaties beschikken over procedures voor key generation, key distribution, key storage, key rotation en key destruction, waarbij key management configuratie de technische basis vormt voor dergelijke procedures door automatische key rotation, expiration policies en backup procedures te bieden.

Voor audit doeleinden moeten organisaties documentatie bijhouden die aantoont dat alle relevante Key Vaults zijn geconfigureerd met passende key management policies, inclusief verificatieresultaten en eventuele afwijkingen die zijn geïdentificeerd en gecorrigeerd. Deze audit evidence dient minimaal zeven jaar te worden bewaard conform algemene archiveringsvereisten voor beveiligingsconfiguraties, waarbij organisaties kunnen gebruik maken van Azure Policy compliance rapporten, Azure Monitor logs of externe compliance tooling om deze documentatie te genereren en te onderhouden. Daarnaast moeten organisaties documentatie bijhouden over key lifecycle management procedures, inclusief key rotation schedules, expiration policies, key backup procedures en key recovery procedures, om aan te tonen dat cryptografische sleutels op een gecontroleerde en gedocumenteerde manier worden beheerd volgens de gedefinieerde key management configuratie.

Remediatie en Herstel

Gebruik PowerShell-script key-management-configuration.ps1 (functie Invoke-Remediation) – Configureert key management policies voor Key Vaults die deze nog niet hebben.

Wanneer monitoring activiteiten aantonen dat een Azure Key Vault geen passende key management configuratie heeft, dienen organisaties onmiddellijk remediatiestappen te ondernemen om deze beveiligingsafwijking te corrigeren. De remediatieprocedure varieert afhankelijk van het type Key Vault en de huidige configuratiestatus, waarbij beheerders rekening moeten houden met mogelijke impact op bestaande workloads en toegankelijkheid van cryptografische sleutels tijdens het configuratieproces. Het is belangrijk om te begrijpen dat remediatie niet alleen bestaat uit het technisch configureren van key management policies, maar ook uit het waarborgen dat de wijziging correct wordt geïmplementeerd zonder negatieve gevolgen voor bestaande systemen en applicaties die afhankelijk zijn van de cryptografische sleutels. Organisaties moeten een gestructureerde aanpak hanteren voor remediatie, waarbij eerst een risicoanalyse wordt uitgevoerd, vervolgens een gedetailleerd remediatieplan wordt opgesteld, en ten slotte de wijziging wordt geïmplementeerd met adequate verificatie en documentatie.

Voor nieuwe Azure Key Vaults die nog geen cryptografische sleutels bevatten, is de remediatie relatief eenvoudig: beheerders kunnen key management policies direct configureren via Azure Portal door naar de Key Vault eigenschappen te navigeren en de key management configuratie aan te passen. Voor Key Vaults kan deze instelling worden gewijzigd via de Azure Portal interface onder de Key Management sectie, waarbij de wijziging direct van kracht wordt zonder dat bestaande sleutels worden beïnvloed. PowerShell gebruikers kunnen service-specifieke cmdlets gebruiken, terwijl Azure CLI gebruikers de bijbehorende opdrachten kunnen uitvoeren. Deze eenvoudige remediatieprocedure is ideaal voor development of test omgevingen waar Key Vaults nog niet in productie gebruik zijn, of voor nieuwe Key Vaults die net zijn aangemaakt maar nog geen productiesleutels bevatten. Het is aanbevolen om key management configuratie direct te configureren bij het aanmaken van nieuwe Key Vaults, zodat deze beveiligingsmaatregel vanaf het begin actief is en geen latere remediatie vereist.

Bestaande Azure Key Vaults die reeds in gebruik zijn met productiesleutels en momenteel geen key management configuratie hebben, vereisen een meer zorgvuldige aanpak voor remediatie. In deze gevallen moeten beheerders eerst verifiëren dat geen kritieke operaties afhankelijk zijn van de huidige key management configuratie, waarna key management policies kunnen worden geconfigureerd zonder onderbreking van services. Het is belangrijk om te begrijpen dat de configuratie van key management policies voor de meeste Key Vaults transparant verloopt en geen downtime vereist, omdat de policies worden toegepast op nieuwe sleutels en bestaande sleutels kunnen blijven functioneren zoals voorheen. Deze impactanalyse moet alle applicaties en services identificeren die gebruik maken van de cryptografische sleutels, de kritiekheid van deze afhankelijkheden beoordelen, en een plan opstellen voor het testen van de key management configuratie voordat deze in productie wordt geactiveerd.

De remediatieprocedure begint met het voorbereiden van de key management configuratie, waarbij beheerders moeten verifiëren dat de Key Vault correct is geconfigureerd met soft-delete en purge protection, en dat de benodigde toegangsrechten beschikbaar zijn voor het configureren van key management policies. Vervolgens moeten beheerders de juiste key management policies configureren, inclusief key rotation policies, expiration policies en backup configuraties. Dit omvat het definiëren van key rotation intervals die bepalen wanneer cryptografische sleutels automatisch worden vervangen, het instellen van expiration policies die ervoor zorgen dat sleutels niet oneindig worden gebruikt, en het configureren van backup procedures die waarborgen dat sleutels kunnen worden hersteld in geval van verlies. Het is aanbevolen om deze configuratie te testen in een niet-productieomgeving voordat deze wordt toegepast op productie Key Vaults, om ervoor te zorgen dat alle configuratiestappen correct zijn uitgevoerd en dat er geen toegangsproblemen optreden.

Na het configureren van de key management policies kunnen beheerders de configuratie activeren op de Key Vault. Voor de meeste Key Vaults kan dit worden gedaan via de Azure Portal door naar de Key Management configuratie te navigeren en de policies te selecteren, waarbij de rotation intervals, expiration dates en backup opties worden geconfigureerd. PowerShell en Azure CLI bieden ook opties voor geautomatiseerde configuratie, wat bijzonder nuttig is voor grootschalige omgevingen met meerdere Key Vaults. Na succesvolle configuratie moeten organisaties verificatieprocedures uitvoeren om te bevestigen dat key management policies correct functioneren, bijvoorbeeld door te verifiëren dat key rotation procedures succesvol worden uitgevoerd, dat expiration policies correct worden toegepast, en dat backup procedures correct werken. Deze verificatieprocedure is essentieel om te waarborgen dat de key management configuratie daadwerkelijk werkt zoals verwacht, en om eventuele problemen te identificeren voordat kritieke sleutels worden beheerd volgens de nieuwe policies.

Het implementeren van effectieve remediatieprocedures vereist ook aandacht voor change management en communicatie met stakeholders. Wanneer key management configuratie wordt geconfigureerd op bestaande Key Vaults die in productie gebruik zijn, moeten organisaties alle betrokken partijen informeren over de wijziging, inclusief applicatie-eigenaren, security teams, en compliance officers. Deze communicatie moet duidelijk maken wat de impact is van de wijziging, welke voordelen het biedt voor beveiliging en compliance, en wat de verwachte impact is op bestaande systemen. Organisaties moeten ook een rollback plan opstellen voor het geval de remediatie onverwachte problemen veroorzaakt, hoewel het belangrijk is om te begrijpen dat de configuratie van key management policies voor de meeste Key Vaults reversibel is door de policies te wijzigen of te verwijderen indien nodig. In plaats daarvan moet het rollback plan zich richten op het herstellen van eventuele problemen die ontstaan door de wijziging, zoals het oplossen van key rotation problemen of het aanpassen van expiration policies.

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 Key Management Configuratie voor Azure Key Vault .DESCRIPTION CIS Azure Foundations Benchmark - Control 8.1 Controleert of Key Vaults zijn geconfigureerd met passende key management policies, inclusief key rotation, expiration policies en lifecycle management. .NOTES Filename: key-management-configuration.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 8.1 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.KeyVault [CmdletBinding()] param( [Parameter(Mandatory = $false)] [switch]$Monitoring, [Parameter(Mandatory = $false)] [switch]$Remediation, [Parameter(Mandatory = $false)] [switch]$Revert, [Parameter(Mandatory = $false)] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $PolicyName = "Key Management Configuratie" Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Connect-RequiredServices { if (-not (Get-AzContext)) { Write-Host "Connecting to Azure..." -ForegroundColor Gray Connect-AzAccount | Out-Null } } function Test-KeyManagementConfiguration { <# .SYNOPSIS Controleert of Key Vaults zijn geconfigureerd met key management policies #> try { $vaults = Get-AzKeyVault -ErrorAction SilentlyContinue $result = @{ TotalVaults = 0 WithKeyRotation = 0 WithExpiration = 0 WithBackup = 0 CompliantVaults = 0 NonCompliantVaults = @() } if ($null -eq $vaults -or $vaults.Count -eq 0) { Write-Host " [INFO] Geen Key Vaults gevonden in het abonnement" -ForegroundColor Yellow return $result } $result.TotalVaults = $vaults.Count foreach ($vault in $vaults) { try { $vaultDetail = Get-AzKeyVault -VaultName $vault.VaultName -ResourceGroupName $vault.ResourceGroupName -ErrorAction SilentlyContinue if ($null -eq $vaultDetail) { $result.NonCompliantVaults += @{ Name = $vault.VaultName ResourceGroup = $vault.ResourceGroupName Reason = "Kan Key Vault details niet ophalen" } continue } $isCompliant = $true $reasons = @() # Controleer op keys met rotation policies try { $keys = Get-AzKeyVaultKey -VaultName $vault.VaultName -ErrorAction SilentlyContinue $hasRotationPolicy = $false if ($keys) { foreach ($key in $keys) { try { $keyRotationPolicy = Get-AzKeyVaultKeyRotationPolicy -VaultName $vault.VaultName -KeyName $key.Name -ErrorAction SilentlyContinue if ($null -ne $keyRotationPolicy -and $keyRotationPolicy.LifetimeActions.Count -gt 0) { $hasRotationPolicy = $true break } } catch { # Key heeft mogelijk geen rotation policy } } } if ($hasRotationPolicy) { $result.WithKeyRotation++ } else { $isCompliant = $false $reasons += "Geen key rotation policies geconfigureerd" } } catch { # Geen keys gevonden of geen toegang } # Controleer op keys met expiration dates try { $keys = Get-AzKeyVaultKey -VaultName $vault.VaultName -ErrorAction SilentlyContinue $hasExpiration = $false if ($keys) { foreach ($key in $keys) { if ($key.Attributes.Expires) { $hasExpiration = $true break } } } if ($hasExpiration) { $result.WithExpiration++ } else { if (-not $isCompliant) { $reasons += "Geen expiration dates geconfigureerd voor keys" } } } catch { # Geen keys gevonden of geen toegang } # Controleer soft-delete en purge protection (indicatoren voor backup mogelijkheden) if ($vaultDetail.EnableSoftDelete -and $vaultDetail.EnablePurgeProtection) { $result.WithBackup++ } else { if (-not $isCompliant) { $reasons += "Soft-delete of purge protection niet ingeschakeld" } } if ($isCompliant) { $result.CompliantVaults++ } else { $result.NonCompliantVaults += @{ Name = $vault.VaultName ResourceGroup = $vault.ResourceGroupName Reason = ($reasons -join "; ") } } } catch { $result.NonCompliantVaults += @{ Name = $vault.VaultName ResourceGroup = $vault.ResourceGroupName Reason = "Fout bij verificatie: $($_.Exception.Message)" } } } return $result } catch { Write-Host " [ERROR] Fout bij verificatie: $_" -ForegroundColor Red throw } } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige key management configuratie status #> try { Connect-RequiredServices Write-Host "Verificeren van key management configuratie..." -ForegroundColor Gray $result = Test-KeyManagementConfiguration Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Resultaten" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Totaal Key Vaults: $($result.TotalVaults)" -ForegroundColor White if ($result.TotalVaults -eq 0) { Write-Host " [INFO] Geen Key Vaults gevonden om te controleren" -ForegroundColor Yellow Write-Host "`n[OK] Geen verificatie nodig" -ForegroundColor Green exit 0 } Write-Host "Key Vaults met rotation policies: $($result.WithKeyRotation)" -ForegroundColor $(if ($result.WithKeyRotation -gt 0) { 'Green' } else { 'Yellow' }) Write-Host "Key Vaults met expiration dates: $($result.WithExpiration)" -ForegroundColor $(if ($result.WithExpiration -gt 0) { 'Green' } else { 'Yellow' }) Write-Host "Key Vaults met backup mogelijkheden: $($result.WithBackup)" -ForegroundColor $(if ($result.WithBackup -gt 0) { 'Green' } else { 'Yellow' }) Write-Host "Compliant Key Vaults: $($result.CompliantVaults)/$($result.TotalVaults)" -ForegroundColor $(if ($result.CompliantVaults -eq $result.TotalVaults) { 'Green' } else { 'Yellow' }) if ($result.NonCompliantVaults.Count -gt 0) { Write-Host "`nNiet-compliant Key Vaults:" -ForegroundColor Red foreach ($vault in $result.NonCompliantVaults) { Write-Host " - $($vault.Name) ($($vault.ResourceGroup))" -ForegroundColor Red Write-Host " Reden: $($vault.Reason)" -ForegroundColor Gray } } if ($result.CompliantVaults -eq $result.TotalVaults -and $result.TotalVaults -gt 0) { Write-Host "`n[OK] COMPLIANT" -ForegroundColor Green Write-Host "Alle Key Vaults zijn geconfigureerd met passende key management policies" -ForegroundColor Cyan exit 0 } elseif ($result.TotalVaults -gt 0) { Write-Host "`n[WARNING] GEDEELTELIJK COMPLIANT" -ForegroundColor Yellow Write-Host "Sommige Key Vaults missen key management configuratie" -ForegroundColor Yellow Write-Host "Gebruik -Remediation om de configuratie toe te passen" -ForegroundColor Cyan exit 1 } else { Write-Host "`n[OK] Geen verificatie nodig" -ForegroundColor Green exit 0 } } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Remediation { <# .SYNOPSIS Configureert key management policies voor Key Vaults #> try { Connect-RequiredServices Write-Host "Verificeren van huidige status..." -ForegroundColor Gray $result = Test-KeyManagementConfiguration if ($result.TotalVaults -eq 0) { Write-Host " [INFO] Geen Key Vaults gevonden om te configureren" -ForegroundColor Yellow Write-Host "`n[OK] Geen actie nodig" -ForegroundColor Green exit 0 } if ($result.NonCompliantVaults.Count -eq 0) { Write-Host " [OK] Alle Key Vaults zijn al compliant" -ForegroundColor Green Write-Host "`n[OK] Geen remediatie nodig" -ForegroundColor Green exit 0 } Write-Host "`nRemediatie vereist voor $($result.NonCompliantVaults.Count) Key Vault(s)" -ForegroundColor Yellow foreach ($vault in $result.NonCompliantVaults) { Write-Host "`nConfigureren van Key Vault: $($vault.Name)" -ForegroundColor Cyan try { $vaultDetail = Get-AzKeyVault -VaultName $vault.Name -ResourceGroupName $vault.ResourceGroup -ErrorAction Stop # Schakel soft-delete in indien nog niet actief if (-not $vaultDetail.EnableSoftDelete) { if ($WhatIf) { Write-Host " [WHATIF] Zou soft-delete inschakelen voor $($vault.Name)" -ForegroundColor Yellow } else { Write-Host " [INFO] Soft-delete is al ingeschakeld of kan niet worden gewijzigd via PowerShell" -ForegroundColor Gray Write-Host " Configureer soft-delete via Azure Portal: Key Vault → Properties → Soft Delete" -ForegroundColor Gray } } # Schakel purge protection in indien nog niet actief if (-not $vaultDetail.EnablePurgeProtection) { if ($WhatIf) { Write-Host " [WHATIF] Zou purge protection inschakelen voor $($vault.Name)" -ForegroundColor Yellow } else { Write-Host " [INFO] Purge protection kan alleen worden ingeschakeld bij het aanmaken van de Key Vault" -ForegroundColor Gray Write-Host " Voor bestaande Key Vaults: overweeg migratie naar nieuwe Key Vault met purge protection" -ForegroundColor Gray } } # Configureer key rotation policies voor bestaande keys try { $keys = Get-AzKeyVaultKey -VaultName $vault.Name -ErrorAction SilentlyContinue if ($keys) { Write-Host " [INFO] Gevonden $($keys.Count) key(s) in Key Vault" -ForegroundColor Gray Write-Host " Configureer key rotation policies via Azure Portal:" -ForegroundColor Gray Write-Host " Key Vault → Keys → [Key Name] → Rotation policy" -ForegroundColor Gray Write-Host " Of gebruik: Set-AzKeyVaultKeyRotationPolicy" -ForegroundColor Gray } else { Write-Host " [INFO] Geen keys gevonden in Key Vault" -ForegroundColor Gray } } catch { Write-Host " [WARNING] Kan keys niet ophalen: $($_.Exception.Message)" -ForegroundColor Yellow } Write-Host " [OK] Key Vault $($vault.Name) gecontroleerd" -ForegroundColor Green } catch { Write-Host " [ERROR] Fout bij configuratie van $($vault.Name): $($_.Exception.Message)" -ForegroundColor Red } } Write-Host "`n[OK] Remediatie voltooid" -ForegroundColor Green Write-Host "`nBelangrijke opmerkingen:" -ForegroundColor Cyan Write-Host " • Key rotation policies moeten per key worden geconfigureerd" -ForegroundColor Gray Write-Host " • Expiration dates kunnen worden ingesteld bij key creation of via Update-AzKeyVaultKey" -ForegroundColor Gray Write-Host " • Soft-delete en purge protection zijn Key Vault-level instellingen" -ForegroundColor Gray Write-Host " • Gebruik Azure Portal voor gedetailleerde key management configuratie" -ForegroundColor Gray exit 0 } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Revert { <# .SYNOPSIS Verwijdert key management configuratie (NIET AANBEVOLEN!) #> try { Write-Host "WARNING: Het verwijderen van key management configuratie is een BEVEILIGINGSRISICO!" -ForegroundColor Red Write-Host "Dit wordt niet aanbevolen en kan leiden tot compliance problemen.`n" -ForegroundColor Red Write-Host "Als u doorgaat, worden key rotation policies verwijderd." -ForegroundColor Yellow Write-Host "Dit script biedt geen automatische revert functionaliteit." -ForegroundColor Yellow Write-Host "Gebruik Azure Portal of PowerShell om key management policies handmatig te verwijderen." -ForegroundColor Yellow exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Usage:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer key management configuratie status" -ForegroundColor Gray Write-Host " -Remediation Configureer key management policies" -ForegroundColor Gray Write-Host " -Revert Verwijder key management configuratie (NIET AANBEVOLEN!)" -ForegroundColor Red Write-Host " -WhatIf Toon wat er zou gebeuren zonder wijzigingen door te voeren" -ForegroundColor Gray } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Gebrek aan key lifecycle management - Cryptografische sleutels worden niet geroteerd, verlopen niet en hebben geen backup procedures. Compliance: CIS 8.1, BIO 10.01, ISO 27001 A.8.24. Het risico is hoog - key compromise en compliance verlies.

Management Samenvatting

Key Management Configuratie: Configureer Azure Key Vault met passende key management policies inclusief automatische key rotation, expiration policies en backup procedures. Configuratie: Key Vault → Key Management → Configureer rotation, expiration en backup policies. Gratis (Key Vault operaties kunnen kosten genereren). Verificatie: 1-2 uur. Verplicht voor gevoelige gegevens - CIS 8.1, BIO 10.01.