Incident Response Oefenprogramma's Voor Microsoft 365

💼 Management Samenvatting

Een volwassen incident response oefenprogramma zorgt ervoor dat een organisatie niet pas tijdens een echt cyberincident ontdekt of de processen, mensen en technologie rondom Microsoft 365 daadwerkelijk werken. Door gestructureerde oefeningen rondom Microsoft 365 workloads te organiseren, kunnen organisaties hun detectie-, analyse- en responscapaciteiten testen en verbeteren voordat er sprake is van echte schade.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
36u (tech: 12u)
Van toepassing op:
M365
Overheidsorganisaties
Kritieke processen

Voor Nederlandse overheidsorganisaties is Microsoft 365 een kernplatform voor samenwerking, besluitvorming en de verwerking van gevoelige en vaak vertrouwelijke informatie. Tegelijkertijd zijn deze omgevingen een aantrekkelijk doelwit voor ransomware-groepen, statelijke actoren en cybercriminelen die gericht zijn op verstoring, datadiefstal of reputatieschade. Zelfs wanneer de technische beveiligingsmaatregelen goed zijn ingericht, blijkt in de praktijk dat incidenten vaak escaleren door onduidelijke verantwoordelijkheden, gebrek aan geoefende communicatie, onvoorbereide crisisteams en onrealistische aannames over doorlooptijden van analyses. Een gestructureerd en herhaalbaar incident response oefenprogramma maakt deze kwetsbaarheden zichtbaar in een gecontroleerde setting, zodat verbetermaatregelen kunnen worden genomen voordat een echte crisis zich aandient. Dit sluit direct aan bij verplichtingen uit de BIO, NIS2 en de AVG, waarin expliciet wordt verlangd dat organisaties voorbereid zijn op beveiligingsincidenten, tijdig kunnen rapporteren en aantoonbaar passende maatregelen treffen om de impact van incidenten te beperken.

PowerShell Modules Vereist
Primary API: Microsoft 365 Defender & Purview portals
Connection: Browser + optioneel PowerShell voor rapportage
Required Modules:

Implementatie

Een incident response oefenprogramma voor Microsoft 365 bestaat uit een reeks geplande en gedocumenteerde oefeningen waarin realistische scenario's worden gesimuleerd rondom onder andere accountcompromittering, datalekken in SharePoint of OneDrive, phishingcampagnes via Exchange Online, misbruik van Teams of een gecompromitteerde beheerdersidentiteit. De oefeningen variëren van kleinschalige tabletop-sessies waarin besluitvorming en coördinatie worden geoefend, tot technisch ingestoken simulaties waarbij logbronnen, Microsoft 365 Defender-waarschuwingen en forensische stappen daadwerkelijk worden doorlopen. Het programma beschrijft rollen en verantwoordelijkheden, oefendoelen, scope (bijvoorbeeld alleen M365 of ook koppelingen naar andere systemen), succescriteria, rapportageformats en opvolging van verbetermaatregelen. Door deze aanpak ontstaat een continue verbetercyclus: elke oefening levert concrete leerpunten op die worden vertaald naar aanpassingen in procedures, runbooks, tooling, training en technische configuraties.

Vereisten voor een effectief oefenprogramma

Een effectief incident response oefenprogramma kan alleen bestaan wanneer er vooraf duidelijke randvoorwaarden, doelstellingen en governance zijn vastgelegd. Zonder deze basis verworden oefeningen al snel tot losse, eenmalige initiatieven die weliswaar leerzaam voelen, maar niet leiden tot structurele verbetering van de weerbaarheid. Voor Nederlandse overheidsorganisaties betekent dit dat het oefenprogramma moet aansluiten op bestaande kaders zoals de Baseline Informatiebeveiliging Overheid (BIO), de organisatiebrede crisisstructuur en eventueel sectorale richtlijnen voor continuïteit en incidentmanagement. Bestuurders en directie moeten formeel erkennen dat oefenen een essentieel onderdeel is van risicobeheersing en compliance, niet een vrijblijvende extra activiteit. Dit uit zich in expliciete opname van oefenprogramma's in strategische plannen, jaarplannen en auditscope, inclusief toegewezen middelen, tijd en capaciteit.

