Incident Response: Overzicht En Fundamenten Voor Nederlandse Overheidsorganisaties

💼 Management Samenvatting

Incident response vormt de kritieke schakel tussen detectie van beveiligingsdreigingen en effectieve respons binnen Nederlandse overheidsorganisaties. Dit index-artikel schetst de overkoepelende principes, strategieën en best practices voor het opzetten en onderhouden van een volwassen incident response organisatie, ongeacht of systemen on-premises, in de cloud of in hybride omgevingen draaien. Het artikel positioneert incident response binnen de Nederlandse Baseline voor Veilige Cloud en biedt een kapstok voor meer specifieke artikelen over CSIRT-opzet, playbooks, forensische analyse, oefenprogramma's en meldprocedures.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
280u (tech: 160u)
Van toepassing op:
Azure
M365
On-premises
Hybride omgevingen

Nederlandse overheidsorganisaties staan voor de uitdaging om beveiligingsincidenten tijdig te detecteren, adequaat te classificeren, effectief te containen en te remediëren, en daarbij te voldoen aan strikte meldplichten onder de NIS2 richtlijn, de AVG en de BIO. Zonder een doordachte en geteste incident response strategie loopt een organisatie het risico dat aanvallen onopgemerkt blijven, dat respons traag en inconsistent verloopt, dat bewijs verloren gaat, en dat meldplichten niet tijdig worden nagekomen. Dit kan leiden tot schending van wettelijke verplichtingen, bestuurlijke aansprakelijkheid, verlies van vertrouwen bij burgers en aanzienlijke operationele en financiële schade. Een gestructureerde incident response aanpak zorgt ervoor dat technische detectie, organisatorische processen en governance met elkaar zijn verbonden in een samenhangend raamwerk met duidelijke rollen, besluitvormingslijnen en draaiboeken per scenario.

PowerShell Modules Vereist
Primary API: Microsoft 365 Defender, Microsoft Sentinel, Azure Portal
Connection: Connect-MgGraph, Connect-AzAccount
Required Modules: Microsoft.Graph, Az.Accounts, Az.SecurityInsights

Implementatie

Dit index-artikel positioneert incident response binnen de Nederlandse Baseline voor Veilige Cloud en beschrijft hoe organisaties een samenhangend incident response landschap kunnen opbouwen dat voldoet aan de eisen van de Baseline Informatiebeveiliging Overheid (BIO), de NIS2 richtlijn en andere relevante wet- en regelgeving. We behandelen fundamentele concepten zoals Computer Security Incident Response Team (CSIRT) opzet, incident classificatie, detectie en triage, containment en eradictie, herstel en post-incident analyse, en laten zien hoe deze worden vertaald naar concrete technische en organisatorische maatregelen. Het artikel fungeert als kapstok voor meer specifieke artikelen over incident response planning, playbook ontwikkeling, forensische analyse, oefenprogramma's en meldprocedures, en beschrijft hoe deze onderdelen samenkomen in een volwassen, aantoonbaar beveiligde en responsieve organisatie. Daarnaast biedt het artikel handvatten voor governance, monitoring en periodieke evaluatie van de incident response volwassenheid.

Fundamenten van Incident Response

Incident response is een strategisch kader dat technische detectie, organisatorische processen en governance met elkaar verbindt tot een samenhangend geheel dat de tijdige detectie, adequate respons en effectieve remediatie van beveiligingsincidenten waarborgt. In tegenstelling tot ad-hoc reacties waarbij incidenten worden opgelost zonder gestructureerd proces, vormt een doordachte incident response strategie de ruggengraat die ervoor zorgt dat alle componenten – van detectie via Microsoft Sentinel en Defender tot containment via Conditional Access en Intune, van forensische analyse tot communicatie richting bestuur en toezichthouders – op een consistente, beveiligde en reproduceerbare manier samenwerken. Deze strategie moet expliciet rekening houden met de specifieke eisen die gelden voor Nederlandse overheidsorganisaties, waaronder de Baseline Informatiebeveiliging Overheid (BIO), de NIS2 richtlijn, de Algemene Verordening Gegevensbescherming (AVG) en sectorale wetgeving zoals de Archiefwet.

