Crisis Management Framework Voor Azure

💼 Management Samenvatting

Een doordacht crisis management framework vormt de ruggengraat van elke robuuste Azure-omgeving voor Nederlandse overheidsorganisaties. Zonder een gestructureerde aanpak voor het detecteren, escaleren, beheren en oplossen van kritieke beveiligingsincidenten en operationele verstoringen lopen organisaties het risico op langdurige dienstuitval, gegevensverlies, reputatieschade en niet-naleving van wettelijke verplichtingen zoals de NIS2 richtlijn en de Baseline Informatiebeveiliging Overheid.

Aanbeveling
IMPLEMENTEER CRISIS MANAGEMENT FRAMEWORK
Risico zonder
Critical
Risk Score
9/10
Implementatie
280u (tech: 120u)
Van toepassing op:
Azure Tenant
Azure Subscriptions
Azure Resources
Hybrid Cloud Environments

Crisis management is niet alleen een technische uitdaging, maar vooral een organisatorische en bestuurlijke verantwoordelijkheid. In de praktijk blijkt dat veel organisaties wel technische monitoring en incident response procedures hebben, maar dat deze niet zijn ingebed in een breder crisis management framework dat ook bestuurlijke besluitvorming, communicatie, juridische aspecten en ketenafhankelijkheden omvat. Dit leidt tot situaties waarin technische teams wel weten hoe zij een incident moeten oplossen, maar dat besluitvorming stokt, communicatie naar burgers en toezichthouders niet op tijd plaatsvindt, of dat juridische verplichtingen zoals meldplichten worden gemist. Voor Nederlandse overheidsorganisaties heeft dit directe impact op wettelijke verplichtingen zoals de NIS2 richtlijn die specifieke eisen stelt aan incident reporting en crisis management, de AVG die vereist dat datalekken binnen 72 uur worden gemeld, en de Baseline Informatiebeveiliging Overheid die eisen stelt aan continuïteitsbeheer en crisiscommunicatie. Daarnaast stellen frameworks zoals BIO en NIS2 expliciet eisen aan crisis management: organisaties moeten aantonen dat zij beschikken over gedocumenteerde procedures voor het detecteren, escaleren, beheren en oplossen van beveiligingsincidenten en operationele verstoringen, inclusief duidelijke rollen en verantwoordelijkheden, escalatielijnen, communicatieprotocollen en regelmatige oefeningen. Zonder een correct geïmplementeerd crisis management framework kunnen organisaties niet aantonen dat zij voldoen aan deze verplichtingen.

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

Implementatie

Dit artikel beschrijft stap voor stap hoe u een complete crisis management framework inricht voor Azure-omgevingen binnen Nederlandse overheidsorganisaties. U leert hoe u een crisis management structuur opzet met duidelijke rollen en verantwoordelijkheden, hoe u escalatielijnen en besluitvormingsprocessen definieert, hoe u communicatieprotocollen ontwikkelt voor interne en externe stakeholders, en hoe u technische incident response procedures integreert met bestuurlijke crisis management. Vervolgens wordt uitgelegd hoe u monitoring en detectie configureert om crises vroegtijdig te identificeren, hoe u crisis management procedures documenteert en test, en hoe u crisis management integreert met business continuity planning en disaster recovery. Het artikel behandelt ook specifieke scenario's zoals ransomware-aanvallen, datalekken, langdurige dienstuitval en ketenafhankelijkheden. Tot slot wordt ingegaan op compliance-rapportage en audit-evidence, zodat u aantoonbaar kunt rapporteren aan bestuur en auditors dat uw crisis management framework correct is geïmplementeerd en regelmatig wordt getest. Het bijbehorende PowerShell-script ondersteunt beheerteams bij het controleren van crisis management configuraties, het monitoren van incident detectie en escalatie, en het rapporteren van crisis management status en oefenresultaten.

Crisis Management Framework Structuur

