Unified Monitoring In Multi-Cloud Omgevingen: Geconsolideerde Observability Across Cloud Platforms

💼 Management Samenvatting

Unified monitoring in multi-cloud omgevingen vormt de fundamentele basis voor geconsolideerde observability en security monitoring wanneer organisaties gebruik maken van meerdere cloudproviders zoals Azure, AWS en Google Cloud Platform. Zonder unified monitoring ontstaat een gefragmenteerd monitoringlandschap waarin beveiligingsincidenten, performance-problemen en compliance-afwijkingen niet tijdig worden gedetecteerd omdat monitoring-tools per cloudplatform worden beheerd zonder centrale consolidatie, waardoor organisaties blind blijven voor correlaties tussen gebeurtenissen in verschillende cloudomgevingen en niet kunnen voldoen aan compliance-vereisten die uniforme monitoring vereisen.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
200u (tech: 120u)
Van toepassing op:
Azure
AWS
Google Cloud Platform
Hybride omgevingen
Multi-cloud strategieën

Nederlandse overheidsorganisaties maken steeds vaker gebruik van multi-cloud strategieën om vendor lock-in te voorkomen, kosten te optimaliseren en gebruik te maken van best-of-breed services van verschillende cloudproviders. In de praktijk zien we echter vaak dat organisaties moeite hebben met het implementeren van unified monitoring die inzicht biedt in alle cloudresources ongeacht de provider. Dit leidt tot situaties waarin Azure-resources worden gemonitord via Azure Monitor, terwijl AWS-resources worden gemonitord via AWS CloudWatch zonder centrale consolidatie, of waarin Google Cloud Platform-resources niet worden gemonitord volgens dezelfde standaarden als andere cloudresources. Deze fragmentatie leidt tot beveiligingsrisico's omdat organisaties niet tijdig kunnen detecteren wanneer beveiligingsincidenten zich voordoen in één cloudomgeving maar impact hebben op andere omgevingen, kunnen compliance-vereisten niet uniform worden gemonitord omdat verschillende monitoring-tools verschillende rapportages genereren, en ontbreekt het vermogen om correlaties te leggen tussen gebeurtenissen in verschillende cloudplatformen. Bovendien ontbreekt vaak een centraal overzicht van welke resources waar draaien, hoe deze resources worden gemonitord, en hoe monitoring wordt geconfigureerd across verschillende platformen. Het ontbreken van unified monitoring kan leiden tot niet-naleving van compliance-frameworks zoals de BIO, ISO 27001 en NIS2 die uniforme monitoring vereisen, verhoogde beveiligingsrisico's door late detectie van incidenten, en het onvermogen om richting bestuurders en auditors aan te tonen dat multi-cloud omgevingen adequaat worden gemonitord.

PowerShell Modules Vereist
Primary API: Azure Monitor API, AWS CloudWatch API, GCP Monitoring API
Connection: Connect-AzAccount, AWS CLI, gcloud
Required Modules: Az.Accounts, Az.Monitor, Az.OperationalInsights

Implementatie

Dit artikel beschrijft een gestructureerde aanpak voor het implementeren van unified monitoring in multi-cloud omgevingen binnen de Nederlandse Baseline voor Veilige Cloud. We behandelen architectuurkeuzes zoals de inrichting van een centraal monitoring-platform dat logdata consolideert van Azure Monitor, AWS CloudWatch en Google Cloud Monitoring, configuratie van log forwarding en export die logdata verzamelt van alle cloudplatformen naar een centraal SIEM-systeem zoals Azure Sentinel, implementatie van gestandaardiseerde monitoring-dashboards die inzicht bieden in alle cloudresources ongeacht de provider, afstemming van compliance-frameworks zoals de BIO, ISO 27001 en NIS2 op unified monitoring, en inrichting van geautomatiseerde alerting die uniform werkt across alle cloudplatformen. Daarnaast gaan we in op het beheer van monitoring-configuraties, configuratie van log retention en archivering die voldoet aan compliance-vereisten, implementatie van monitoring automation die automatisch nieuwe resources instrumenteert, en het opzetten van governance-processen die waarborgen dat nieuwe cloudresources automatisch worden gemonitord. Het artikel sluit af met richtlijnen voor monitoring-testing, monitoring-documentatie, en periodieke monitoring-reviews, en toont hoe het bijbehorende PowerShell-script unified-monitoring.ps1 kan worden gebruikt om unified monitoring te monitoren, te valideren en waar nodig te herstellen.

Architectuur en Ontwerpprincipes voor Unified Monitoring

