Toegangssleutels Periodiek Geregenereerd

💼 Management Samenvatting

Deze beveiligingscontrole waarborgt de correcte configuratie van toegangssleutels voor Azure Storage-accounts en beschermt tegen beveiligingsrisico's door periodieke rotatie van authenticatie-referenties.

Aanbeveling
IMPLEMENTEER KWARTALGEBONDEN SLEUTELROTATIE
Risico zonder
High
Risk Score
7/10
Implementatie
5u (tech: 3u)
Van toepassing op:
Azure opslag

Langlevende toegangssleutels vormen een aanzienlijk beveiligingsrisico voor Azure Storage-accounts. Wanneer toegangssleutels gedurende lange perioden onveranderd blijven, wordt het compromitteringsvenster drastisch verlengd. Als een toegangssleutel wordt gelekt, gestolen of gecompromitteerd, blijft deze onbeperkt geldig totdat deze handmatig wordt gewijzigd. Dit betekent dat aanvallers onbeperkt toegang kunnen behouden tot gevoelige opslagaccounts, wat kan leiden tot ongeautoriseerde gegevenstoegang, datalekken en gegevensexfiltratie. Periodieke rotatie van toegangssleutels beperkt dit risico door de geldigheidsduur van gecompromitteerde sleutels te verkorten. Bovendien vormt periodieke rotatie een essentiële vereiste voor compliance met talrijke beveiligingsstandaarden, waaronder de CIS Azure Foundations Benchmark, BIO-normen en ISO 27001. Deze maatregel voorkomt bekende aanvalsvectoren door het afdwingen van beveiligingsbest practices en draagt bij aan een verdediging in diepte-strategie.

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

Implementatie

Azure Storage-toegangssleutels moeten periodiek worden geregenereerd, bij voorkeur elke 90 dagen of minimaal vier keer per jaar. Deze rotatie omvat het genereren van nieuwe sleutels voor zowel de primaire als secundaire sleutel van het opslagaccount, waarbij de nieuwe sleutels worden uitgerold naar alle toepassingen en diensten die afhankelijk zijn van deze referenties voordat de oude sleutels worden gedeactiveerd. Waar mogelijk moeten organisaties overwegen om Shared Access Signature-tokens (SAS-tokens) of beheerde identiteiten te gebruiken in plaats van toegangssleutels, aangezien deze alternatieven meer granulair toegangsbeheer bieden en het risico op compromittering verminderen. Beheerde identiteiten elimineren de noodzaak voor geheime opslag volledig, terwijl SAS-tokens kunnen worden geconfigureerd met beperkte geldigheidsperioden en specifieke toegangsrechten. Automatisering van het rotatieproces via Azure Automation of andere orchestratie-tools is sterk aanbevolen om consistentie te garanderen en menselijke fouten te voorkomen.

Vereisten

Monitoring

Gebruik PowerShell-script access-keys-periodically-regenerated.ps1 (functie Invoke-Monitoring) – Controleren.

Compliance en Toetsing

Remediatie

Gebruik PowerShell-script access-keys-periodically-regenerated.ps1 (functie Invoke-Remediation) – Herstellen.

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 Access Keys Periodically Regenerated .DESCRIPTION CIS Azure Foundations Benchmark - Control 3.1 Controleert of storage access keys periodiek worden geregenereerd. .NOTES Filename: access-keys-periodically-regenerated.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 3.1 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Storage [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "Access Keys Periodically Regenerated" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } try { Connect-RequiredServices if ($Monitoring) { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "⚠️ Manual verification required" -ForegroundColor Yellow Write-Host "Controleer key rotation logs en implementeer:" -ForegroundColor Gray Write-Host " - 90-daagse key rotation policy" -ForegroundColor Gray Write-Host " - Automatische key rotation met Key Vault" -ForegroundColor Gray Write-Host " - Monitoring van key age" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Access key rotation" -ForegroundColor Yellow } } catch { Write-Error $_; exit 1 } # ================================================================================ # Standaard Invoke-* Functions (Auto-generated) # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() $Monitoring = $true try { Connect-RequiredServices if ($Monitoring) { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "⚠️ Manual verification required" -ForegroundColor Yellow Write-Host "Controleer key rotation logs en implementeer:" -ForegroundColor Gray Write-Host " - 90-daagse key rotation policy" -ForegroundColor Gray Write-Host " - Automatische key rotation met Key Vault" -ForegroundColor Gray Write-Host " - Monitoring van key age" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Access key rotation" -ForegroundColor Yellow } } 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
High: Langlevende toegangssleutels voor opslagaccounts creëren een aanzienlijk beveiligingsrisico door een verlengd compromitteringsvenster. Wanneer een toegangssleutel wordt gelekt, gestolen of gecompromitteerd, blijft deze onbeperkt geldig totdat deze handmatig wordt gewijzigd. Dit betekent dat aanvallers onbeperkt toegang kunnen behouden tot gevoelige opslagaccounts, wat kan leiden tot ongeautoriseerde gegevenstoegang, datalekken en gegevensexfiltratie. Zonder periodieke rotatie van toegangssleutels voldoen organisaties niet aan compliance-vereisten voor CIS 3.3, BIO 9.04 en ISO 27001 A.5.17. Het risico is hoog vanwege de verlengde geldigheidsduur van authenticatiereferenties. Voor productieomgevingen waar opslagaccounts kritieke of gevoelige gegevens bevatten, kan het falen om toegangssleutels periodiek te roteren leiden tot ernstige beveiligingsincidenten, compliance-overtredingen en potentiële financiële en reputatieschade.

Management Samenvatting

Toegangssleutels periodiek geregenereerd: Roteer toegangssleutels voor opslagaccounts elke 90 dagen of minimaal elk kwartaal. Automatiseer het rotatieproces via Azure Automation runbooks om consistentie te garanderen en het compromitteringsvenster te beperken. Activatie vereist het configureren van Azure Automation, het ontwikkelen van rotatie-runbooks, en het instellen van geplande triggers. Deze maatregel is kosteloos in termen van Azure-services maar vereist ontwikkeltijd voor automatisering. Verplicht voor compliance met CIS 3.3, BIO 9.04 en ISO 27001 A.5.17. De implementatietijd bedraagt ongeveer drie tot vijf uur voor de initiële setup, gevolgd door periodieke rotatie-activiteiten elk kwartaal. Deze maatregel vermindert het risico op langdurige blootstelling van toegangssleutels aanzienlijk en vormt een essentieel onderdeel van een verdediging in diepte-strategie voor opslagbeveiliging.