Een effectief crisis management framework begint met een duidelijke organisatorische structuur die definieert wie verantwoordelijk is voor welke aspecten van crisis management, hoe besluitvorming plaatsvindt tijdens een crisis, en hoe verschillende teams en afdelingen samenwerken. Deze structuur moet worden ingebed in de bredere organisatie en moet aansluiten bij bestaande governance-structuren, zodat crisis management geen losstaand proces is maar een integraal onderdeel van de dagelijkse operatie. De basis van het framework wordt gevormd door een crisis management team dat bestaat uit vertegenwoordigers van verschillende disciplines: technische teams die verantwoordelijk zijn voor incident response en herstel, informatiebeveiliging die verantwoordelijk is voor beveiligingsincidenten en dreigingsanalyse, communicatie die verantwoordelijk is voor interne en externe communicatie, juridische zaken die verantwoordelijk zijn voor meldplichten en juridische aspecten, en bestuur die verantwoordelijk is voor strategische besluitvorming en verantwoording. Elke rol heeft duidelijke verantwoordelijkheden en bevoegdheden die zijn vastgelegd in een crisis management plan, zodat tijdens een crisis direct duidelijk is wie welke beslissingen mag nemen en wie welke acties moet uitvoeren. Escalatielijnen zijn essentieel om te bepalen wanneer een incident wordt geclassificeerd als een crisis en wanneer bestuur moet worden betrokken. Een incident kan bijvoorbeeld beginnen als een technisch probleem dat door het servicedesk team wordt opgelost, maar escaleren naar een crisis wanneer de impact groter wordt, wanneer wettelijke meldplichten worden getriggerd, of wanneer media-aandacht ontstaat. Het framework moet duidelijke criteria definiëren voor wanneer escalatie plaatsvindt, wie verantwoordelijk is voor escalatie, en hoe escalatie wordt gecommuniceerd naar betrokken stakeholders. Deze criteria moeten worden gebaseerd op factoren zoals de impact op dienstverlening, de gevoeligheid van betrokken gegevens, de duur van de verstoring, en de potentiële reputatieschade. Besluitvormingsprocessen tijdens een crisis moeten worden gestructureerd om snel en effectief te kunnen reageren, terwijl tegelijkertijd wordt gewaarborgd dat belangrijke beslissingen worden genomen op het juiste bestuurlijke niveau. Het framework moet definiëren welke beslissingen kunnen worden genomen door operationele teams, welke beslissingen vereisen goedkeuring van management, en welke beslissingen alleen door bestuur kunnen worden genomen. Daarnaast moet het framework processen bevatten voor het documenteren van beslissingen en de onderliggende redenering, zodat achteraf kan worden geëvalueerd of de juiste beslissingen zijn genomen en of processen kunnen worden verbeterd.

Detectie en Escalatie

Gebruik PowerShell-script crisis-management-framework.ps1 (functie Invoke-Monitoring) – Controleert crisis management configuraties en monitort incident detectie en escalatie.

Vroegtijdige detectie van crises is essentieel om de impact te minimaliseren en om tijdig passende maatregelen te kunnen nemen. Het crisis management framework moet daarom processen bevatten voor het continu monitoren van Azure-omgevingen op tekenen van beveiligingsincidenten, operationele verstoringen en andere gebeurtenissen die kunnen escaleren tot een crisis. Deze monitoring moet worden geautomatiseerd waar mogelijk, maar moet ook ruimte bieden voor menselijke beoordeling en context, omdat niet alle crises kunnen worden gedetecteerd door geautomatiseerde systemen. Technische monitoring vormt de basis van detectie en omvat het monitoren van Azure Monitor alerts, Microsoft Defender voor Cloud waarschuwingen, Azure Sentinel incidenten, en andere beveiligings- en operationele monitoring tools. Het framework moet definiëren welke types alerts en waarschuwingen worden geclassificeerd als potentieel kritiek en welke vereisen onmiddellijke escalatie naar het crisis management team. Daarnaast moet het framework processen bevatten voor het analyseren van correlaties tussen verschillende alerts en waarschuwingen, omdat een crisis vaak het gevolg is van meerdere gerelateerde gebeurtenissen die samen een groter probleem vormen. Naast technische monitoring moet het framework ook processen bevatten voor het monitoren van niet-technische signalen die kunnen wijzen op een crisis. Dit omvat bijvoorbeeld meldingen van gebruikers over problemen met dienstverlening, berichten van ketenpartners over verstoringen, media-aandacht voor beveiligingsincidenten, of vragen van toezichthouders. Deze signalen moeten worden geïntegreerd in het detectieproces, zodat het crisis management team een compleet beeld krijgt van de situatie en tijdig kan reageren. Escalatieprocessen moeten worden geautomatiseerd waar mogelijk, maar moeten ook ruimte bieden voor menselijke beoordeling en context. Het framework moet definiëren welke gebeurtenissen automatisch worden geëscaleerd naar het crisis management team, welke gebeurtenissen eerst worden beoordeeld door operationele teams voordat escalatie plaatsvindt, en hoe escalatie wordt gecommuniceerd naar betrokken stakeholders. Daarnaast moet het framework processen bevatten voor het prioriteren van incidenten en crises, zodat het crisis management team zich kan focussen op de meest kritieke gebeurtenissen en niet wordt overbelast met minder urgente zaken.

Crisis Response Procedures