Een effectieve unified monitoring-architectuur begint bij het definiëren van een centraal monitoring-platform dat logdata consolideert van alle cloudplatformen. De kern van dit platform bestaat uit een SIEM-oplossing zoals Azure Sentinel of een externe SIEM die logdata kan ontvangen van Azure Monitor, AWS CloudWatch en Google Cloud Monitoring, gestandaardiseerde log forwarding en export die logdata verzamelt van alle cloudplatformen naar het centrale platform, en gestandaardiseerde monitoring-dashboards die inzicht bieden in alle cloudresources ongeacht de provider. Voor Nederlandse overheidsorganisaties adviseren we een gelaagde monitoring-architectuur waarbij logdata van alle cloudplatformen wordt geconsolideerd in een centraal systeem, waarbij compliance-vereisten zoals de BIO, ISO 27001 en NIS2 uniform worden gemonitord ongeacht de onderliggende cloudprovider, en waarbij monitoring wordt geconfigureerd via een gestandaardiseerd proces dat waarborgt dat nieuwe cloudresources automatisch worden geïnstrumenteerd. Een veelgemaakte fout is om monitoring per cloudplatform afzonderlijk te implementeren zonder coördinatie tussen verschillende teams of zonder centrale consolidatie. Dit leidt tot gefragmenteerde monitoring-implementaties waarin Azure-resources worden gemonitord via Azure Monitor zonder export naar een centraal systeem, terwijl AWS-resources worden gemonitord via AWS CloudWatch zonder integratie met andere monitoring-tools, of waarin Google Cloud Platform-resources niet worden gemonitord volgens dezelfde standaarden als andere cloudresources. Daarom is het verstandig om een centraal monitoring-team op te richten dat verantwoordelijk is voor het definiëren van monitoring-vereisten, het configureren van log forwarding en export voor alle cloudplatformen, en het monitoren van compliance met monitoring-vereisten across alle cloudomgevingen. Dit team moet beschikken over expertise in alle relevante cloudplatformen en moet kunnen werken met SIEM-oplossingen zoals Azure Sentinel, Splunk, of QRadar. Naast een centraal monitoring-platform is het cruciaal om log forwarding en export te implementeren die logdata verzamelt van alle cloudplatformen naar het centrale systeem. Dit betekent dat organisaties moeten investeren in tools en processen die kunnen exporteren van Azure Monitor naar een centraal SIEM, van AWS CloudWatch naar hetzelfde SIEM, en van Google Cloud Monitoring naar hetzelfde SIEM, zodat alle logdata wordt geconsolideerd in één systeem dat inzicht biedt in de totale beveiligingspostuur. Zonder log forwarding blijven organisaties blind voor beveiligingsincidenten die zich voordoen in één cloudomgeving maar impact hebben op andere omgevingen, kunnen compliance-vereisten niet uniform worden gemonitord, en ontbreekt het vermogen om correlaties te leggen tussen gebeurtenissen in verschillende cloudplatformen. Het PowerShell-script unified-monitoring.ps1 sluit hierbij aan door te controleren of log forwarding is geconfigureerd voor alle cloudplatformen, en door te rapporteren welke resources nog niet correct zijn geïnstrumenteerd.

Log Consolidatie en SIEM Integratie

Log consolidatie vormt de technische basis voor unified monitoring door logdata van alle cloudplatformen te verzamelen in een centraal SIEM-systeem. Voor Azure betekent dit het configureren van Diagnostic Settings die logdata exporteren naar Azure Monitor en vervolgens naar Azure Sentinel, voor AWS betekent dit het configureren van CloudWatch Logs export naar een externe SIEM via Kinesis Firehose of directe API-integratie, en voor Google Cloud Platform betekent dit het configureren van Log Export die logdata exporteert naar een externe SIEM via Pub/Sub of directe API-integratie. Het doel is om alle logdata te consolideren in één systeem dat inzicht biedt in de beveiligings- en compliance-status van alle cloudresources, ongeacht de provider, waardoor organisaties kunnen waarborgen dat alle cloudresources uniform worden gemonitord volgens dezelfde standaarden. Een effectieve log consolidatie-implementatie begint bij het selecteren van een geschikt SIEM-platform dat kan integreren met alle relevante cloudplatformen. Voor Nederlandse overheidsorganisaties adviseren we het gebruik van Azure Sentinel als centraal SIEM-platform vanwege de sterke integratie met Azure-resources, de mogelijkheid om logdata te ontvangen van AWS en Google Cloud Platform via API-integraties, en de compliance-capaciteiten die voldoen aan de BIO, ISO 27001 en NIS2-vereisten. Alternatief kunnen organisaties kiezen voor externe SIEM-oplossingen zoals Splunk, QRadar, of ArcSight, mits deze oplossingen kunnen integreren met alle relevante cloudplatformen en voldoen aan compliance-vereisten. Naast het selecteren van een SIEM-platform moeten organisaties log forwarding configureren voor alle cloudplatformen. Voor Azure betekent dit het configureren van Diagnostic Settings die Activity Logs, Resource Logs en Metrics exporteren naar een Log Analytics Workspace, en vervolgens het configureren van Azure Sentinel Data Connectors die logdata importeren in Azure Sentinel. Voor AWS betekent dit het configureren van CloudWatch Logs export naar Kinesis Firehose, die logdata doorstuurt naar een externe SIEM, of het configureren van directe API-integratie tussen AWS en het SIEM-platform. Voor Google Cloud Platform betekent dit het configureren van Log Export die logdata exporteert naar Pub/Sub, die logdata doorstuurt naar een externe SIEM, of het configureren van directe API-integratie tussen GCP en het SIEM-platform. Het PowerShell-script unified-monitoring.ps1 speelt hierbij een cruciale rol door te controleren of log forwarding correct is geconfigureerd voor alle cloudplatformen, door te rapporteren over log consolidatie-status, en door te identificeren welke resources nog niet correct zijn geïnstrumenteerd. Op basis van deze informatie kunnen organisaties gericht bijsturen door ontbrekende log forwarding te configureren, niet-geïnstrumenteerde resources te remediëren, en monitoring-processen te verbeteren.