Daarnaast zijn duidelijke rollen en verantwoordelijkheden cruciaal. De eigenaar van het oefenprogramma is bij voorkeur de CISO of een andere senior security-verantwoordelijke die mandaat heeft om afdelingen aan te spreken op deelname en opvolging. Onder deze eigenaar vallen een coördinator incident response oefeningen, vertegenwoordigers vanuit IT-beheer, Microsoft 365-beheerteams, SOC of monitoring, privacy officers, communicatie en eventueel functionarissen gegevensbescherming. Voor elke rol wordt vastgelegd welke bijdrage tijdens en na een oefening verwacht wordt, inclusief bereikbaarheid, besluitvormingsbevoegdheid en rapportageverplichtingen. Deze afspraken worden opgenomen in beleid en procedures, zodat deelname aan oefeningen niet afhankelijk is van goodwill maar ingebed is in de reguliere taakuitvoering.

Ook de technische randvoorwaarden moeten vooraf geregeld zijn. Dit betekent dat de organisatie inzicht heeft in de relevante Microsoft 365 logbronnen (zoals Microsoft 365 Defender, Purview auditlogs, Entra ID-aanmeldingslogs en activiteiten in SharePoint, OneDrive, Teams en Exchange Online) en dat deze bronnen beschikbaar zijn voor de betrokken analisten tijdens een oefening. Verder moeten er gestandaardiseerde runbooks of playbooks bestaan voor veelvoorkomende scenario's, bijvoorbeeld bij een gecompromitteerd account, verdachte aanmeldingen vanuit risicolanden, massale forwardingregels in mailboxen of ongeautoriseerde datadeling via Teams-kanalen. Deze runbooks vormen de basis voor de oefeningen: door ze in een gecontroleerde setting te doorlopen, wordt getest of de stappen logisch, uitvoerbaar en volledig zijn. Tot slot is een centrale opslaglocatie nodig voor oefenplannen, scenario's, after action reports en verbeterplannen, zodat aantoonbaarheid richting toezichthouders en auditors gewaarborgd is.

Ontwerp van het oefenprogramma

Bij het ontwerpen van een incident response oefenprogramma voor Microsoft 365 is het verstandig om te starten met een meerjarenvisie. In plaats van een enkele, grote oefening per jaar, is het effectiever om een reeks kleinschaligere oefeningen te plannen die samen alle kritieke processen en scenario's afdekken. Deze meerjarenaanpak voorkomt dat dezelfde personen en teams steeds opnieuw in de hoofdrol zitten en biedt ruimte om zowel technische als organisatorische aspecten te adresseren. Een veelgebruikte aanpak is om per jaar één tot twee organisatiebrede tabletop-oefeningen te plannen, aangevuld met meerdere kortere, thematische sessies voor specifieke doelgroepen zoals servicedesk, Microsoft 365-beheerders of communicatieafdelingen. Elke oefening heeft een duidelijk omschreven doel, bijvoorbeeld het testen van triage en escalatie bij verdachte aanmeldingen, het oefenen van communicatie met bestuur tijdens een ransomwaredreiging of het doorlopen van het datalekproces bij onbedoelde externe deling van documenten.

Scenario-ontwikkeling is een kernonderdeel van het ontwerp. Voor Microsoft 365-omgevingen kunnen scenario's worden opgebouwd rond concrete signalen uit logbronnen, zoals ongebruikelijke aanmeldingspatronen, het plotseling toekennen van beheerdersrollen, massale download van bestanden uit SharePoint of verdachte activiteiten in Exchange Online. Deze signalen worden gecombineerd met realistische context, bijvoorbeeld een lopend politiek dossier, een kritieke raadsvergadering of een campagneperiode waarin de organisatie extra kwetsbaar is voor desinformatie of sabotage. Elk scenario beschrijft een beginsituatie, triggers die tijdens de oefening worden ingebracht (bijvoorbeeld aanvullende logevents, fictieve media-aandacht of vragen van bestuurders) en verwachte uitkomsten, zoals een formeel incidentrapport, beslisnotities of aanpassingen in runbooks. Door vooraf duidelijk vast te leggen welke inzichten en verbeterpunten worden verwacht, kan de oefenleider de sessie strak regisseren en voorkomen dat de discussie afdwaalt.