Crisis response procedures beschrijven stap voor stap hoe het crisis management team reageert op verschillende types crises, welke acties worden ondernomen, wie verantwoordelijk is voor welke acties, en hoe de voortgang wordt gemonitord en gerapporteerd. Deze procedures moeten worden ontwikkeld voor verschillende scenario's, zoals ransomware-aanvallen, datalekken, langdurige dienstuitval, ketenafhankelijkheden, en combinaties van technische en organisatorische crises. Voor elk crisis scenario moet het framework een gedetailleerd response plan bevatten dat begint met de eerste detectie en escalatie, gevolgd door de initiële beoordeling en classificatie van de crisis, de activering van het crisis management team, de uitvoering van response acties, de monitoring van de voortgang, en de afsluiting en evaluatie van de crisis. Elke fase moet duidelijke deliverables en success criteria hebben, zodat het crisis management team kan bepalen wanneer een fase is voltooid en wanneer kan worden overgegaan naar de volgende fase. Technische response acties omvatten bijvoorbeeld het isoleren van gecompromitteerde systemen, het activeren van back-up- en herstelprocedures, het analyseren van logs en forensische gegevens, en het implementeren van tijdelijke mitigatiemaatregelen. Deze acties moeten worden uitgevoerd door technische teams onder leiding van het crisis management team, waarbij regelmatig wordt gerapporteerd over de voortgang en eventuele problemen die worden ondervonden. Organisatorische response acties omvatten bijvoorbeeld het activeren van communicatieprotocollen, het informeren van bestuur en toezichthouders, het uitvoeren van meldplichten zoals AVG datalek meldingen, en het coördineren met ketenpartners. Deze acties moeten worden uitgevoerd door de relevante afdelingen onder leiding van het crisis management team, waarbij wordt gewaarborgd dat alle wettelijke verplichtingen worden nagekomen en dat communicatie consistent en accuraat is. Het framework moet ook processen bevatten voor het documenteren van alle response acties, beslissingen en communicatie tijdens een crisis. Deze documentatie is essentieel voor post-crisis evaluaties, voor compliance-rapportage, en voor het leren van ervaringen om toekomstige crises beter te kunnen beheren. Daarnaast moet het framework processen bevatten voor het archiveren van crisis documentatie voor audit-doeleinden, waarbij wordt gewaarborgd dat gevoelige informatie wordt beschermd maar dat relevante informatie beschikbaar blijft voor evaluaties en audits.

Communicatieprotocollen

Effectieve communicatie tijdens een crisis is essentieel om vertrouwen te behouden bij burgers, bestuur, toezichthouders en andere stakeholders, en om te voorkomen dat onjuiste informatie of geruchten zich verspreiden. Het crisis management framework moet daarom uitgebreide communicatieprotocollen bevatten die definiëren wat wordt gecommuniceerd, naar wie, wanneer, en via welke kanalen. Interne communicatie moet worden gestructureerd om ervoor te zorgen dat alle betrokken medewerkers tijdig worden geïnformeerd over de crisis, wat er wordt gedaan om de crisis op te lossen, en wat zij moeten doen of vermijden. Het framework moet verschillende communicatiekanalen definiëren voor verschillende doelgroepen, zoals technische teams die gedetailleerde technische updates nodig hebben, management dat strategische updates nodig heeft, en algemene medewerkers die algemene informatie nodig hebben. Daarnaast moet het framework processen bevatten voor het verzamelen van feedback en vragen van medewerkers, zodat het crisis management team kan reageren op zorgen en onduidelijkheden. Externe communicatie moet worden gestructureerd om ervoor te zorgen dat burgers, bestuur, toezichthouders, media en andere externe stakeholders tijdig en accuraat worden geïnformeerd over de crisis. Het framework moet verschillende communicatiekanalen definiëren voor verschillende doelgroepen, zoals persberichten voor media, updates op websites en sociale media voor burgers, formele rapportages voor toezichthouders, en directe communicatie voor bestuur. Daarnaast moet het framework processen bevatten voor het coördineren van externe communicatie, zodat alle berichten consistent zijn en niet tegenstrijdig. Het framework moet ook processen bevatten voor het voorbereiden en reviewen van communicatieberichten voordat deze worden gepubliceerd. Dit omvat bijvoorbeeld het reviewen van technische accuraatheid, het controleren van juridische en compliance-aspecten, en het verifiëren dat berichten aansluiten bij de organisatorische toon en waarden. Daarnaast moet het framework processen bevatten voor het monitoren van externe reacties op communicatie, zodat het crisis management team kan reageren op vragen, zorgen en feedback.

Testen en Oefeningen