Gebruik PowerShell-script unified-monitoring.ps1 (functie Invoke-Monitoring) – Controleert unified monitoring compliance voor alle geconfigureerde cloudplatformen en rapporteert over log consolidatie, SIEM-integraties en monitoring-status..

Gestandaardiseerde Monitoring Dashboards en Visualisaties

Gestandaardiseerde monitoring-dashboards vormen een essentieel onderdeel van unified monitoring door inzicht te bieden in de beveiligings- en compliance-status van alle cloudresources, ongeacht de provider. Zonder gestandaardiseerde dashboards kunnen organisaties niet snel identificeren welke resources problemen hebben, waar beveiligingsincidenten plaatsvinden, of hoe compliance wordt nageleefd across verschillende cloudplatformen. Daarom is het cruciaal om te investeren in tools en processen die gestandaardiseerde dashboards kunnen genereren die informatie bevatten over alle cloudresources, ongeacht de provider, zodat organisaties snel kunnen identificeren welke resources aandacht vereisen en waar actie nodig is. Een effectieve dashboard-implementatie begint bij het definiëren van standaard KPI's en metrics die worden gemonitord voor alle cloudresources, ongeacht de provider. Deze KPI's moeten informatie bevatten over beveiligingsstatus, compliance-status, performance-status, en kosten-status, zodat organisaties een compleet beeld hebben van de gezondheid van hun multi-cloud omgeving. Deze KPI's worden vervolgens geïmplementeerd in dashboards die informatie weergeven over Azure-resources, AWS-resources en Google Cloud Platform-resources, waarbij wordt gewaarborgd dat dezelfde metrics worden gebruikt voor alle cloudplatformen zodat vergelijkingen mogelijk zijn. Naast standaard KPI's is het essentieel om real-time alerting te implementeren die waarschuwingen genereert wanneer afwijkingen worden gedetecteerd in welke cloudomgeving dan ook. Deze alerting moet worden geconfigureerd om automatisch te escaleren naar monitoring-teams via email, Microsoft Teams, of ServiceNow integraties wanneer kritieke afwijkingen worden gedetecteerd, en moet informatie bevatten over welke cloudomgeving wordt beïnvloed, welke resources problemen hebben, en welke actie nodig is. Het PowerShell-script unified-monitoring.ps1 ondersteunt dit proces door te controleren of monitoring-dashboards correct zijn geconfigureerd, door te rapporteren over monitoring-status, en door te identificeren welke resources nog niet correct zijn geïnstrumenteerd.

Compliance en Auditing van Unified Monitoring

Unified monitoring is een fundamentele vereiste voor naleving van verschillende cybersecurity frameworks en wet- en regelgeving die van toepassing zijn op Nederlandse overheidsorganisaties. Zonder gestructureerde unified monitoring kunnen organisaties niet voldoen aan de vereisten van internationale standaarden zoals ISO 27001, sectorspecifieke regelgeving zoals de BIO en NIS2 richtlijn, en compliance-frameworks zoals de AVG. Deze frameworks vereisen allemaal dat organisaties kunnen aantonen dat zij passende maatregelen hebben genomen om cloudresources te monitoren en te beveiligen, ongeacht de onderliggende cloudprovider, wat essentieel is voor het waarborgen van beveiliging, transparantie en verantwoording. De Baseline Informatiebeveiliging Overheid (BIO) vereist expliciet dat organisaties passende beveiligingsmaatregelen implementeren voor alle IT-systemen en -diensten, inclusief cloudservices. Voor multi-cloud omgevingen betekent dit dat organisaties moeten kunnen aantonen dat alle cloudresources, ongeacht de provider, worden gemonitord volgens dezelfde beveiligings- en compliance-standaarden. Unified monitoring vormt een directe implementatie van deze vereiste door logdata te consolideren in een centraal systeem, door gestandaardiseerde monitoring-dashboards te implementeren die inzicht bieden in alle cloudresources, en door governance-processen in te richten die waarborgen dat nieuwe cloudresources automatisch worden geïnstrumenteerd. Tijdens BIO-audits moeten organisaties kunnen aantonen dat alle cloudresources worden gemonitord volgens een gestructureerd monitoring-proces, waarbij unified monitoring de audit-evidentie levert die nodig is om aan te tonen dat deze vereisten worden nageleefd. De NIS2-richtlijn, Artikel 21, vereist dat essentiële en belangrijke entiteiten passende beveiligingsmaatregelen implementeren en kunnen aantonen dat deze maatregelen effectief zijn. Voor multi-cloud omgevingen betekent dit dat organisaties moeten kunnen aantonen dat alle cloudresources worden gemonitord op een manier die voldoet aan beveiligingsvereisten en die beveiligingsrisico's minimaliseert, ongeacht de onderliggende cloudprovider. Unified monitoring helpt organisaties om aan deze vereiste te voldoen door logdata te consolideren in een centraal systeem, door gestandaardiseerde monitoring-dashboards te implementeren, en door governance-processen in te richten die waarborgen dat nieuwe cloudresources automatisch worden geïnstrumenteerd. Voor Nederlandse organisaties die onder NIS2 vallen, is het daarom niet alleen aanbevolen maar verplicht om unified monitoring te implementeren en te kunnen aantonen dat alle cloudresources worden gemonitord op een manier die beveiliging waarborgt. ISO 27001:2022 controle A.12.4.1 (Event logging) verplicht organisaties om logging te implementeren voor alle relevante gebeurtenissen, systemen en gebruikers. Voor multi-cloud omgevingen betekent dit dat organisaties moeten kunnen aantonen dat alle cloudresources worden gemonitord volgens een gestructureerd logging-proces dat waarborgt dat beveiligings- en compliance-vereisten uniform worden toegepast ongeacht de onderliggende cloudprovider. Unified monitoring is een directe implementatie van deze controle voor multi-cloud omgevingen. Tijdens ISO 27001 certificering en surveillance audits moeten organisaties kunnen aantonen dat alle cloudresources worden gemonitord volgens een gestructureerd logging-proces, dat logdata wordt geconsolideerd in een centraal systeem, en dat gestandaardiseerde monitoring-dashboards correct functioneren. De audit zal verifiëren dat unified monitoring is gedocumenteerd, dat log forwarding is geconfigureerd voor alle cloudplatformen, en dat monitoring correct wordt uitgevoerd. Unified monitoring met gedocumenteerde processen en geautomatiseerde log consolidatie voldoen aan deze vereiste, maar organisaties moeten kunnen aantonen dat unified monitoring effectief is en wordt nageleefd door alle teams die cloudresources beheren.

