Opslag Logging Ingeschakeld

💼 Management Samenvatting

Deze beveiligingsmaatregel waarborgt de correcte configuratie van diagnostische logging voor Azure Storage en beschermt organisaties tegen beveiligingsrisico's door volledige audit trails te creëren.

Aanbeveling
IMPLEMENTEER STORAGE LOGGING
Risico zonder
High
Risk Score
8/10
Implementatie
2u (tech: 1u)
Van toepassing op:
Azure opslag

Deze instelling is essentieel voor het handhaven van een veilige omgeving en voorkomt bekende aanvalsvectoren door het afdwingen van beveiligingsbest practices. Zonder uitgebreide logging kunnen organisaties geen inzicht krijgen in wie toegang heeft tot gevoelige data, wanneer data is gewijzigd of verwijderd, en welke activiteiten mogelijk verdacht zijn. Dit vormt een kritieke beveiligingsgap die kan leiden tot onopgemerkte datalekken, ongeautoriseerde toegang en compliance-schendingen.

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

Implementatie

Schakel diagnostische logging in voor alle Azure Storage services en stream deze logs naar Log Analytics. Dit registreert alle lees-, schrijf- en verwijderoperaties voor blob storage, bestandsshares, wachtrijen en tabellen, waardoor organisaties een complete audit trail verkrijgen van alle storage-activiteiten binnen hun Azure-omgeving.

Vereisten

Voor het implementeren van uitgebreide logging voor Azure Storage zijn verschillende technische en organisatorische vereisten van toepassing. Deze vereisten vormen de basis voor een succesvolle implementatie en zorgen ervoor dat organisaties volledige zichtbaarheid krijgen in alle storage-activiteiten binnen hun Azure-omgeving.

De primaire technische vereiste is de aanwezigheid van een Azure Storage Account. Dit storage account kan verschillende storage services bevatten, waaronder blob storage voor objectopslag, file shares voor SMB-gebaseerde bestandsopslag, queue storage voor berichtenwachtrijen en table storage voor NoSQL-datastructuren. Elk van deze services kan individueel worden geconfigureerd voor logging, maar de aanbevolen aanpak is om logging in te schakelen voor alle beschikbare services om een complete audit trail te verkrijgen.

Een tweede essentiële vereiste is de beschikbaarheid van een Log Analytics workspace binnen Azure Monitor. Deze workspace fungeert als centrale verzamelplaats voor alle diagnostische logs en maakt geavanceerde query's, analyses en waarschuwingen mogelijk. Organisaties moeten ervoor zorgen dat de Log Analytics workspace zich in dezelfde Azure-regio bevindt als het storage account, of ten minste in een regio met lage latentie, om optimale prestaties en kostenbeheersing te garanderen.

Vanuit een toegangsbeheerperspectief vereist de implementatie van storage logging specifieke Azure RBAC-machtigingen. De gebruiker of service principal die de diagnostische instellingen configureert, moet beschikken over de rol 'Storage Account Contributor' of 'Contributor' op het storage account niveau, en over de rol 'Log Analytics Contributor' op de Log Analytics workspace. Daarnaast is de rol 'Monitoring Contributor' vereist voor het configureren van diagnostische instellingen in Azure Monitor.

Organisatorische vereisten omvatten het definiëren van een retentiebeleid voor logs. Hoewel Azure Log Analytics standaard logs 30 dagen bewaart, moeten organisaties overwegen om een langere retentieperiode te configureren voor compliance-doeleinden. Voor Nederlandse overheidsorganisaties die vallen onder de BIO-normen, kan een retentieperiode van 7 jaar vereist zijn voor audit trails. Deze langere retentie kan worden gerealiseerd door gebruik te maken van Azure Data Export of door logs te archiveren naar Azure Blob Storage met een lifecycle management policy.

Kostenoverwegingen vormen een belangrijke praktische vereiste. Het inschakelen van diagnostische logging genereert kosten voor binnenkomende data naar Log Analytics, evenals kosten voor gegevensretentie. Organisaties moeten een schatting maken van het verwachte logvolume op basis van hun storage-gebruik en de bijbehorende kosten berekenen. Voor een gemiddeld storage account met matige activiteit bedragen de maandelijkse kosten voor logging doorgaans tussen de 5 en 20 euro, afhankelijk van het aantal operaties en de geconfigureerde retentieperiode.

Ten slotte vereist een effectieve logging-implementatie dat organisaties procedures ontwikkelen voor het monitoren, analyseren en reageren op loggebeurtenissen. Dit omvat het opzetten van waarschuwingsregels voor verdachte activiteiten, het trainen van beveiligingsteams in het gebruik van KQL-queries voor loganalyse, en het definiëren van incident response procedures voor verschillende typen beveiligingsgebeurtenissen die kunnen worden gedetecteerd via de logs.