De primaire rol van incident response is het waarborgen van een veerkrachtige, responsieve en compliance-gerichte beveiligingsorganisatie waarin organisaties beveiligingsincidenten kunnen detecteren, analyseren, containen en remediëren zonder onnodige risico's op langdurige blootstelling, dataverlies of niet-naleving van meldplichten. Dit betekent dat incident response keuzes niet alleen technisch correct moeten zijn, maar ook aantoonbaar moeten voldoen aan wettelijke en bestuurlijke vereisten. Een goed ontworpen incident response strategie maakt het mogelijk om te bewijzen dat passende maatregelen zijn genomen om incidenten te detecteren en te behandelen, dat responsprocedures daadwerkelijk werken en dat de organisatie in staat is om snel en adequaat te reageren op beveiligingsdreigingen. Voor auditors, toezichthouders en bestuurders biedt een gedocumenteerde incident response strategie transparantie over hoe incidenten worden behandeld en hoe deze worden onderhouden en getest.

De scope van incident response binnen de Nederlandse Baseline voor Veilige Cloud omvat alle lagen van de beveiligingsstack: van detectie via SIEM-oplossingen zoals Microsoft Sentinel tot containment via Conditional Access en Intune, van forensische analyse tot communicatie en melding richting toezichthouders. Het incident response landschap moet rekening houden met verschillende typen incidenten – van malware-infecties tot account-compromittering, van datalekken tot denial-of-service aanvallen – en moet schaalbaar zijn van kleine organisaties met beperkte resources tot enterprise-omgevingen die duizenden gebruikers en honderden applicaties ondersteunen. Daarnaast moet de strategie flexibel genoeg zijn om te kunnen evolueren met nieuwe dreigingen en veranderende compliance-eisen, terwijl de fundamentele incident response principes consistent blijven.

Een fundamenteel concept binnen incident response is het Computer Security Incident Response Team (CSIRT), een multidisciplinair team dat verantwoordelijk is voor de detectie, analyse, containment, eradictie en herstel van beveiligingsincidenten. Een CSIRT bestaat doorgaans uit een incident manager, technische specialisten op het gebied van Microsoft 365, Azure en netwerkbeveiliging, vertegenwoordigers van informatiebeveiliging en privacy, en waar nodig juridische ondersteuning en communicatie. Voor kleinere organisaties kan een extern Security Operations Center (SOC) een deel van deze rol vervullen, mits de verantwoordelijkheden, responstijden en escalatiepaden contractueel en praktisch zijn vastgelegd. Zonder duidelijk CSIRT is het in de praktijk onduidelijk wie beslissingen mag nemen over bijvoorbeeld het isoleren van systemen of het informeren van toezichthouders, wat kostbare vertraging oplevert.

Governance en Compliance

Governance rond incident response raakt meerdere disciplines: informatiebeveiliging, privacy, juridische zaken, communicatie, crisisbeheersing en risk management. Zonder een helder governance-model ontstaat het risico dat incident response keuzes versnipperd worden gemaakt, dat verschillende teams verschillende standaarden hanteren, en dat niemand zich eigenaar voelt van de integrale incident response strategie. Een effectief governance-model benoemt daarom ten minste een CISO of vergelijkbare functie die verantwoordelijk is voor de overkoepelende beveiligingsstrategie, een incident manager die de dagelijkse operatie leidt, een privacy officer die meldplichten bewaakt, en expliciete rollen voor communicatie, juridische zaken en bestuur. Deze rollen worden vertaald naar concrete taken: wie keurt nieuwe playbooks goed, wie beoordeelt incident classificaties, wie beheert de incident response documentatie, en wie beslist over escalatie naar bestuur of toezichthouders.