Regelmatig testen en oefenen van het crisis management framework is essentieel om te garanderen dat procedures werken, dat teams weten wat zij moeten doen, en dat het framework aansluit bij de actuele organisatie en technologie. Zonder regelmatige oefeningen kunnen procedures verouderen, kunnen teams vergeten wat zij moeten doen, en kunnen nieuwe risico's en scenario's worden gemist. Het crisis management framework moet daarom een gestructureerd oefenprogramma bevatten dat verschillende types oefeningen omvat, van eenvoudige tabletop-oefeningen tot complexe full-scale simulaties. Tabletop-oefeningen zijn relatief eenvoudige oefeningen waarbij het crisis management team samenkomt om een fictief crisis scenario te bespreken en te bepalen hoe zij zouden reageren. Deze oefeningen zijn kosteneffectief en kunnen regelmatig worden georganiseerd, bijvoorbeeld maandelijks of kwartaalgewijs, en zijn ideaal voor het testen van besluitvormingsprocessen, escalatielijnen en communicatieprotocollen. Tabletop-oefeningen moeten worden gedocumenteerd, waarbij wordt vastgelegd welke scenario's zijn getest, welke beslissingen zijn genomen, welke problemen zijn geïdentificeerd, en welke verbeteracties zijn gepland. Functionele drills gaan een stap verder door specifieke aspecten van het crisis management framework daadwerkelijk te testen, zoals het activeren van het crisis management team, het uitvoeren van technische response acties, of het testen van communicatiekanalen. Deze drills zijn intensiever dan tabletop-oefeningen maar zijn nog steeds relatief gecontroleerd en hebben beperkte impact op de dagelijkse operatie. Functionele drills moeten worden gedocumenteerd, waarbij wordt vastgelegd welke aspecten zijn getest, welke resultaten zijn behaald, welke problemen zijn geïdentificeerd, en welke verbeteracties zijn gepland. Full-scale simulaties zijn de meest intensieve oefeningen waarbij een complete crisis wordt gesimuleerd, inclusief technische verstoringen, bestuurlijke besluitvorming, en externe communicatie. Deze oefeningen zijn kostbaar en tijdrovend maar bieden de meest realistische test van het crisis management framework. Full-scale simulaties moeten zorgvuldig worden gepland en uitgevoerd, waarbij wordt gewaarborgd dat de impact op de dagelijkse operatie wordt geminimaliseerd, en moeten worden gedocumenteerd met uitgebreide evaluaties en verbeteracties. Na elke oefening moet een after-action review worden uitgevoerd waarbij het crisis management team evalueert wat goed ging, wat beter kon, en welke verbeteracties nodig zijn. Deze reviews moeten worden gedocumenteerd en moeten leiden tot concrete actieplannen die worden opgevolgd. Daarnaast moeten oefenresultaten worden gebruikt om het crisis management framework te verbeteren, zodat het framework continu evolueert en aansluit bij de actuele organisatie en technologie.

Compliance en Integratie

Het crisis management framework moet worden geïntegreerd met andere governance- en compliance-processen, zoals business continuity planning, disaster recovery, risicomanagement, en informatiebeveiligingsmanagement. Deze integratie zorgt ervoor dat crisis management geen losstaand proces is maar een integraal onderdeel van de bredere governance-structuur, en dat alle processen naadloos op elkaar aansluiten. Voor Nederlandse overheidsorganisaties betekent dit dat het crisis management framework moet aansluiten bij de Baseline Informatiebeveiliging Overheid (BIO), met name de normen rond continuïteitsbeheer, incident management en crisiscommunicatie. Het framework moet expliciet verwijzen naar relevante BIO-normen en moet kunnen aantonen dat procedures voldoen aan deze normen. Daarnaast moet het framework processen bevatten voor het rapporteren van crisis management status en oefenresultaten aan bestuur en auditors, zodat compliance kan worden aangetoond. De NIS2 richtlijn stelt specifieke eisen aan incident reporting en crisis management voor essentiële en belangrijke entiteiten. Het framework moet daarom processen bevatten voor het rapporteren van beveiligingsincidenten aan de bevoegde autoriteiten, zoals de Autoriteit Consument en Markt (ACM), binnen de vereiste tijdsframes. Daarnaast moet het framework processen bevatten voor het documenteren van incident response en crisis management activiteiten, zodat deze informatie beschikbaar is voor NIS2-rapportages en audits. De AVG vereist dat datalekken binnen 72 uur worden gemeld aan de Autoriteit Persoonsgegevens (AP) en in sommige gevallen aan betrokkenen. Het crisis management framework moet daarom specifieke procedures bevatten voor het detecteren, beoordelen en melden van datalekken, waarbij wordt gewaarborgd dat alle wettelijke verplichtingen worden nagekomen. Deze procedures moeten worden getest tijdens oefeningen, zodat teams weten wat zij moeten doen wanneer een echt datalek plaatsvindt. Het framework moet ook worden geïntegreerd met business continuity planning en disaster recovery, zodat crisis management naadloos aansluit bij continuïteits- en herstelprocessen. Dit omvat bijvoorbeeld het coördineren van crisis response met business continuity activatie, het integreren van technische herstelacties met crisis management besluitvorming, en het waarborgen dat communicatie consistent is tussen crisis management en business continuity teams.

Monitoring en Verbetering