Monitoring

Gebruik PowerShell-script storage-logging-enabled.ps1 (functie Invoke-Monitoring) – Controleren.

Het monitoren van storage logging configuratie is een kritieke activiteit die ervoor zorgt dat diagnostische instellingen correct zijn geconfigureerd en actief blijven. Organisaties moeten regelmatig controleren of alle storage accounts zijn geconfigureerd met diagnostische logging en of deze logs daadwerkelijk worden verzameld in Log Analytics.

De primaire monitoringactiviteit bestaat uit het verifiëren van diagnostische instellingen op elk storage account. Dit kan worden gedaan via de Azure Portal door te navigeren naar het storage account, de sectie 'Monitoring' te selecteren en vervolgens 'Diagnostic settings' te openen. Hier moeten organisaties controleren of er een diagnostische instelling bestaat die logs doorstuurt naar een Log Analytics workspace, en of deze instelling is geconfigureerd voor alle relevante storage services (blob, file, queue, table).

Naast handmatige controles via de portal kunnen organisaties geautomatiseerde monitoring implementeren met behulp van PowerShell-scripts. Het bijbehorende monitoring script controleert systematisch alle storage accounts binnen een abonnement of resource group en verifieert of diagnostische instellingen correct zijn geconfigureerd. Het script genereert een rapport met alle storage accounts die niet voldoen aan de logging-vereisten, waardoor organisaties proactief kunnen ingrijpen voordat er compliance-problemen ontstaan.

Een tweede belangrijke monitoringactiviteit is het verifiëren dat logs daadwerkelijk worden ontvangen in Log Analytics. Zelfs wanneer diagnostische instellingen correct zijn geconfigureerd, kunnen er problemen optreden die voorkomen dat logs worden verzameld, zoals netwerkproblemen, quota-overschrijdingen of configuratiefouten. Organisaties moeten daarom regelmatig KQL-queries uitvoeren op de Log Analytics workspace om te controleren of er recente logvermeldingen zijn voor hun storage accounts.

Voor continue monitoring kunnen organisaties Azure Monitor waarschuwingen configureren die worden geactiveerd wanneer er gedurende een bepaalde periode geen logs worden ontvangen van een storage account. Deze waarschuwingen zorgen ervoor dat problemen met logging-configuratie snel worden gedetecteerd en opgelost. Daarnaast kunnen waarschuwingen worden geconfigureerd voor specifieke beveiligingsgebeurtenissen die worden gedetecteerd in de logs, zoals ongeautoriseerde toegangspogingen, ongebruikelijke gegevensexport activiteiten of verdachte verwijderoperaties.

Het monitoren van storage logging omvat ook het analyseren van logvolumes en kosten. Organisaties moeten regelmatig controleren hoeveel data wordt gegenereerd door logging en of dit binnen verwachte parameters valt. Onverwachte toename in logvolume kan duiden op verhoogde activiteit, mogelijke beveiligingsincidenten, of configuratiefouten die leiden tot overmatige logging. Door deze trends te monitoren kunnen organisaties zowel beveiligings- als kostenrisico's beheersen.

Ten slotte moeten organisaties periodieke audits uitvoeren om te verifiëren dat de logging-configuratie voldoet aan compliance-vereisten. Dit omvat het controleren van retentie-instellingen, het verifiëren dat alle vereiste storage services zijn geconfigureerd voor logging, en het documenteren van de monitoring-activiteiten voor audit-doeleinden. Deze audits moeten worden uitgevoerd volgens een vastgesteld schema, bijvoorbeeld maandelijks of kwartaal, afhankelijk van de organisatorische vereisten en compliance-standaarden.

Compliance en Auditing

Storage logging is een fundamentele vereiste voor compliance met verschillende cybersecurity- en privacy-standaarden die van toepassing zijn op Nederlandse overheidsorganisaties. Het implementeren van uitgebreide logging voor Azure Storage helpt organisaties te voldoen aan specifieke controles binnen deze frameworks en biedt de audit trails die nodig zijn voor compliance-verificatie.

De CIS Microsoft Azure Foundations Benchmark controle 3.11 vereist expliciet dat diagnostische logging is ingeschakeld voor alle Azure Storage accounts. Deze controle valt onder het niveau 2 (L2) van de CIS-benchmark, wat betekent dat het wordt aanbevolen voor organisaties met verhoogde beveiligingsvereisten. De controle specificeert dat logging moet worden geconfigureerd voor alle storage services en dat logs moeten worden verzameld in een centrale logging-oplossing zoals Log Analytics. Organisaties die deze controle niet implementeren, lopen het risico dat ze niet voldoen aan beste praktijken voor cloudbeveiliging en kunnen problemen ondervinden tijdens beveiligingsaudits.