Het ontwerp bevat daarnaast een planning voor frequentie en variatie. Voor organisaties met een hoog risicoprofiel of onder NIS2-regime is het verdedigbaar om elk kwartaal een oefening te organiseren, waarbij per keer een andere keten of kritieke dienst centraal staat. Zo kan in het eerste kwartaal de focus liggen op accountcompromittering via phishing, in het tweede kwartaal op datalekken via Teams, in het derde kwartaal op ransomware in combinatie met SharePoint en OneDrive en in het vierde kwartaal op coördinatie met externe partijen zoals leveranciers, CERT's of het Nationaal Cyber Security Centrum (NCSC). Cruciaal is dat na elke oefening een gestructureerde evaluatie plaatsvindt waarin niet alleen technische verbeterpunten worden benoemd, maar ook organisatorische aspecten zoals bereikbaarheid van sleutelfiguren, duidelijkheid in besluitvorming, kwaliteit van interne en externe communicatie en de aansluiting op crisismanagementstructuren.

Implementatie en uitvoering van oefeningen

De daadwerkelijke uitvoering van incident response oefeningen in een Microsoft 365-context begint met een gedetailleerd draaiboek per oefening. Dit draaiboek beschrijft stap voor stap hoe de sessie zal verlopen: van de uitnodiging van deelnemers en de uitleg van spelregels tot de introductie van scenario-elementen, het vastleggen van besluiten en het verzamelen van observaties. De oefenleider bewaakt de tijd, zorgt dat alle rollen aan bod komen en stuurt bij wanneer de discussie te technisch of juist te abstract wordt. Om de betrokkenheid te vergroten, is het aan te raden om met visuele hulpmiddelen te werken, zoals tijdlijnen, schematische tekeningen van de Microsoft 365-architectuur, voorbeeldschermen van logweergaven en fictieve e-mails of nieuwsberichten. Hierdoor worden de scenario's tastbaar en herkennen deelnemers sneller de parallellen met hun dagelijkse werk.

Tijdens de oefening wordt expliciet gelet op de samenwerking tussen verschillende disciplines. In een typisch Microsoft 365-incident zijn meerdere teams betrokken: servicedesk of functioneel beheer dat de eerste meldingen ontvangt, Microsoft 365-technisch beheer dat instellingen en logs controleert, security-analisten die correlaties leggen tussen signalen, privacy- en juridische experts die de kwalificatie van een mogelijk datalek beoordelen en communicatieadviseurs die berichten voorbereiden voor interne en externe stakeholders. Door deze disciplines gezamenlijk te laten oefenen, worden knelpunten zichtbaar zoals onduidelijke escalatieroutes, verschillende interpretaties van ernstniveaus, ontbrekende contactgegevens of tegenstrijdige instructies in procedures. De oefenleider stimuleert deelnemers om deze knelpunten direct te benoemen, zonder schuldvraag, zodat ze na de oefening kunnen worden geadresseerd.

Na afloop van elke oefening wordt een 'after action report' opgesteld waarin observaties, sterke punten, verbeterpunten en concrete acties worden vastgelegd. Dit rapport bevat minimaal een samenvatting van het scenario, een tijdlijn van belangrijke gebeurtenissen en besluiten, een overzicht van wat goed ging en wat beter kan en een lijst met verbeteracties met eigenaar, prioriteit en streefdatum. Specifiek voor Microsoft 365-omgevingen kunnen verbeteracties onder andere bestaan uit het verfijnen van Microsoft 365 Defender-alertregels, het uitbreiden van logging en retentie, het toevoegen van nieuwe playbooks in bijvoorbeeld Sentinel of het bijwerken van documentatie over beheerrollen en toegangsbeheer. Het is belangrijk dat de voortgang op deze acties periodiek wordt gemonitord en teruggekoppeld aan bestuur en relevante werkgroepen, zodat duidelijk is dat oefeningen niet alleen een momentopname zijn maar onderdeel van een structurele verbetercyclus.

Monitoring en continue verbetering

Gebruik PowerShell-script exercise-programs.ps1 (functie Invoke-Monitoring) – Voert een basale controle uit op de aanwezigheid en actualiteit van het incident response oefenprogramma en genereert een samenvattend rapport..

Monitoring van het incident response oefenprogramma richt zich niet op technische telemetrie uit Microsoft 365, maar op de vraag of het programma daadwerkelijk wordt uitgevoerd zoals bedoeld. Dit betekent dat organisaties periodiek controleren of de geplande oefeningen daadwerkelijk hebben plaatsgevonden, of de documentatie up-to-date is en of verbeteracties na eerdere oefeningen zijn opgevolgd. Een pragmatische aanpak is om een centrale configuratie of registratielijst bij te houden waarin per oefening de datum, het type scenario, de betrokken teams, de belangrijkste leerpunten en de status van verbeteracties worden vastgelegd. Op basis hiervan kan eenvoudig worden gerapporteerd aan management en toezichthouders over de volwassenheid van het oefenprogramma. Het bijbehorende PowerShell-script kan deze informatie uitlezen uit een lokale configuratiefile en een samenvattend overzicht geven inclusief een indicatie van compliance ten opzichte van interne doelstellingen, bijvoorbeeld minimaal twee oefeningen per jaar waarvan één organisatiebreed.