Op compliancegebied vormt incident response een kruispunt van verschillende wettelijke kaders. De AVG vereist dat datalekken binnen 72 uur worden gemeld aan de Autoriteit Persoonsgegevens en dat betrokkenen worden geïnformeerd wanneer er een hoog risico bestaat. De NIS2 richtlijn verplicht essentiële en belangrijke entiteiten om significante incidenten binnen strikte termijnen te melden aan de bevoegde toezichthouders. De BIO bevat concrete eisen op het gebied van incidentbeheer, waaronder het formeel vastleggen van verantwoordelijkheden en procedures, het bijhouden van een centraal incidentregister en het periodiek toetsen van processen. ISO 27001 biedt een internationaal erkend framework voor informatiebeveiligingsmanagement, inclusief specifieke controls rond incidentbeheer. Deze compliance-vereisten moeten expliciet worden vertaald naar incident response keuzes: welke detectieregels worden gebruikt, hoe worden incidenten geclassificeerd, hoe worden meldingen voorbereid, en hoe wordt incident response georganiseerd. Dit index-artikel moet daarom expliciet worden gelezen in samenhang met andere artikelen binnen de Nederlandse Baseline voor Veilige Cloud, zoals de artikelen over incident response planning, playbook ontwikkeling, forensische analyse en oefenprogramma's. Samen vormen zij een consistent raamwerk: dit artikel schetst de overkoepelende lijnen, terwijl de deelartikelen verdieping bieden op specifieke incident response patronen en technische implementaties.

Voor auditors en toezichthouders is vooral van belang dat de samenhang tussen beleid, processen, implementatie en operationele controles aantoonbaar is. Dat betekent dat u niet alleen procesbeschrijvingen en playbooks beschikbaar heeft, maar ook concreet kunt laten zien welke detectieregels er zijn, hoe incidenten worden geregistreerd, hoe vaak oefeningen worden uitgevoerd en welke verbeteracties zijn ondernomen na incidenten of bevindingen. De in dit domein beschreven PowerShell-scripts – waaronder het index-script bij dit artikel en de scripts voor specifieke incident response componenten – helpen om deze informatie snel en reproduceerbaar te verzamelen. Door hun output te koppelen aan dashboards en rapportages wordt governance niet beperkt tot papieren documenten, maar ondersteund door actuele operationele data die aantoonbaar maakt dat de incident response strategie daadwerkelijk wordt nageleefd en onderhouden.

Implementatieroadmap

De implementatie van een volwassen incident response strategie verloopt zelden in één grote stap, maar groeit geleidelijk van een solide basis naar een geavanceerd, geoptimaliseerd landschap. In de eerste fase wordt de fundamentele basis gelegd: een goed gestructureerde risicobeoordeling waarin per dienst wordt vastgesteld welke typen incidenten de grootste impact hebben, welke wettelijke verplichtingen gelden en welk niveau van detectie en respons benodigd is. Voor elk kritisch scenario worden expliciete doelstellingen vastgesteld, bijvoorbeeld een detectietijd van vijftien minuten en een containmenttijd van één uur voor een account-compromittering in een kritiek systeem. Deze doelstellingen vormen de harde ontwerpcriteria voor de incident response architectuur en voorkomen discussies op het moment van een incident.

Vervolgens wordt het CSIRT formeel ingericht. Dit betekent dat er functieprofielen en rollen worden gedefinieerd, vervanging bij afwezigheid wordt geregeld en bereikbaarheid buiten kantooruren wordt georganiseerd. Voor iedere rol wordt vastgelegd welke bevoegdheden aanwezig zijn, zoals het tijdelijk uitschakelen van accounts, het isoleren van systemen of het stopzetten van delen van de dienstverlening. Tegelijkertijd wordt een governance-structuur ingericht waarin de CISO, CIO en proceseigenaren op de hoogte worden gehouden van de voortgang en beslissingen tijdens een incident. Het PowerShell-script dat in deze configuratie wordt gebruikt, ondersteunt onder meer het consistent uitrollen van benodigde instellingen, het activeren van relevante logging en het configureren van notificaties richting het CSIRT.

Daarna wordt de technische infrastructuur voor detectie en respons opgebouwd. Microsoft Sentinel wordt geconfigureerd als centrale SIEM-oplossing, waarbij dataconnectors worden ingericht voor onder andere Entra ID, Microsoft Defender producten, Azure-resources en eventueel on-premises logbronnen. Op basis van best-practice analytics rules en organisatie-specifieke dreigingsmodellen worden maatregelen gedefinieerd die verdachte activiteiten automatisch detecteren en incidenten aanmaken. In deze fase worden ook automatische responsacties ingericht via playbooks, bijvoorbeeld om bij een hoogrisicodetectie een apparaat direct in quarantaine te plaatsen, risicovolle sessies te beëindigen of verdachte tokens in te trekken. Door gebruik te maken van standaardisatie in scripts en beleidsconfiguraties wordt de kans op menselijke fouten verkleind en kan de organisatie sneller en consistenter reageren.