Voor Nederlandse overheidsorganisaties is de Baseline Informatiebeveiliging Overheid (BIO) van bijzonder belang. BIO controle 12.04 vereist dat organisaties logging en monitoring implementeren voor alle kritieke systemen, inclusief cloud storage-oplossingen. Deze controle maakt deel uit van het beveiligingsdomein 'Logging en monitoring' en stelt dat organisaties moeten kunnen aantonen wie, wat, wanneer en waarom heeft gedaan binnen hun IT-systemen. Storage logging voorziet in deze vereiste door een complete audit trail te creëren van alle storage-operaties, inclusief lees-, schrijf- en verwijder-activiteiten.

De ISO 27001:2022 standaard bevat in controle A.8.15 specifieke vereisten voor logging. Deze controle, getiteld 'Logging', vereist dat organisaties logging-mechanismen implementeren die voldoende informatie vastleggen om beveiligingsincidenten te kunnen detecteren, analyseren en onderzoeken. Voor Azure Storage betekent dit dat logging moet worden geconfigureerd om alle relevante gebeurtenissen vast te leggen, inclusief succesvolle en mislukte toegangspogingen, datamodificaties en configuratiewijzigingen. De ISO-standaard benadrukt ook het belang van log-integriteit en bescherming tegen ongeautoriseerde wijzigingen, wat kan worden gerealiseerd door logs te verzamelen in een beveiligde Log Analytics workspace met geconfigureerde retentie en toegangscontroles.

Naast deze specifieke controles draagt storage logging bij aan compliance met de Algemene Verordening Gegevensbescherming (AVG). Artikel 32 van de AVG vereist dat organisaties passende technische en organisatorische maatregelen treffen om persoonsgegevens te beveiligen, en logging vormt een essentieel onderdeel van deze maatregelen. Wanneer Azure Storage wordt gebruikt voor het opslaan van persoonsgegevens, biedt logging de mogelijkheid om te verifiëren wie toegang heeft gehad tot deze gegevens, wanneer deze toegang heeft plaatsgevonden, en of er ongeautoriseerde toegang heeft plaatsgevonden. Dit is met name relevant voor het recht op inzage (artikel 15 AVG) en het recht op informatie bij datalekken (artikel 33 AVG).

Voor audit-doeleinden moeten organisaties kunnen aantonen dat storage logging correct is geconfigureerd en actief is. Dit vereist documentatie van de configuratie, regelmatige verificatie dat logs worden verzameld, en procedures voor het analyseren en archiveren van logs volgens de vereiste retentieperiodes. Nederlandse overheidsorganisaties moeten er rekening mee houden dat audit trails voor kritieke systemen mogelijk 7 jaar bewaard moeten blijven, wat specifieke configuratie vereist voor log retention en archivering.

Het niet implementeren van storage logging kan leiden tot significante compliance-risico's. Zonder logging kunnen organisaties niet voldoen aan de audit-vereisten van verschillende frameworks, kunnen ze niet adequaat reageren op beveiligingsincidenten omdat er geen forensische data beschikbaar is, en lopen ze het risico op boetes en reputatieschade bij datalekken waarbij niet kan worden aangetoond welke maatregelen zijn genomen om gegevens te beschermen. Daarom moet storage logging worden beschouwd als een kritieke compliance-vereiste, niet als een optionele beveiligingsmaatregel.

Remediatie

Gebruik PowerShell-script storage-logging-enabled.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer storage logging niet is geconfigureerd of niet correct functioneert, moeten organisaties onmiddellijk actie ondernemen om deze beveiligingsgap te dichten. De remediatieprocedure omvat het configureren van diagnostische instellingen voor alle storage accounts en het verifiëren dat logs correct worden verzameld in Log Analytics.

De primaire remediatiestap bestaat uit het inschakelen van diagnostische logging via de Azure Portal of via geautomatiseerde scripts. Via de portal kunnen beheerders navigeren naar elk storage account, de sectie 'Monitoring' selecteren, en vervolgens 'Diagnostic settings' openen. Hier kunnen ze een nieuwe diagnostische instelling creëren die logs doorstuurt naar een Log Analytics workspace. Het is belangrijk om alle beschikbare log categorieën te selecteren, waaronder 'StorageRead', 'StorageWrite' en 'StorageDelete', om een complete audit trail te verkrijgen.