Naast kwantitatieve indicatoren zoals aantal oefeningen per jaar, is kwalitatieve monitoring minstens zo belangrijk. Dit omvat het periodiek evalueren of de scenario's nog aansluiten bij de actuele dreigingen en technologielandschap, zoals nieuwe aanvalstechnieken op Microsoft 365, wijzigingen in licenties of functionaliteit, of aanpassingen in de architectuur van de omgeving. Ook moet worden beoordeeld of sleutelrollen voldoende zijn vertegenwoordigd: wanneer bijvoorbeeld structureel dezelfde medewerkers deelnemen, bestaat het risico dat cruciale vervangers ongetraind blijven. Tot slot hoort bij continue verbetering dat bevindingen uit echte incidenten worden teruggekoppeld naar het oefenprogramma. Wanneer zich een daadwerkelijk Microsoft 365-beveiligingsincident voordoet, wordt dit gebruikt als bron voor nieuwe oefeningen, zodat de organisatie niet alleen leert van fictieve maar ook van werkelijke gebeurtenissen.

Remediatie en professionalisering

Gebruik PowerShell-script exercise-programs.ps1 (functie Invoke-Remediation) – Maakt een basisconfiguratiebestand voor het oefenprogramma aan en helpt bij het structureren van de eerste reeks oefeningen..

Wanneer uit een nulmeting of eerste evaluatie blijkt dat het incident response oefenprogramma onvoldoende volwassen is, moeten gerichte remediatieacties worden gedefinieerd. Vaak begint dit met het formaliseren van beleid: het vastleggen in een security- of continuïteitsbeleid dat periodieke oefeningen verplicht zijn, inclusief minimale frequentie, scope en rapportage-eisen. Vervolgens wordt een eerste jaarplan opgesteld waarin concreet wordt beschreven welke oefeningen wanneer plaatsvinden, welke scenario's worden gebruikt en welke teams betrokken zijn. Voor organisaties die nog geen ervaring hebben met oefenen, is het verstandig om te starten met een relatief eenvoudig tabletop-scenario gericht op basisprocessen zoals detectie en escalatie van een gecompromitteerd account, waarbij de nadruk ligt op het doorlopen van bestaande procedures en het identificeren van lacunes.