In de volwassenheidsfase wordt de incident response strategie geoptimaliseerd en geautomatiseerd. Geavanceerde detectieregels met machine learning helpen om nieuwe aanvalstechnieken vroegtijdig te identificeren. Geautomatiseerde playbooks zorgen voor snelle en consistente respons op veelvoorkomende scenario's. Geautomatiseerde compliance-controles en incident response assessments worden regelmatig uitgevoerd om te verifiëren dat de strategie nog steeds voldoet aan alle vereisten. Governance wordt volwassen met geautomatiseerde rapportages, dashboards voor bestuurders en geïntegreerde change management processen. Door deze fasering expliciet te maken in een roadmap – met duidelijke mijlpalen, beslismomenten en success criteria – ontstaat voorspelbaarheid voor bestuurders en wordt het eenvoudiger om investeringen, risico's en baten te verantwoorden.

Monitoring en Evaluatie

Gebruik PowerShell-script index.ps1 (functie Invoke-Monitoring) – Geeft een overzicht van de belangrijkste incident response componenten en controleert of basiselementen aanwezig en correct geconfigureerd zijn..

Monitoring van het incident response landschap gaat verder dan het bewaken van individuele detectieregels of incidenten. Bestuurders, CISO's en security teams hebben behoefte aan een samenvattend beeld: welke detectieregels zijn actief, hoe is de incident response status ingericht, welke playbooks zijn beschikbaar, en zijn er signalen dat de incident response strategie niet meer voldoet aan compliance-vereisten. Het index-script bij dit artikel inventariseert de belangrijkste incident response componenten en vertaalt die naar een compacte managementsamenvatting: hoeveel detectieregels zijn actief, hoeveel playbooks zijn geconfigureerd, welke incidenten zijn recent afgehandeld, en voor welke onderdelen aanvullende acties nodig zijn. Dit vormt een startpunt voor diepgaandere analyses met gespecialiseerde scripts voor specifieke incident response componenten, en helpt om het gesprek met bestuur en auditcommissies te structureren rond feitelijke cijfers en meetbare incident response volwassenheid.

Effectieve incident response monitoring omvat zowel technische als governance-aspecten. Technisch gezien moet worden gemonitord of detectieregels correct zijn geconfigureerd volgens de incident response standaarden, of SIEM-oplossingen actief zijn en correct functioneren, en of er afwijkingen zijn die kunnen wijzen op security risico's of compliance-problemen. Governance-monitoring richt zich op de vraag of incident response principes worden nageleefd, of documentatie actueel is, of change management processen correct worden gevolgd, en of er regelmatige reviews plaatsvinden om de incident response strategie te evalueren en te verbeteren. Door beide aspecten te combineren ontstaat een compleet beeld van de incident response volwassenheid en kunnen gerichte verbeteracties worden ondernomen om de strategie verder te professionaliseren.

Remediatie en Volwassenwording

Gebruik PowerShell-script index.ps1 (functie Invoke-Remediation) – Genereert overzichten van incident response hiaten en biedt handvatten voor gerichte verbeteracties om de incident response volwassenheid te verhogen..

Remediatie binnen het incident response domein betekent in de praktijk dat u gaten dicht tussen de gewenste incident response strategie en de werkelijkheid. In veel organisaties bestaan al wel beleidsdocumenten over informatiebeveiliging, incidentbeheer en meldplichten, maar ontbreekt concrete vastlegging van hoe deze worden vertaald naar configuraties, welke detectieregels daadwerkelijk zijn ingericht, en hoe de incident response strategie wordt onderhouden en geëvalueerd. Het index-script ondersteunt remediatie door automatisch te inventariseren waar incident response standaarden niet worden nageleefd, waar detectieregels of playbooks ontbreken, en waar documentatie verouderd of incompleet is. Op basis van deze inventarisatie kunnen gerichte verbeteracties worden gepland en uitgevoerd, waarbij prioriteit wordt gegeven aan de meest kritieke hiaten die de grootste impact hebben op beveiliging en compliance.