Voor organisaties met meerdere storage accounts biedt het gebruik van geautomatiseerde remediatie-scripts significante voordelen. Het bijbehorende PowerShell-script kan worden uitgevoerd om alle storage accounts binnen een abonnement of resource group te scannen en automatisch diagnostische instellingen te configureren voor accounts die deze nog niet hebben. Dit script zorgt voor consistentie in de configuratie en reduceert de kans op menselijke fouten bij handmatige configuratie.

Na het configureren van diagnostische instellingen moeten organisaties verifiëren dat logs daadwerkelijk worden verzameld. Dit kan worden gedaan door te wachten op nieuwe storage-operaties en vervolgens te controleren of deze operaties verschijnen in Log Analytics. Organisaties kunnen KQL-queries gebruiken om te verifiëren dat logs worden ontvangen, bijvoorbeeld door te zoeken naar recente vermeldingen in de StorageBlobLogs, StorageFileLogs, StorageQueueLogs of StorageTableLogs tabellen, afhankelijk van welke storage services zijn geconfigureerd.

Een belangrijke overweging bij remediatie is de configuratie van log retention. Standaard bewaart Azure Log Analytics logs 30 dagen, maar voor compliance-doeleinden kunnen langere retentieperiodes vereist zijn. Organisaties moeten daarom overwegen om log retention te configureren volgens hun compliance-vereisten, of om logs te archiveren naar Azure Blob Storage met een lifecycle management policy voor langetermijnopslag. Dit is met name relevant voor Nederlandse overheidsorganisaties die mogelijk 7 jaar retentie vereisen voor audit trails.

Na het voltooien van de remediatie moeten organisaties documenteren welke storage accounts zijn geconfigureerd, wanneer de configuratie heeft plaatsgevonden, en welke Log Analytics workspace wordt gebruikt voor log-verzameling. Deze documentatie is essentieel voor audit-doeleinden en helpt bij toekomstige verificaties. Daarnaast moeten organisaties overwegen om monitoring alerts te configureren die waarschuwen wanneer diagnostische instellingen worden gewijzigd of verwijderd, om te voorkomen dat de logging-configuratie in de toekomst onbedoeld wordt uitgeschakeld.

Voor storage accounts die al in productie zijn en mogelijk al enige tijd zonder logging hebben gefunctioneerd, moeten organisaties zich realiseren dat er een gap bestaat in de audit trail voor de periode vóór de remediatie. Hoewel deze gap niet kan worden opgevuld, is het belangrijk om deze te documenteren en te overwegen bij beveiligingsbeoordelingen en incidentonderzoeken. Organisaties moeten ook overwegen om extra monitoring in te stellen voor de eerste periode na remediatie om te verifiëren dat de logging correct functioneert en om eventuele configuratieproblemen snel te kunnen identificeren en oplossen.

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 Storage Logging Enabled .DESCRIPTION CIS Azure Foundations Benchmark - Control 3.28 Controleert of storage logging is ingeschakeld. .NOTES Filename: storage-logging-enabled.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 3.28 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Storage [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "Storage Logging Enabled" 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 storage diagnostics voor:" -ForegroundColor Gray Write-Host " - Blob service logging" -ForegroundColor Gray Write-Host " - Queue service logging" -ForegroundColor Gray Write-Host " - Table service logging" -ForegroundColor Gray Write-Host " - Metrics enabled" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Storage logging" -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 storage diagnostics voor:" -ForegroundColor Gray Write-Host " - Blob service logging" -ForegroundColor Gray Write-Host " - Queue service logging" -ForegroundColor Gray Write-Host " - Table service logging" -ForegroundColor Gray Write-Host " - Metrics enabled" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Storage logging" -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: Zonder logging zijn organisaties blind voor data-exfiltratie, ongeautoriseerde toegang en datalekken blijven onopgemerkt. Compliance-vereisten voor CIS 3.11 en BIO 12.04 worden niet nageleefd. Het risico is HOOG vanwege het ontbreken van een audit trail die essentieel is voor beveiligingsmonitoring, incident response en compliance-verificatie.

Management Samenvatting

Storage Logging: Schakel diagnostische logging in voor alle storage services (blob, file, queue, table) en stream deze naar Log Analytics. Logs bevatten alle lees-, schrijf- en verwijderoperaties. Configureer minimaal 365 dagen retentie, bij voorkeur 7 jaar voor compliance. Activatie via Storage Account → Diagnostic settings → Alle services inschakelen. Kosten: €5-20 per account per maand. Verplicht volgens CIS 3.11, BIO 12.04 en ISO 27001:2022 A.8.15. Implementatietijd: 1-2 uur. Essentiële audit trail voor storage-activiteiten.