Gebruik PowerShell-script unified-monitoring.ps1 (functie Invoke-Remediation) – Ondersteunt verbetering van unified monitoring door niet-geïnstrumenteerde resources te identificeren en – indien gewenst – standaard monitoring-configuraties voor alle cloudplatformen aan te maken..

Implementatie en Automatisering van Unified Monitoring

Het implementeren van unified monitoring vereist een gestructureerde aanpak die begint met het selecteren van een geschikt SIEM-platform, gevolgd door het configureren van log forwarding voor alle cloudplatformen, het implementeren van gestandaardiseerde monitoring-dashboards, en het opzetten van geautomatiseerde alerting. De implementatieprocedure varieert per organisatie en cloudstrategie, maar volgt algemene principes die consistent zijn across alle projecten. Het is belangrijk om te begrijpen dat unified monitoring moet worden geïmplementeerd tijdens de initiële setup van multi-cloud omgevingen, niet achteraf, om te voorkomen dat monitoring wordt toegevoegd aan reeds bestaande cloudresources met inconsistente configuraties. De eerste fase van de implementatie bestaat uit het selecteren van een geschikt SIEM-platform dat kan integreren met alle relevante cloudplatformen. Voor Nederlandse overheidsorganisaties adviseren we het gebruik van Azure Sentinel als centraal SIEM-platform vanwege de sterke integratie met Azure-resources, de mogelijkheid om logdata te ontvangen van AWS en Google Cloud Platform via API-integraties, en de compliance-capaciteiten die voldoen aan de BIO, ISO 27001 en NIS2-vereisten. Alternatief kunnen organisaties kiezen voor externe SIEM-oplossingen zoals Splunk, QRadar, of ArcSight, mits deze oplossingen kunnen integreren met alle relevante cloudplatformen en voldoen aan compliance-vereisten. Na het selecteren van een SIEM-platform moeten organisaties log forwarding configureren voor alle cloudplatformen. Voor Azure betekent dit het configureren van Diagnostic Settings die Activity Logs, Resource Logs en Metrics exporteren naar een Log Analytics Workspace, en vervolgens het configureren van Azure Sentinel Data Connectors die logdata importeren in Azure Sentinel. Voor AWS betekent dit het configureren van CloudWatch Logs export naar Kinesis Firehose, die logdata doorstuurt naar een externe SIEM, of het configureren van directe API-integratie tussen AWS en het SIEM-platform. Voor Google Cloud Platform betekent dit het configureren van Log Export die logdata exporteert naar Pub/Sub, die logdata doorstuurt naar een externe SIEM, of het configureren van directe API-integratie tussen GCP en het SIEM-platform. De totale implementatietijd voor unified monitoring bedraagt ongeveer 120 tot 200 uur voor de meeste organisaties, afhankelijk van de grootte van de multi-cloud omgeving en de complexiteit van bestaande cloudresources. Deze tijd omvat het selecteren van een SIEM-platform, het configureren van log forwarding voor alle cloudplatformen, het implementeren van gestandaardiseerde monitoring-dashboards, het configureren van geautomatiseerde alerting, en het trainen van teams in monitoring-processen. De implementatie kan worden gefaseerd door eerst kritieke cloudresources te instrumenteren, gevolgd door minder kritieke resources, waardoor de impact op operationele activiteiten wordt geminimaliseerd.

Monitoring en Controle van Unified Monitoring