Een volwassen incident response strategie groeit stap voor stap door continue verbetering. Na elke monitoringsronde worden de belangrijkste verbeterpunten vastgelegd, van een eigenaar voorzien en ingepland in het reguliere change- of verbeterportfolio. Denk aan het standaardiseren van detectieregels, het implementeren van ontbrekende playbooks, het verbeteren van forensische analyse capaciteit, het actualiseren van incident response documentatie of het invoeren van geautomatiseerde compliance-controles. Door de resultaten van het index-script te combineren met de uitkomsten van gespecialiseerde scripts voor specifieke incident response componenten ontstaat een integraal beeld van de voortgang. Uiteindelijk wordt incident response zo niet alleen een technisch ontwerp, maar een aantoonbaar beheerst en verantwoord ingericht fundament voor de beveiligingsorganisatie, dat continu wordt geëvalueerd en verbeterd om te blijven voldoen aan veranderende eisen en dreigingen.

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 Overzichtsmonitoring en remediatie voor incident response landschap .DESCRIPTION Geeft een samenvattend beeld van de belangrijkste incident response componenten (detectieregels, playbooks, CSIRT-opzet en documentatie) binnen de repository en ondersteunt het gericht dichten van hiaten in incident response standaarden en configuratieregisters. .NOTES Filename: index.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-27 Last Modified: 2025-01-27 Version: 1.0 Related JSON: content/general/incident-response/index.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\index.ps1 -Monitoring Toont een samenvattend overzicht van incident response componenten en configuratiestatus. .EXAMPLE .\index.ps1 -Remediation Genereert een basisoverzicht en, indien gewenst, templates voor ontbrekende incident response documentatie. #> #Requires -Version 5.1 [CmdletBinding()] param( [Parameter(HelpMessage = "Voer een samenvattende monitoring uit van het incident response landschap.")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer remediatie-overzichten en optioneel documentatietemplates.")] [switch]$Remediation, [Parameter(HelpMessage = "Toon welke acties zouden worden uitgevoerd zonder daadwerkelijk te wijzigen.")] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Get-RepositoryRoot { <# .SYNOPSIS Bepaalt de rootmap van de repository op basis van de locatie van dit script. .OUTPUTS String met pad naar repository-root. #> [CmdletBinding()] param() $root = Resolve-Path (Join-Path $PSScriptRoot "..\..\..") -ErrorAction SilentlyContinue if (-not $root) { throw "Kon de repository-root niet bepalen op basis van PSScriptRoot: $PSScriptRoot" } return $root.Path } function Get-IncidentResponseInventory { <# .SYNOPSIS Stelt een overzicht op van incident response-gerelateerde JSON- en PS1-bestanden. .OUTPUTS PSCustomObject met aantallen en details. #> [CmdletBinding()] param() $repoRoot = Get-RepositoryRoot $contentPaths = @( Join-Path $repoRoot "content\general\incident-response", Join-Path $repoRoot "content\m365\incident-response", Join-Path $repoRoot "content\design\security" ) $codePaths = @( Join-Path $repoRoot "code\general\incident-response", Join-Path $repoRoot "code\m365\incident-response", Join-Path $repoRoot "code\design\security" ) $jsonFiles = @() foreach ($path in $contentPaths) { if (Test-Path -Path $path) { $files = Get-ChildItem -Path $path -Filter "*incident-response*.json" -File -ErrorAction SilentlyContinue $jsonFiles += $files } } $ps1Files = @() foreach ($path in $codePaths) { if (Test-Path -Path $path) { $files = Get-ChildItem -Path $path -Filter "*incident-response*.ps1" -File -ErrorAction SilentlyContinue $ps1Files += $files } } $byName = @{} foreach ($json in $jsonFiles) { $base = [System.IO.Path]::GetFileNameWithoutExtension($json.Name) if (-not $byName.ContainsKey($base)) { $byName[$base] = [pscustomobject]@{ Name = $base JsonPath = $null JsonUpdated = $null ScriptPath = $null ScriptUpdated= $null } } $entry = $byName[$base] $entry.JsonPath = $json.FullName $entry.JsonUpdated = $json.LastWriteTime $byName[$base] = $entry } foreach ($ps1 in $ps1Files) { $base = [System.IO.Path]::GetFileNameWithoutExtension($ps1.Name) if (-not $byName.ContainsKey($base)) { $byName[$base] = [pscustomobject]@{ Name = $base JsonPath = $null JsonUpdated = $null ScriptPath = $null ScriptUpdated= $null } } $entry = $byName[$base] $entry.ScriptPath = $ps1.FullName $entry.ScriptUpdated = $ps1.LastWriteTime $byName[$base] = $entry } $items = $byName.Values | Sort-Object Name $missingJson = $items | Where-Object { -not $_.JsonPath } $missingScript = $items | Where-Object { -not $_.ScriptPath } return [pscustomobject]@{ RepositoryRoot = $repoRoot Items = $items MissingJson = $missingJson MissingScripts = $missingScript TotalControls = $items.Count WithJsonAndPs1 = ($items | Where-Object { $_.JsonPath -and $_.ScriptPath }).Count } } function New-IncidentResponseDocumentationTemplate { <# .SYNOPSIS Maakt een eenvoudige Markdown-template aan voor aanvullende incident response documentatie. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$Name, [Parameter(Mandatory = $true)] [string]$OutputPath ) $template = @" # Incident Response component: $Name **Laatst bijgewerkt:** $(Get-Date -Format "yyyy-MM-dd") **Documentatie-eigenaar:** [Naam / functie] **Status:** Concept ## 1. Rol in het incident response landschap [Beschrijf hoe deze component (artikel, script of control) past in de totale incident response strategie.] ## 2. Incident response principes en design patterns [Beschrijf welke incident response principes en design patterns worden toegepast, inclusief detectie, containment, eradictie en herstel.] ## 3. Technische implementatie [Beschrijf de concrete services, configuraties en koppelingen voor detectie, SIEM-oplossingen, playbooks en automatische respons.] ## 4. Beveiligingsmaatregelen [Beschrijf beveiligingslagen, toegangscontrole, logging en monitoring voor incident response voorzieningen.] ## 5. Compliance en governance [Beschrijf hoe wordt voldaan aan BIO, NIS2, AVG en andere relevante kaders voor incident response, inclusief meldplichten.] ## 6. Testen en verbeterpunten [Beschrijf testscenario's, oefeningen, bekende verbeterpunten en evaluatiemomenten.] "@ $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $template | Out-File -FilePath $OutputPath -Encoding UTF8 Write-Host " Template gegenereerd: $OutputPath" -ForegroundColor Green } function Invoke-Monitoring { <# .SYNOPSIS Voert een samenvattende monitoring uit van incident response componenten. .OUTPUTS PSCustomObject met overzichtsresultaten. #> [CmdletBinding()] param() Write-Host "`nMonitoring: Incident Response overzicht" -ForegroundColor Yellow Write-Host "=========================================" -ForegroundColor Yellow $inventory = Get-IncidentResponseInventory Write-Host "`nRepository-root: $($inventory.RepositoryRoot)" -ForegroundColor Cyan Write-Host "Totaal incident response controls (JSON/PS1-combinaties): $($inventory.TotalControls)" -ForegroundColor Cyan Write-Host "Volledig gekoppeld (JSON + PS1): $($inventory.WithJsonAndPs1)" -ForegroundColor Cyan if ($inventory.MissingJson.Count -gt 0) { Write-Host "`n❌ Ontbrekende JSON voor de volgende scripts:" -ForegroundColor Red foreach ($item in $inventory.MissingJson) { Write-Host " - $($item.Name) (script: $($item.ScriptPath))" -ForegroundColor Red } } if ($inventory.MissingScripts.Count -gt 0) { Write-Host "`n❌ Ontbrekende PS1-scripts voor de volgende JSON-bestanden:" -ForegroundColor Red foreach ($item in $inventory.MissingScripts) { Write-Host " - $($item.Name) (json: $($item.JsonPath))" -ForegroundColor Red } } if (($inventory.MissingJson.Count -eq 0) -and ($inventory.MissingScripts.Count -eq 0)) { Write-Host "`n✅ Alle incident response artikelen hebben zowel JSON als PS1." -ForegroundColor Green } else { Write-Host "`n⚠️ Er zijn nog hiaten in de JSON/PS1-koppeling voor incident response." -ForegroundColor Yellow Write-Host " Gebruik -Remediation om gericht met deze hiaten aan de slag te gaan." -ForegroundColor Yellow } return [pscustomobject]@{ Inventory = $inventory } } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt remediatie door ontbrekende componenten inzichtelijk te maken en optioneel documentatietemplates te genereren. .OUTPUTS PSCustomObject met remediatieadvies. #> [CmdletBinding()] param() Write-Host "`nRemediatie: Incident Response overzicht" -ForegroundColor Yellow Write-Host "=======================================" -ForegroundColor Yellow $inventory = Get-IncidentResponseInventory $repoRoot = $inventory.RepositoryRoot $docRoot = Join-Path $repoRoot "documentatie\incident-response" if (-not (Test-Path -Path $docRoot)) { New-Item -Path $docRoot -ItemType Directory -Force | Out-Null } $actions = @() foreach ($item in $inventory.Items) { $action = [pscustomobject]@{ Name = $item.Name HasJson = [bool]$item.JsonPath HasScript = [bool]$item.ScriptPath DocumentationPath = $null DocumentationExists = $false } $docFile = Join-Path $docRoot ("ir-" + $item.Name + ".md") $action.DocumentationPath = $docFile $action.DocumentationExists = Test-Path -Path $docFile if (-not $action.DocumentationExists -and -not $WhatIf) { New-IncidentResponseDocumentationTemplate -Name $item.Name -OutputPath $docFile } elseif (-not $action.DocumentationExists -and $WhatIf) { Write-Host " [WhatIf] Zou documentatietemplate aanmaken: $docFile" -ForegroundColor Yellow } $actions += $action } Write-Host "`nSamenvatting remediatie-status:" -ForegroundColor Cyan Write-Host (" Items zonder JSON: {0}" -f ($actions | Where-Object { -not $_.HasJson }).Count) -ForegroundColor Cyan Write-Host (" Items zonder script: {0}" -f ($actions | Where-Object { -not $_.HasScript }).Count) -ForegroundColor Cyan Write-Host (" Items zonder documentatie: {0}" -f ($actions | Where-Object { -not $_.DocumentationExists }).Count) -ForegroundColor Cyan return $actions } try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Incident Response Overzichtsmonitor" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($Monitoring) { Invoke-Monitoring | Out-Null } elseif ($Remediation) { Invoke-Remediation | Out-Null } else { # Standaard: compacte compliance check via monitoring $result = Invoke-Monitoring if (($result.Inventory.MissingJson.Count -eq 0) -and ($result.Inventory.MissingScripts.Count -eq 0)) { Write-Host "`n✅ COMPLIANT" -ForegroundColor Green } else { Write-Host "`n❌ NON-COMPLIANT" -ForegroundColor Red Write-Host "Run met -Remediation voor een gericht overzicht van hiaten en documentatietemplates." -ForegroundColor Yellow } } } catch { Write-Error "Er is een fout opgetreden in index.ps1: $_" throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder een doordachte incident response strategie ontstaan versnipperde, inconsistente beveiligingsorganisaties waarin incidenten niet tijdig worden gedetecteerd, respons traag en inconsistent verloopt, bewijs verloren gaat en meldplichten niet tijdig worden nagekomen. Dit kan leiden tot niet-naleving van AVG, BIO en NIS2, bestuurlijke aansprakelijkheid en verlies van vertrouwen bij burgers en bestuurders.

Management Samenvatting

Een doordachte incident response strategie vormt de fundamentele basis voor veerkrachtige, responsieve en beheersbare beveiligingsorganisaties binnen de Nederlandse publieke sector. Dit index-artikel schetst de overkoepelende principes, strategieën en best practices, en fungeert als kapstok voor meer specifieke artikelen over CSIRT-opzet, playbook ontwikkeling, forensische analyse en oefenprogramma's.