Gebruik PowerShell-script crisis-management-framework.ps1 (functie Invoke-Monitoring) – Controleert crisis management configuraties en monitort incident detectie en escalatie.

Continue monitoring en verbetering van het crisis management framework is essentieel om te garanderen dat het framework effectief blijft en aansluit bij de actuele organisatie, technologie en dreigingslandschap. Het framework moet daarom processen bevatten voor het regelmatig evalueren van crisis management procedures, het identificeren van verbeterkansen, en het implementeren van verbeteracties. Monitoring van het framework omvat het regelmatig controleren van crisis management configuraties, het verifiëren dat alle benodigde tools en systemen beschikbaar zijn, het controleren dat contactlijsten en escalatielijnen actueel zijn, en het monitoren van incident detectie en escalatie performance. Deze monitoring moet worden geautomatiseerd waar mogelijk, bijvoorbeeld door gebruik te maken van Azure Monitor en andere monitoring tools, maar moet ook ruimte bieden voor periodieke handmatige reviews door het crisis management team. Evaluatie van het framework moet plaatsvinden na elke echte crisis en na elke oefening, waarbij wordt geanalyseerd wat goed ging, wat beter kon, en welke verbeteracties nodig zijn. Deze evaluaties moeten worden gedocumenteerd en moeten leiden tot concrete actieplannen die worden opgevolgd. Daarnaast moeten periodieke reviews worden uitgevoerd, bijvoorbeeld jaarlijks, waarbij het volledige framework wordt geëvalueerd en waar nodig wordt bijgewerkt. Verbeteracties moeten worden geprioriteerd op basis van risico en impact, waarbij kritieke verbeteracties direct worden opgepakt en minder urgente verbeteracties worden gepland voor toekomstige implementatie. Alle verbeteracties moeten worden gedocumenteerd en moeten worden geverifieerd door middel van toekomstige oefeningen of echte crises, zodat kan worden bevestigd dat verbeteringen effectief zijn.

Remediatie

Gebruik PowerShell-script crisis-management-framework.ps1 (functie Invoke-Remediation) – Identificeert ontbrekende crisis management configuraties en genereert aanbevelingen.