Naarmate de organisatie groeit in volwassenheid, kan de complexiteit van de oefeningen geleidelijk worden verhoogd. Dit kan door meer partijen te betrekken (bijvoorbeeld leveranciers, samenwerkingspartners of landelijke crisisstructuren), door tijdsdruk op te voeren of door technische simulaties toe te voegen waarbij logbronnen en Microsoft 365 Defender-alerts actief worden gebruikt. De lessons learned uit elke oefening worden vertaald naar concrete verbeteracties in processen, rollen, tooling en configuraties. Deze acties worden geregistreerd in een verbeterplan, bij voorkeur in dezelfde centrale configuratie die ook door het PowerShell-script wordt gebruikt, zodat monitoring en remediatie op elkaar aansluiten. Door deze cyclus van oefenen, evalueren, verbeteren en opnieuw oefenen structureel te verankeren, groeit het incident response oefenprogramma uit tot een volwaardig instrument voor risicobeheersing en compliance binnen de Microsoft 365-omgeving.

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
<# .SYNOPSIS Incident response oefenprogramma's voor Microsoft 365 .DESCRIPTION Helpt organisaties bij het monitoren en structureel vastleggen van incident response oefenprogramma's rondom Microsoft 365. Het script werkt met een eenvoudige lokale configuratiefile zodat het zonder extra modules kan worden gebruikt als governance- en rapportagetool. .NOTES Filename: exercise-programs.ps1 Author: Nederlandse Baseline voor Veilige Cloud Category: incident-response .EXAMPLE .\exercise-programs.ps1 -Monitoring Toon een samenvatting van geplande en uitgevoerde oefeningen op basis van de configuratiefile. .EXAMPLE .\exercise-programs.ps1 -Remediation Maak een basisconfiguratiefile voor het incident response oefenprogramma aan. #> #Requires -Version 5.1 [CmdletBinding()] param( [Parameter(Mandatory = $false)] [switch]$Monitoring, [Parameter(Mandatory = $false)] [switch]$Remediation, [Parameter(Mandatory = $false)] [switch]$Revert, [Parameter(Mandatory = $false)] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Incident Response Oefenprogramma's (M365)" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Get-ConfigPath { <# .SYNOPSIS Bepaalt het pad naar de lokale configuratiefile. #> $scriptDir = Split-Path -Parent $PSCommandPath $configPath = Join-Path -Path $scriptDir -ChildPath "exercise-programs.config.json" return $configPath } function Initialize-DefaultConfig { <# .SYNOPSIS Maakt een basisconfiguratie voor het oefenprogramma aan. #> $config = [ordered]@{ version = "1.0" lastUpdated = (Get-Date).ToString("yyyy-MM-dd") owner = "CISO / Security Officer" objectives = @( "Minimaal twee incident response oefeningen per jaar uitvoeren gericht op Microsoft 365.", "Ten minste één organisatiebrede tabletop-oefening per jaar organiseren.", "Na elke oefening een after action report opstellen inclusief verbeterplan." ) targetCounts = [ordered]@{ yearlyExercises = 2 organizationWide = 1 technicalScenarios = 1 tabletopScenarios = 1 } exercises = @( [ordered]@{ id = "M365-IR-EX-001" title = "Compromittering van Microsoft 365-beheerdersaccount" type = "Tabletop" scope = "Microsoft 365, Entra ID, Exchange Online, Teams" plannedDate = "" executedDate = "" status = "Planned" owner = "CISO / M365-beheer" keyObjectives = @( "Testen van escalatie- en besluitvormingsproces.", "Beoordelen van gebruik van M365-logs en auditinformatie.", "Valideren van communicatie richting bestuur en privacy officer." ) } ) } return $config } function Invoke-Monitoring { <# .SYNOPSIS Controleert de status van het oefenprogramma en genereert een samenvattend rapport. #> try { $configPath = Get-ConfigPath if (-not (Test-Path -Path $configPath)) { Write-Host "[WARN] Geen configuratie gevonden voor het oefenprogramma." -ForegroundColor Yellow Write-Host " Verwacht bestand: $configPath" -ForegroundColor Yellow Write-Host " Voer '.\exercise-programs.ps1 -Remediation' uit om een basisconfiguratie aan te maken.`n" -ForegroundColor Yellow exit 1 } $rawContent = Get-Content -Path $configPath -Raw -ErrorAction Stop $config = $rawContent | ConvertFrom-Json -ErrorAction Stop $totalExercises = ($config.exercises | Measure-Object).Count $executed = ($config.exercises | Where-Object { $_.status -eq 'Completed' }).Count $planned = ($config.exercises | Where-Object { $_.status -eq 'Planned' }).Count $overdue = ($config.exercises | Where-Object { $_.plannedDate -and $_.status -ne 'Completed' -and (Get-Date $_.plannedDate) -lt (Get-Date) }).Count $targetPerYear = $config.targetCounts.yearlyExercises $currentYear = (Get-Date).Year $executedThisYear = ($config.exercises | Where-Object { $_.executedDate -and (Get-Date $_.executedDate).Year -eq $currentYear }).Count Write-Host "Configuratiebestand: $configPath" -ForegroundColor Gray Write-Host "Versie: $($config.version)" -ForegroundColor Gray Write-Host "Eigenaar: $($config.owner)" -ForegroundColor Gray Write-Host "Laatst bijgewerkt: $($config.lastUpdated)`n" -ForegroundColor Gray Write-Host "Samenvatting oefeningen:" -ForegroundColor Cyan Write-Host " Totaal gedefinieerde oefeningen : $totalExercises" -ForegroundColor White Write-Host " Uitgevoerd : $executed" -ForegroundColor White Write-Host " Gepland : $planned" -ForegroundColor White Write-Host " Achterstallig t.o.v. plandatum : $overdue`n" -ForegroundColor White Write-Host "Doelstellingen per jaar:" -ForegroundColor Cyan Write-Host " Minimaal aantal oefeningen per jaar : $targetPerYear" -ForegroundColor White Write-Host " Uitgevoerd in $currentYear : $executedThisYear`n" -ForegroundColor White $isCompliant = $executedThisYear -ge $targetPerYear if ($isCompliant) { Write-Host "[OK] Doelstelling voor dit jaar is behaald of ligt op schema." -ForegroundColor Green exit 0 } else { Write-Host "[WARN] Doelstelling voor dit jaar is nog niet behaald." -ForegroundColor Yellow Write-Host " Overweeg extra oefeningen in te plannen om aan BIO/NIS2-verplichtingen te voldoen." -ForegroundColor Yellow exit 1 } } catch { Write-Host "`n[FAIL] Er is een fout opgetreden tijdens monitoring: $_" -ForegroundColor Red Write-Host "Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Remediation { <# .SYNOPSIS Maakt of actualiseert de basisconfiguratie voor het oefenprogramma. #> try { $configPath = Get-ConfigPath if (Test-Path -Path $configPath) { Write-Host "[INFO] Bestaande configuratie gevonden op: $configPath" -ForegroundColor Cyan Write-Host " Er wordt een back-up gemaakt voordat de configuratie wordt bijgewerkt." -ForegroundColor Cyan $backupPath = "$configPath.bak_{0}" -f (Get-Date -Format "yyyyMMddHHmmss") if (-not $WhatIf) { Copy-Item -Path $configPath -Destination $backupPath -ErrorAction Stop } Write-Host " Back-up opgeslagen als: $backupPath`n" -ForegroundColor Gray } $config = Initialize-DefaultConfig $json = $config | ConvertTo-Json -Depth 6 if ($WhatIf) { Write-Host "[WhatIf] Configuratie zou worden geschreven naar: $configPath" -ForegroundColor Yellow Write-Host $json } else { $configDir = Split-Path -Parent $configPath if (-not (Test-Path -Path $configDir)) { New-Item -ItemType Directory -Path $configDir -Force | Out-Null } $json | Out-File -FilePath $configPath -Encoding UTF8 -Force Write-Host "[OK] Basisconfiguratie voor het oefenprogramma is aangemaakt of bijgewerkt." -ForegroundColor Green Write-Host " Bestand: $configPath" -ForegroundColor Green } Write-Host "`nVolgende stappen (aanbevolen):" -ForegroundColor Cyan Write-Host " 1. Open de configuratiefile en vul de geplande en uitgevoerde oefendata in." -ForegroundColor Gray Write-Host " 2. Voeg aanvullende oefeningen toe die aansluiten op uw risicobeeld." -ForegroundColor Gray Write-Host " 3. Gebruik -Monitoring om periodiek voortgang en aantoonbaarheid te controleren." -ForegroundColor Gray exit 0 } catch { Write-Host "`n[FAIL] Er is een fout opgetreden tijdens remediatie: $_" -ForegroundColor Red Write-Host "Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Revert { <# .SYNOPSIS Verwijdert optioneel de configuratiefile voor het oefenprogramma. #> try { $configPath = Get-ConfigPath if (-not (Test-Path -Path $configPath)) { Write-Host "[INFO] Er is geen configuratiefile om te verwijderen." -ForegroundColor Cyan exit 0 } if ($WhatIf) { Write-Host "[WhatIf] Configuratiefile zou worden verwijderd: $configPath" -ForegroundColor Yellow } else { Remove-Item -Path $configPath -Force -ErrorAction Stop Write-Host "[OK] Configuratiefile verwijderd: $configPath" -ForegroundColor Green } exit 0 } catch { Write-Host "`n[FAIL] Er is een fout opgetreden tijdens het verwijderen van de configuratie: $_" -ForegroundColor Red Write-Host "Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Gebruik:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer status en aantoonbaarheid van het oefenprogramma" -ForegroundColor Gray Write-Host " -Remediation Maak of actualiseer de basisconfiguratie" -ForegroundColor Gray Write-Host " -Revert Verwijder de configuratiefile (optioneel, met -WhatIf voor dry-run)" -ForegroundColor Gray } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder een gestructureerd incident response oefenprogramma blijft onduidelijk of de organisatie in staat is om snel en effectief te reageren op ernstige Microsoft 365-incidenten, wat kan leiden tot langdurige verstoringen, datalekken en niet-naleving van BIO, NIS2 en AVG-verplichtingen.

Management Samenvatting

Richt een formeel incident response oefenprogramma in rond Microsoft 365, met jaarlijkse organisatiebrede oefeningen en meerdere thematische sessies. Documenteer scenario's, leerpunten en verbeteracties, en gebruik eenvoudige tooling om voortgang en volwassenheid te monitoren.