Het continu monitoren van unified monitoring compliance is essentieel voor het waarborgen van geconsolideerde observability en security monitoring across alle cloudplatformen. Een proactieve monitoringstrategie voorkomt dat cloudresources worden geconfigureerd zonder adequate monitoring-controles en zorgt ervoor dat nieuwe cloudresources automatisch worden geïnstrumenteerd volgens de gedefinieerde standaarden. Deze monitoringaanpak omvat meerdere lagen van controle, van geautomatiseerde monitoring-compliance-checks tot periodieke handmatige verificaties, en vormt de basis voor een robuuste observability-postuur across alle cloudplatformen. Automatische monitoring-compliance-checks vormen de eerste verdedigingslinie voor unified monitoring. Door tools te configureren die automatisch controleren of cloudresources correct zijn geïnstrumenteerd en of logdata wordt geconsolideerd in het centrale SIEM-systeem, kunnen organisaties real-time inzicht krijgen in hun monitoring-compliance. Azure Monitor moet worden geconfigureerd om automatisch te controleren of Diagnostic Settings zijn geconfigureerd voor alle relevante resources, AWS CloudWatch moet worden geconfigureerd om automatisch te controleren of log export is geconfigureerd, en Google Cloud Monitoring moet worden geconfigureerd om automatisch te controleren of log export is geconfigureerd. Deze automatische checks moeten worden geïntegreerd in CI/CD-pipelines, waardoor niet-geïnstrumenteerde resources automatisch worden gedetecteerd en geïnstrumenteerd wanneer zij kritieke risico's vormen. Log consolidatie monitoring speelt een cruciale rol in de continue monitoring van unified monitoring across alle cloudplatformen. Door tools te configureren die continu monitoren of logdata correct wordt geconsolideerd in het centrale SIEM-systeem, kunnen organisaties snel identificeren wanneer log forwarding faalt of wanneer nieuwe resources niet worden geïnstrumenteerd. Deze monitoring moet worden geautomatiseerd via tools die waarschuwingen genereren wanneer log consolidatie faalt, en moet worden geïntegreerd in monitoring-dashboards die inzicht bieden in de monitoring-compliance-status across alle cloudplatformen. Organisaties kunnen deze monitoring configureren om automatisch te escaleren naar monitoring-teams via email, Microsoft Teams, of ServiceNow integraties wanneer monitoring-problemen worden gedetecteerd. Periodieke monitoring-controles vormen een essentiële aanvulling op geautomatiseerde monitoring. Deze periodieke verificaties zorgen ervoor dat alle cloudresources worden gecontroleerd op unified monitoring compliance, ongeacht de provider. Tijdens deze controles worden alle cloudresources geïnventariseerd en geverifieerd op monitoring-configuratie, log forwarding status, en monitoring-processen. Dit proces omvat het uitvoeren van een volledige scan met PowerShell-scripts die alle cloudresources in alle geconfigureerde cloudplatformen doorlopen, het genereren van een compliance-rapport dat de monitoring-status per cloudplatform documenteert, en het identificeren van eventuele afwijkingen die aanvullende actie vereisen. Deze periodieke controles dienen ook als auditbewijs voor externe certificeringen en compliance-verificaties, waarbij gedocumenteerde bewijzen worden opgeslagen voor een retentieperiode van minimaal zeven jaar.

Gebruik PowerShell-script unified-monitoring.ps1 (functie Invoke-Monitoring) – Controleert unified monitoring compliance voor alle geconfigureerde cloudplatformen en rapporteert over log consolidatie, SIEM-integraties, monitoring-dashboards en compliance-status..

Remediatie van Unified Monitoring Problemen

Remediatie van unified monitoring problemen omvat het implementeren van monitoring voor cloudresources die deze nog niet hebben, het corrigeren van ontbrekende log forwarding configuraties, monitoring-dashboards, en monitoring-processen, en het waarborgen dat alle cloudresources uniform worden gemonitord volgens de gedefinieerde standaarden. Het is belangrijk om te realiseren dat wanneer unified monitoring niet is geïmplementeerd, cloudresources kwetsbaar zijn voor verschillende beveiligings- en compliance-risico's, waaronder late detectie van beveiligingsincidenten, niet-naleving van compliance-frameworks, en verhoogde beveiligingsrisico's. Daarom moeten organisaties processen implementeren voor het snel detecteren en oplossen van problemen met unified monitoring, zodat de impact op beveiliging en compliance wordt geminimaliseerd. Wanneer cloudresources worden geïdentificeerd zonder adequate unified monitoring-implementatie, moet eerst worden geanalyseerd welke monitoring-configuraties ontbreken en welke risico's dit oplevert. Deze analyse omvat het inventariseren van alle cloudresources in alle geconfigureerde cloudplatformen, het controleren van log forwarding configuraties, monitoring-dashboards, en monitoring-processen, en het identificeren van ontbrekende monitoring-configuraties. Op basis van deze analyse kan een prioriteringslijst worden opgesteld waarbij kritieke cloudresources die gevoelige gegevens verwerken eerst worden geïnstrumenteerd, gevolgd door minder kritieke resources. Deze prioritering zorgt ervoor dat de meest risicovolle resources eerst worden gemonitord, waardoor de totale beveiligingspostuur sneller wordt verbeterd. Voor cloudresources zonder log forwarding configuraties moeten deze worden geconfigureerd volgens de gedefinieerde monitoring-vereisten. Azure Diagnostic Settings moeten worden geconfigureerd voor Azure-resources, AWS CloudWatch Logs export moet worden geconfigureerd voor AWS-resources, en Google Cloud Log Export moet worden geconfigureerd voor GCP-resources, waarbij wordt gewaarborgd dat alle logdata wordt geconsolideerd in het centrale SIEM-systeem. Voor cloudresources zonder monitoring-dashboards moeten deze worden geconfigureerd zodat gestandaardiseerde dashboards inzicht bieden in de beveiligings- en compliance-status. Na het implementeren van unified monitoring-processen moet worden geverifieerd dat de implementatie correct werkt en dat cloudresources nog steeds functioneren zoals verwacht. Dit kan worden gedaan door resourceprestaties te monitoren, door test-aanroepen uit te voeren naar cloudservices, en door te verifiëren dat log forwarding correct werkt en monitoring-rapporten genereren. Als er problemen worden gedetecteerd, moeten deze worden opgelost voordat de organisatie weer afhankelijk wordt van de gemonitorde cloudresources.