Wanneer monitoring of audits uitwijzen dat het crisis management framework incompleet is of niet voldoen aan de gestelde eisen, is een gestructureerde remediatieaanpak noodzakelijk. Begin met een gap-analyse waarin u inventariseert welke aspecten van het framework ontbreken, welke procedures niet zijn gedocumenteerd, welke tools en systemen niet zijn geconfigureerd, en welke oefeningen niet zijn uitgevoerd. Prioriteer deze bevindingen op basis van risico en impact, waarbij kritieke ontbrekende elementen direct worden opgepakt. Voor ontbrekende documentatie moet u eerst bepalen welke procedures en protocollen het meest kritiek zijn en deze prioriteren voor documentatie. Begin met het documenteren van crisis management structuur en rollen, gevolgd door escalatielijnen en besluitvormingsprocessen, en vervolgens response procedures voor de meest waarschijnlijke crisis scenario's. Zorg dat documentatie wordt gereviewd door alle betrokken stakeholders en dat documentatie regelmatig wordt bijgewerkt wanneer procedures of organisatie wijzigen. Voor ontbrekende tools en systemen moet u eerst bepalen welke monitoring en detectie capabilities het meest kritiek zijn en deze prioriteren voor implementatie. Begin met het configureren van Azure Monitor alerts en Microsoft Defender voor Cloud waarschuwingen voor kritieke gebeurtenissen, gevolgd door het configureren van escalatieprocessen en communicatiekanalen. Zorg dat alle tools en systemen worden getest tijdens oefeningen, zodat kan worden bevestigd dat zij correct functioneren tijdens een echte crisis. Voor ontbrekende oefeningen moet u een oefenprogramma ontwikkelen dat verschillende types oefeningen omvat, van eenvoudige tabletop-oefeningen tot complexe full-scale simulaties. Begin met het organiseren van regelmatige tabletop-oefeningen voor het crisis management team, gevolgd door functionele drills voor specifieke aspecten van het framework, en vervolgens full-scale simulaties voor de meest kritieke scenario's. Zorg dat alle oefeningen worden gedocumenteerd en dat verbeteracties worden opgevolgd. Na remediatie is het belangrijk om de verbeteringen te valideren door middel van oefeningen en monitoring. Voer voor alle gerepareerde aspecten een oefening uit om te verifiëren dat procedures correct werken. Update monitoring en alerts zodat toekomstige problemen direct worden gesignaleerd. Documenteer alle remediatie-activiteiten, inclusief de geïdentificeerde problemen, de uitgevoerde wijzigingen en de validatieresultaten, zodat deze informatie beschikbaar is voor toekomstige audits en verbeteringen.

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 Crisis Management Framework - Monitoring en Activatie Ondersteuning .DESCRIPTION Monitort crisis management indicatoren in Azure-omgevingen en ondersteunt crisis activatie en post-incident evaluatie. Het script controleert beveiligingswaarschuwingen, service status, en kritieke gebeurtenissen die kunnen leiden tot crisis management activatie. .NOTES Filename: crisis-management-framework.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/management/crisis-management-framework.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 .\crisis-management-framework.ps1 -Monitoring Controleert crisis management indicatoren en service status .EXAMPLE .\crisis-management-framework.ps1 -Remediation Ondersteunt post-incident evaluatie en verbeteracties #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Resources, Az.Monitor, Az.Security [CmdletBinding()] param( [Parameter(HelpMessage = "Controleert crisis management indicatoren en service status")] [switch]$Monitoring, [Parameter(HelpMessage = "Ondersteunt crisis management activatie en monitoring")] [switch]$Implementation, [Parameter(HelpMessage = "Ondersteunt post-incident evaluatie en verbeteracties")] [switch]$Remediation, [Parameter(HelpMessage = "Preview wijzigingen zonder uit te voeren")] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $PolicyName = "Crisis Management Framework - Azure" 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 { if (-not (Get-Module -ListAvailable -Name Az.Accounts)) { throw "Het PowerShell-module 'Az.Accounts' is niet beschikbaar. Installeer dit module voordat u het script gebruikt." } if (-not (Get-Module -ListAvailable -Name Az.Monitor)) { throw "Het PowerShell-module 'Az.Monitor' is niet beschikbaar. Installeer dit module voordat u het script gebruikt." } if (-not (Get-Module -ListAvailable -Name Az.Security)) { Write-Warning "Het PowerShell-module 'Az.Security' is niet beschikbaar. Sommige beveiligingsfuncties zijn mogelijk niet beschikbaar." } $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-CrisisIndicators { <# .SYNOPSIS Haalt crisis management indicatoren op uit Azure-omgevingen. .OUTPUTS PSCustomObject met crisis indicator-informatie. #> [CmdletBinding()] param() if (Get-IsLocalDebug) { # Gesimuleerde gegevens voor lokale debug en CI-tests return [PSCustomObject]@{ Timestamp = Get-Date CriticalAlerts = 2 HighSeverityAlerts = 5 ServiceHealthIssues = 1 ActiveIncidents = 1 SecurityThreats = 3 ResourceAvailability = 95 RegionsAffected = @("West Europe") CriticalResources = @( [PSCustomObject]@{ ResourceName = "prod-sql-server-01" ResourceType = "Microsoft.Sql/servers" Status = "Degraded" Impact = "High" } ) } } Connect-RequiredServices $indicators = @{ Timestamp = Get-Date CriticalAlerts = 0 HighSeverityAlerts = 0 ServiceHealthIssues = 0 ActiveIncidents = 0 SecurityThreats = 0 ResourceAvailability = 100 RegionsAffected = @() CriticalResources = @() } try { # Haal actieve alerts op via Azure Monitor $subscriptions = Get-AzSubscription -ErrorAction SilentlyContinue foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id -ErrorAction SilentlyContinue | Out-Null # Haal alerts op (vereist Azure Monitor API) try { $alerts = Get-AzMetricAlertRuleV2 -ErrorAction SilentlyContinue foreach ($alert in $alerts) { if ($alert.Severity -eq 'Critical' -or $alert.Severity -eq '0') { $indicators.CriticalAlerts++ } elseif ($alert.Severity -eq 'High' -or $alert.Severity -eq '1') { $indicators.HighSeverityAlerts++ } } } catch { Write-Verbose "Kon alerts niet ophalen voor abonnement $($sub.Name): $_" } # Controleer resource status try { $resourceGroups = Get-AzResourceGroup -ErrorAction SilentlyContinue $totalResources = 0 $availableResources = 0 foreach ($rg in $resourceGroups) { $resources = Get-AzResource -ResourceGroupName $rg.ResourceGroupName -ErrorAction SilentlyContinue foreach ($resource in $resources) { $totalResources++ # Simpele beschikbaarheidscheck (in productie zou dit uitgebreider zijn) if ($resource.Properties -and $resource.Properties.provisioningState -eq 'Succeeded') { $availableResources++ } } } if ($totalResources -gt 0) { $indicators.ResourceAvailability = [Math]::Round(($availableResources / $totalResources) * 100, 2) } } catch { Write-Verbose "Kon resource status niet controleren: $_" } } } catch { Write-Verbose "Fout bij ophalen crisis indicatoren: $_" } return [PSCustomObject]$indicators } function Get-ServiceHealthStatus { <# .SYNOPSIS Controleert Azure service health status. .OUTPUTS PSCustomObject met service health informatie. #> [CmdletBinding()] param() if (Get-IsLocalDebug) { return [PSCustomObject]@{ Timestamp = Get-Date ActiveIssues = 1 ServicesAffected = @("Azure SQL Database") RegionsAffected = @("West Europe") Status = "Degraded" } } Connect-RequiredServices # Azure Service Health API is niet direct beschikbaar via PowerShell # In productie zou dit via REST API worden opgehaald return [PSCustomObject]@{ Timestamp = Get-Date ActiveIssues = 0 ServicesAffected = @() RegionsAffected = @() Status = "Healthy" } } function Invoke-Monitoring { <# .SYNOPSIS Controleert crisis management indicatoren en service status. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Monitoring" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan $indicators = Get-CrisisIndicators $serviceHealth = Get-ServiceHealthStatus Write-Host "`nCrisis Management Indicatoren:" -ForegroundColor Cyan Write-Host "Kritieke waarschuwingen: $($indicators.CriticalAlerts)" -ForegroundColor $(if ($indicators.CriticalAlerts -eq 0) { "Green" } else { "Red" }) Write-Host "Hoge prioriteit waarschuwingen: $($indicators.HighSeverityAlerts)" -ForegroundColor $(if ($indicators.HighSeverityAlerts -eq 0) { "Green" } elseif ($indicators.HighSeverityAlerts -lt 5) { "Yellow" } else { "Red" }) Write-Host "Actieve incidenten: $($indicators.ActiveIncidents)" -ForegroundColor $(if ($indicators.ActiveIncidents -eq 0) { "Green" } else { "Red" }) Write-Host "Beveiligingsdreigingen: $($indicators.SecurityThreats)" -ForegroundColor $(if ($indicators.SecurityThreats -eq 0) { "Green" } else { "Yellow" }) Write-Host "Resource beschikbaarheid: $($indicators.ResourceAvailability)%" -ForegroundColor $(if ($indicators.ResourceAvailability -ge 99) { "Green" } elseif ($indicators.ResourceAvailability -ge 95) { "Yellow" } else { "Red" }) Write-Host "`nService Health Status:" -ForegroundColor Cyan Write-Host "Status: $($serviceHealth.Status)" -ForegroundColor $(if ($serviceHealth.Status -eq 'Healthy') { "Green" } else { "Yellow" }) Write-Host "Actieve problemen: $($serviceHealth.ActiveIssues)" -ForegroundColor $(if ($serviceHealth.ActiveIssues -eq 0) { "Green" } else { "Yellow" }) if ($serviceHealth.ServicesAffected.Count -gt 0) { Write-Host "Getroffen services: $($serviceHealth.ServicesAffected -join ', ')" -ForegroundColor Yellow } if ($serviceHealth.RegionsAffected.Count -gt 0) { Write-Host "Getroffen regio's: $($serviceHealth.RegionsAffected -join ', ')" -ForegroundColor Yellow } # Crisis activatie aanbeveling $crisisThreshold = $false if ($indicators.CriticalAlerts -ge 3 -or $indicators.HighSeverityAlerts -ge 10 -or $indicators.ResourceAvailability -lt 90 -or $serviceHealth.ActiveIssues -gt 0) { $crisisThreshold = $true } if ($crisisThreshold) { Write-Host "`n[WAARSCHUWING] Crisis activatiecriteria kunnen zijn bereikt:" -ForegroundColor Red if ($indicators.CriticalAlerts -ge 3) { Write-Host " • $($indicators.CriticalAlerts) kritieke waarschuwingen gedetecteerd" -ForegroundColor Red } if ($indicators.HighSeverityAlerts -ge 10) { Write-Host " • $($indicators.HighSeverityAlerts) hoge prioriteit waarschuwingen gedetecteerd" -ForegroundColor Red } if ($indicators.ResourceAvailability -lt 90) { Write-Host " • Resource beschikbaarheid onder 90%: $($indicators.ResourceAvailability)%" -ForegroundColor Red } if ($serviceHealth.ActiveIssues -gt 0) { Write-Host " • $($serviceHealth.ActiveIssues) actieve service health problemen" -ForegroundColor Red } Write-Host "`nOverweeg activatie van crisis management framework." -ForegroundColor Yellow } else { Write-Host "`n[INFO] Geen crisis indicatoren gedetecteerd. Azure-omgeving functioneert normaal." -ForegroundColor Green } return @{ Indicators = $indicators ServiceHealth = $serviceHealth CrisisThreshold = $crisisThreshold } } function Invoke-Implementation { <# .SYNOPSIS Ondersteunt crisis management activatie en monitoring. .DESCRIPTION Deze functie geeft richtlijnen voor crisis management activatie en ondersteunt het monitoren van crisis indicatoren. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Implementatie" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan $status = Invoke-Monitoring Write-Host "`n[INFO] Crisis management framework implementatie vereist organisatorische en technische maatregelen." -ForegroundColor Cyan Write-Host "`nAanbevolen stappen:" -ForegroundColor Cyan Write-Host " 1. Definieer crisis activatiecriteria en drempels" -ForegroundColor White Write-Host " 2. Stel een crisisteam samen met duidelijke rollen en verantwoordelijkheden" -ForegroundColor White Write-Host " 3. Configureer Azure Monitor alerts voor automatische escalatie" -ForegroundColor White Write-Host " 4. Ontwikkel draaiboeken voor verschillende crisisscenario's" -ForegroundColor White Write-Host " 5. Test het crisis management framework regelmatig via oefeningen" -ForegroundColor White Write-Host " 6. Documenteer communicatieprotocollen voor verschillende stakeholders" -ForegroundColor White Write-Host " 7. Integreer met Azure Security Center en Azure Sentinel voor detectie" -ForegroundColor White if ($status.CrisisThreshold) { Write-Host "`n[WAARSCHUWING] Huidige indicatoren suggereren dat crisis management mogelijk moet worden geactiveerd." -ForegroundColor Yellow Write-Host "Raadpleeg het crisis management plan en activeer het crisisteam indien nodig." -ForegroundColor Yellow } return $status } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt post-incident evaluatie en verbeteracties. .DESCRIPTION Deze functie geeft richtlijnen voor post-incident evaluatie en het identificeren van verbeteracties voor het crisis management framework. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName - Remediatie" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan $status = Invoke-Monitoring Write-Host "`n[INFO] Post-incident evaluatie en verbeteracties:" -ForegroundColor Cyan Write-Host "`nAanbevolen stappen voor post-incident evaluatie:" -ForegroundColor Cyan Write-Host " 1. Voer een after-action review uit binnen 2 weken na het incident" -ForegroundColor White Write-Host " 2. Analyseer wat goed werkte en wat verbeterd kan worden" -ForegroundColor White Write-Host " 3. Identificeer structurele zwaktes in het crisis management proces" -ForegroundColor White Write-Host " 4. Documenteer lessons learned en verbeteracties" -ForegroundColor White Write-Host " 5. Update draaiboeken en procedures op basis van bevindingen" -ForegroundColor White Write-Host " 6. Plan follow-up oefeningen om verbeteringen te testen" -ForegroundColor White Write-Host " 7. Deel lessons learned met de bredere organisatie" -ForegroundColor White if ($status.Indicators.CriticalAlerts -gt 0 -or $status.Indicators.HighSeverityAlerts -gt 0) { Write-Host "`n[WAARSCHUWING] Er zijn nog actieve waarschuwingen:" -ForegroundColor Yellow if ($status.Indicators.CriticalAlerts -gt 0) { Write-Host " • $($status.Indicators.CriticalAlerts) kritieke waarschuwingen" -ForegroundColor Yellow } if ($status.Indicators.HighSeverityAlerts -gt 0) { Write-Host " • $($status.Indicators.HighSeverityAlerts) hoge prioriteit waarschuwingen" -ForegroundColor Yellow } Write-Host "Onderzoek en los deze waarschuwingen op voordat u de post-incident evaluatie afrondt." -ForegroundColor Yellow } Write-Host "`n[INFO] Raadpleeg het crisis management plan voor gedetailleerde evaluatieprocedures." -ForegroundColor Cyan return $status } try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($Monitoring) { Invoke-Monitoring | Out-Null } elseif ($Implementation) { Invoke-Implementation | Out-Null } elseif ($Remediation) { Invoke-Remediation | Out-Null } else { # Standaard: monitoring-uitvoer Invoke-Monitoring | Out-Null } } catch { Write-Error ("Fout tijdens uitvoering van {0}: {1}" -f $PolicyName, $_) exit 1 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
Critical: Zonder een doordacht crisis management framework lopen organisaties een kritiek risico op langdurige dienstuitval, gegevensverlies, reputatieschade en niet-naleving van wettelijke verplichtingen zoals de NIS2 richtlijn, de AVG en de Baseline Informatiebeveiliging Overheid. Dit kan leiden tot boetes, toezichtsancties, verlies van vertrouwen bij burgers, en mogelijk onherstelbare schade aan de organisatie. Daarnaast kunnen organisaties niet aantonen dat zij voldoen aan compliance-eisen voor crisis management en incident response.

Management Samenvatting

Een crisis management framework biedt een gestructureerde aanpak voor het detecteren, escaleren, beheren en oplossen van kritieke beveiligingsincidenten en operationele verstoringen. Correcte implementatie vereist een crisis management structuur met duidelijke rollen en verantwoordelijkheden, escalatielijnen en besluitvormingsprocessen, communicatieprotocollen, technische incident response procedures, monitoring en detectie, en regelmatige oefeningen. Implementatie: 280 uur. Critical voor aantoonbare crisis management volgens BIO-, NIS2- en AVG-eisen.