Gebruik PowerShell-script unified-monitoring.ps1 (functie Invoke-Remediation) – Implementeert unified monitoring-processen voor cloudresources zonder adequate monitoring-implementatie en corrigeert ontbrekende log forwarding configuraties en monitoring-dashboards..

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 Unified Monitoring in Multi-Cloud Omgevingen .DESCRIPTION Controleert en configureert unified monitoring voor multi-cloud omgevingen. Biedt monitoring van log consolidatie, SIEM-integraties en monitoring-compliance across Azure, AWS en Google Cloud Platform. .NOTES Filename: unified-monitoring.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/multi-cloud/unified-monitoring.json NBVC Debug: Gebruik de omgevingsvariabele NBVC_LOCAL_DEBUG=1 om lokale testen uit te voeren zonder verbinding te maken met Azure-API's. .EXAMPLE .\unified-monitoring.ps1 -Monitoring Controleert de status van unified monitoring voor alle geconfigureerde cloudplatformen .EXAMPLE .\unified-monitoring.ps1 -Remediation -WhatIf Preview van unified monitoring configuratie voor cloudresources zonder adequate monitoring-implementatie #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Monitor, Az.OperationalInsights [CmdletBinding()] param( [Parameter(HelpMessage = "Controleert de status van unified monitoring voor alle geconfigureerde cloudplatformen")] [switch]$Monitoring, [Parameter(HelpMessage = "Configureert unified monitoring voor cloudresources die nog niet zijn geïnstrumenteerd")] [switch]$Remediation, [Parameter(HelpMessage = "Preview van wijzigingen zonder daadwerkelijke configuratie")] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $MonitoringName = "Unified Monitoring" function Get-IsLocalDebug { param() return [bool]($env:NBVC_LOCAL_DEBUG -eq '1') } function Connect-RequiredServices { if (Get-IsLocalDebug) { Write-Verbose "NBVC_LOCAL_DEBUG is actief - Azure verbinding wordt overgeslagen." return } try { $requiredModules = @('Az.Accounts', 'Az.Monitor', 'Az.OperationalInsights') foreach ($module in $requiredModules) { if (-not (Get-Module -ListAvailable -Name $module)) { throw "Het PowerShell-module '$module' is niet beschikbaar. Installeer dit module voordat u het script gebruikt." } } $ctx = Get-AzContext -ErrorAction SilentlyContinue if (-not $ctx) { Write-Host "Verbinding maken met Azure (Connect-AzAccount)..." -ForegroundColor Yellow Connect-AzAccount -ErrorAction Stop | Out-Null } else { Write-Verbose "Bestaande Azure context gevonden: $($ctx.Name)" } } catch { throw "Kon niet verbinden met Azure: $($_.Exception.Message)" } } function Get-UnifiedMonitoringComplianceStatus { <# .SYNOPSIS Haalt de status op van unified monitoring compliance. .DESCRIPTION Controleert of log forwarding correct is geconfigureerd voor alle geconfigureerde cloudplatformen, of logdata wordt geconsolideerd in een centraal SIEM-systeem, en of monitoring-dashboards zijn geconfigureerd. .OUTPUTS Hashtable met compliance-status en bevindingen #> [CmdletBinding()] param() try { Write-Host "Controleren van unified monitoring compliance..." -ForegroundColor Gray $findings = @() $isCompliant = $true # Controleer Log Analytics Workspaces try { $workspaces = Get-AzOperationalInsightsWorkspace -ErrorAction SilentlyContinue if ($workspaces) { Write-Host " [OK] Log Analytics Workspaces: $($workspaces.Count) workspaces gevonden" -ForegroundColor Green # Controleer Diagnostic Settings per workspace foreach ($workspace in $workspaces) { $resourceId = $workspace.ResourceId try { $diagnosticSettings = Get-AzDiagnosticSetting -ResourceId $resourceId -ErrorAction SilentlyContinue if ($diagnosticSettings) { Write-Host " [OK] Workspace $($workspace.Name): Diagnostic Settings geconfigureerd" -ForegroundColor Green } else { Write-Host " [WARN] Workspace $($workspace.Name): Geen Diagnostic Settings gevonden" -ForegroundColor Yellow $findings += "Workspace $($workspace.Name) heeft geen Diagnostic Settings geconfigureerd" $isCompliant = $false } } catch { # Negeer individuele workspace fouten } } } else { Write-Host " [WARN] Log Analytics Workspaces: Geen workspaces gevonden" -ForegroundColor Yellow $findings += "Geen Log Analytics Workspaces gevonden - unified monitoring vereist minimaal één workspace" $isCompliant = $false } } catch { Write-Host " [WARN] Log Analytics Workspaces: Kan niet worden gecontroleerd" -ForegroundColor Yellow $findings += "Log Analytics Workspaces kunnen niet worden gecontroleerd: $($_.Exception.Message)" } # Controleer Azure Monitor Activity Log export try { $subscriptions = Get-AzSubscription -ErrorAction SilentlyContinue if ($subscriptions) { $exportConfigured = 0 foreach ($sub in $subscriptions) { try { Set-AzContext -SubscriptionId $sub.Id -ErrorAction SilentlyContinue | Out-Null $activityLogProfiles = Get-AzActivityLogAlert -ErrorAction SilentlyContinue if ($activityLogProfiles) { $exportConfigured++ } } catch { # Negeer individuele subscription fouten } } if ($exportConfigured -gt 0) { Write-Host " [OK] Activity Log Export: $exportConfigured subscriptions geconfigureerd" -ForegroundColor Green } else { Write-Host " [WARN] Activity Log Export: Geen export geconfigureerd" -ForegroundColor Yellow $findings += "Activity Log export is niet geconfigureerd voor subscriptions" $isCompliant = $false } } } catch { Write-Host " [WARN] Activity Log Export: Kan niet worden gecontroleerd" -ForegroundColor Yellow $findings += "Activity Log export kan niet worden gecontroleerd: $($_.Exception.Message)" } # Controleer Azure Sentinel (indien beschikbaar) try { $sentinelWorkspaces = Get-AzOperationalInsightsWorkspace -ErrorAction SilentlyContinue | Where-Object { $_.Features -and $_.Features.Contains('Security') } if ($sentinelWorkspaces) { Write-Host " [OK] Azure Sentinel: $($sentinelWorkspaces.Count) Sentinel-enabled workspaces gevonden" -ForegroundColor Green } else { Write-Host " [INFO] Azure Sentinel: Geen Sentinel-enabled workspaces gevonden (optioneel)" -ForegroundColor Gray } } catch { Write-Host " [WARN] Azure Sentinel: Kan niet worden gecontroleerd" -ForegroundColor Yellow } # Controleer Diagnostic Settings voor resources try { $resourcesWithDiagnostics = 0 $resourcesWithoutDiagnostics = 0 # Sample check voor enkele resource types $resourceTypes = @('Microsoft.Compute/virtualMachines', 'Microsoft.Storage/storageAccounts', 'Microsoft.Network/networkSecurityGroups') foreach ($resourceType in $resourceTypes) { try { $resources = Get-AzResource -ResourceType $resourceType -ErrorAction SilentlyContinue | Select-Object -First 10 foreach ($resource in $resources) { try { $diagnostics = Get-AzDiagnosticSetting -ResourceId $resource.ResourceId -ErrorAction SilentlyContinue if ($diagnostics) { $resourcesWithDiagnostics++ } else { $resourcesWithoutDiagnostics++ } } catch { # Negeer individuele resource fouten } } } catch { # Negeer resource type fouten } } if ($resourcesWithoutDiagnostics -gt 0) { Write-Host " [WARN] Resource Diagnostic Settings: $resourcesWithoutDiagnostics resources zonder monitoring" -ForegroundColor Yellow $findings += "$resourcesWithoutDiagnostics resources hebben geen Diagnostic Settings geconfigureerd" if ($resourcesWithDiagnostics -eq 0) { $isCompliant = $false } } elseif ($resourcesWithDiagnostics -gt 0) { Write-Host " [OK] Resource Diagnostic Settings: $resourcesWithDiagnostics resources geïnstrumenteerd" -ForegroundColor Green } } catch { Write-Host " [WARN] Resource Diagnostic Settings: Kan niet worden gecontroleerd" -ForegroundColor Yellow $findings += "Resource Diagnostic Settings kunnen niet worden gecontroleerd: $($_.Exception.Message)" } return @{ isCompliant = $isCompliant timestamp = Get-Date findings = $findings summary = @{ LogAnalyticsWorkspacesFound = ($workspaces -ne $null -and $workspaces.Count -gt 0) ActivityLogExportConfigured = ($exportConfigured -gt 0) SentinelWorkspacesFound = ($sentinelWorkspaces.Count -gt 0) ResourcesWithDiagnostics = $resourcesWithDiagnostics } } } catch { Write-Host " [FAIL] Fout bij controleren van unified monitoring: $_" -ForegroundColor Red return @{ isCompliant = $false timestamp = Get-Date findings = @("Fout bij controleren van unified monitoring: $($_.Exception.Message)") summary = @{} } } } function Invoke-Monitoring { <# .SYNOPSIS Controleert unified monitoring compliance voor alle geconfigureerde cloudplatformen #> try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Unified Monitoring Monitoring" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Connect-RequiredServices $result = Get-UnifiedMonitoringComplianceStatus Write-Host "`nResultaten:" -ForegroundColor Yellow Write-Host " Status: $(if ($result.isCompliant) { 'COMPLIANT' } else { 'NON-COMPLIANT' })" -ForegroundColor $(if ($result.isCompliant) { 'Green' } else { 'Red' }) Write-Host " Tijdstip: $($result.timestamp)" -ForegroundColor Gray if ($result.findings.Count -gt 0) { Write-Host "`nBevindingen:" -ForegroundColor Yellow foreach ($finding in $result.findings) { Write-Host " - $finding" -ForegroundColor Yellow } } if ($result.summary) { Write-Host "`nSamenvatting:" -ForegroundColor Yellow Write-Host " Log Analytics Workspaces: $(if ($result.summary.LogAnalyticsWorkspacesFound) { 'Gevonden' } else { 'Niet gevonden' })" -ForegroundColor Gray Write-Host " Activity Log Export: $(if ($result.summary.ActivityLogExportConfigured) { 'Geconfigureerd' } else { 'Niet geconfigureerd' })" -ForegroundColor Gray Write-Host " Azure Sentinel: $(if ($result.summary.SentinelWorkspacesFound) { 'Gevonden' } else { 'Niet gevonden (optioneel)' })" -ForegroundColor Gray Write-Host " Resources met Diagnostics: $($result.summary.ResourcesWithDiagnostics)" -ForegroundColor Gray } if ($result.isCompliant) { Write-Host "`n[OK] Unified monitoring is correct geconfigureerd" -ForegroundColor Green exit 0 } else { Write-Host "`n[FAIL] Unified monitoring vereist aandacht" -ForegroundColor Red exit 1 } } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Remediation { <# .SYNOPSIS Configureert unified monitoring voor cloudresources zonder adequate monitoring-implementatie #> try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Unified Monitoring Remediation" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Connect-RequiredServices if ($WhatIf) { Write-Host "WhatIf modus: Toon alleen wat zou worden geconfigureerd`n" -ForegroundColor Yellow } $result = Get-UnifiedMonitoringComplianceStatus if ($result.isCompliant) { Write-Host "[OK] Unified monitoring is al correct geconfigureerd" -ForegroundColor Green exit 0 } Write-Host "Remediatie-acties:" -ForegroundColor Yellow # Remediatie voor ontbrekende Log Analytics Workspaces if (-not $result.summary.LogAnalyticsWorkspacesFound) { if ($WhatIf) { Write-Host " [WHATIF] Zou Log Analytics Workspace aanmaken voor unified monitoring" -ForegroundColor Cyan } else { Write-Host " [INFO] Log Analytics Workspace vereist handmatige actie" -ForegroundColor Yellow Write-Host " Maak een Log Analytics Workspace aan voor log consolidatie" -ForegroundColor Gray Write-Host " Gebruik New-AzOperationalInsightsWorkspace om een workspace aan te maken" -ForegroundColor Gray } } # Remediatie voor ontbrekende Activity Log export if (-not $result.summary.ActivityLogExportConfigured) { if ($WhatIf) { Write-Host " [WHATIF] Zou Activity Log export configureren voor alle subscriptions" -ForegroundColor Cyan } else { Write-Host " [INFO] Activity Log export vereist handmatige actie" -ForegroundColor Yellow Write-Host " Configureer Activity Log export naar Log Analytics Workspace" -ForegroundColor Gray Write-Host " Gebruik Set-AzActivityLogAlert om export te configureren" -ForegroundColor Gray } } # Remediatie voor ontbrekende Diagnostic Settings if ($result.findings -match "Diagnostic Settings") { if ($WhatIf) { Write-Host " [WHATIF] Zou Diagnostic Settings configureren voor resources zonder monitoring" -ForegroundColor Cyan } else { Write-Host " [INFO] Diagnostic Settings vereisen handmatige actie" -ForegroundColor Yellow Write-Host " Configureer Diagnostic Settings voor alle relevante resources" -ForegroundColor Gray Write-Host " Gebruik Set-AzDiagnosticSetting om monitoring in te schakelen" -ForegroundColor Gray } } if (-not $WhatIf) { Write-Host "`n[INFO] Unified monitoring remediatie vereist handmatige configuratie" -ForegroundColor Yellow Write-Host " Raadpleeg de documentatie voor gedetailleerde implementatie-instructies" -ForegroundColor Gray Write-Host " Voor multi-cloud omgevingen: configureer ook AWS CloudWatch export en GCP Log Export" -ForegroundColor Gray } exit 0 } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } try { if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Usage:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer unified monitoring compliance" -ForegroundColor Gray Write-Host " -Remediation Configureer unified monitoring (gebruik -WhatIf voor preview)" -ForegroundColor Gray } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Kritiek - Zonder unified monitoring zijn cloudresources in multi-cloud omgevingen kwetsbaar voor verschillende beveiligings- en compliance-risico's, wat kan leiden tot late detectie van beveiligingsincidenten, niet-naleving van compliance-frameworks, en verhoogde beveiligingsrisico's.

Management Samenvatting

Implementeer een centraal monitoring-platform dat logdata consolideert van alle cloudplatformen, configureer log forwarding en export die logdata verzamelt van Azure Monitor, AWS CloudWatch en Google Cloud Monitoring, en implementeer gestandaardiseerde monitoring-dashboards die inzicht bieden in alle cloudresources. Voldoet aan BIO 12.04, 14.01, 17.01, ISO 27001 A.12.4.1, A.12.4.2, A.17.1.1, NIS2 Artikel 21, AVG Artikel 32. Implementatie: 200 uur.