Incident Disclosure Policies En Transparantieverplichtingen

💼 Management Samenvatting

Incident disclosure policies vormen de ruggengraat van transparante en verantwoordelijke incidentrespons binnen Nederlandse overheidsorganisaties. In een tijdperk waarin beveiligingsincidenten regelmatig publieke aandacht krijgen en burgers, media en toezichthouders verwachten dat organisaties open en tijdig communiceren over bedreigingen die de dienstverlening of persoonsgegevens kunnen raken, is het essentieel om vooraf heldere kaders te hebben vastgelegd voor wanneer, hoe en wat wordt gecommuniceerd.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
100u (tech: 20u)
Van toepassing op:
M365
Publieke Sector
Overheidsorganisaties

Zonder duidelijke incident disclosure policies lopen organisaties het risico dat communicatie over beveiligingsincidenten ad-hoc, inconsistent of te laat plaatsvindt, wat kan leiden tot reputatieschade, verlies van vertrouwen bij burgers, juridische aansprakelijkheid en sancties van toezichthouders. Nederlandse overheidsorganisaties hebben bovendien specifieke verplichtingen op grond van de NIS2 richtlijn, de AVG, de Wet openbaarheid van bestuur (Wob) en de Baseline Informatiebeveiliging Overheid (BIO) om transparant te zijn over beveiligingsincidenten die de dienstverlening of persoonsgegevens raken. Het ontbreken van een gestructureerde aanpak voor incident disclosure kan ertoe leiden dat organisaties niet voldoen aan deze verplichtingen, wat kan resulteren in boetes, reputatieschade en verlies van vertrouwen bij burgers en bestuurders. Daarnaast kunnen onduidelijke of inconsistente communicatie over incidenten leiden tot verwarring, onnodige onrust en het verlies van controle over het narratief rondom een incident, waardoor de impact van het incident wordt vergroot.

PowerShell Modules Vereist
Primary API: Microsoft 365 Defender, Microsoft Purview en Microsoft Graph
Connection: Connect-MgGraph; Connect-IPPSSession
Required Modules: Microsoft.Graph, ExchangeOnlineManagement

Implementatie

Dit artikel beschrijft hoe organisaties incident disclosure policies kunnen ontwikkelen en implementeren die voldoen aan de transparantieverplichtingen van de NIS2 richtlijn, de AVG, de Wob en de BIO, terwijl zij tegelijkertijd de belangen van de organisatie, burgers en stakeholders beschermen. De focus ligt op het opstellen van een gestructureerd kader voor besluitvorming over disclosure, het definiëren van verschillende disclosure-niveaus op basis van de ernst en impact van incidenten, het inrichten van communicatieprocessen en -kanalen, en het waarborgen van consistentie en tijdigheid in de communicatie. Het artikel behandelt ook de juridische en ethische aspecten van disclosure, de balans tussen transparantie en beveiliging, en de rol van verschillende stakeholders zoals bestuurders, communicatieadviseurs, CISO, functionaris gegevensbescherming en juridische adviseurs in het disclosure-proces.

Nederlandse overheidsorganisaties hebben verschillende juridische verplichtingen om transparant te zijn over beveiligingsincidenten die de dienstverlening of persoonsgegevens raken. Deze verplichtingen komen voort uit Europese richtlijnen, Nederlandse wetgeving en sectorspecifieke normenkaders zoals de Baseline Informatiebeveiliging Overheid. Het is essentieel dat organisaties deze verplichtingen begrijpen en vertalen naar concrete disclosure-policies en -processen die voldoen aan de letter en geest van de wet, terwijl zij tegelijkertijd de belangen van de organisatie, burgers en stakeholders beschermen.

De NIS2 richtlijn, die sinds oktober 2024 van kracht is, stelt specifieke eisen aan essentiële en belangrijke entiteiten met betrekking tot incident reporting en disclosure. Artikel 20 van de richtlijn verplicht organisaties om beveiligingsincidenten die een substantiële impact hebben op de dienstverlening te melden aan de bevoegde autoriteiten, zoals de Autoriteit Consument en Markt (ACM) of de Nationaal Coördinator Terrorismebestrijding en Veiligheid (NCTV). Daarnaast verplicht Artikel 21 organisaties om gebruikers en betrokken partijen te informeren over incidenten die een hoog risico vormen voor de dienstverlening, waarbij de communicatie duidelijk, tijdig en begrijpelijk moet zijn. Voor Nederlandse overheidsorganisaties betekent dit dat zij processen moeten hebben voor het identificeren van incidenten die onder de reikwijdte van NIS2 vallen, het bepalen van de ernst en impact van incidenten, en het tijdig informeren van gebruikers en stakeholders wanneer dit vereist is. Het niet voldoen aan deze verplichtingen kan leiden tot boetes en andere handhavingsmaatregelen door de ACM of andere toezichthouders.

De Algemene Verordening Gegevensbescherming (AVG) stelt aanvullende eisen aan disclosure wanneer beveiligingsincidenten persoonsgegevens raken. Artikel 33 verplicht organisaties om datalekken die waarschijnlijk een hoog risico vormen voor de rechten en vrijheden van natuurlijke personen te melden aan de Autoriteit Persoonsgegevens (AP) binnen 72 uur na ontdekking van het lek. Artikel 34 verplicht organisaties om betrokkenen te informeren over datalekken die waarschijnlijk een hoog risico vormen voor hun rechten en vrijheden, zonder onnodige vertraging. Voor Microsoft 365 omgevingen betekent dit dat organisaties processen moeten hebben voor het detecteren van datalekken, het beoordelen van het risico voor betrokkenen, en het tijdig informeren van de AP en betrokkenen wanneer dit vereist is. Het niet voldoen aan deze verplichtingen kan leiden tot boetes tot 4 procent van de wereldwijde jaaromzet of 20 miljoen euro, afhankelijk van wat hoger is.

De Wet openbaarheid van bestuur (Wob) verplicht Nederlandse overheidsorganisaties om informatie openbaar te maken wanneer hierom wordt verzocht, tenzij er sprake is van een uitzondering zoals bedrijfsgeheimen, persoonlijke levenssfeer of beveiligingsbelangen. Dit betekent dat organisaties moeten kunnen beoordelen welke informatie over beveiligingsincidenten openbaar gemaakt kan worden zonder de beveiliging of privacy te schaden, en welke informatie kan worden onthouden op grond van de Wob-uitzonderingen. Daarnaast kunnen organisaties proactief informatie over incidenten openbaar maken om transparantie te waarborgen en vertrouwen bij burgers te behouden, zelfs wanneer dit niet expliciet wordt vereist door wetgeving.

De Baseline Informatiebeveiliging Overheid (BIO) norm 12.05 vereist dat organisaties processen hebben voor het communiceren over beveiligingsincidenten met betrokken partijen, inclusief gebruikers, leveranciers en toezichthouders. Deze norm benadrukt het belang van tijdige, accurate en begrijpelijke communicatie over incidenten die de dienstverlening of persoonsgegevens raken, en vereist dat organisaties kunnen aantonen dat zij passende maatregelen hebben genomen om betrokken partijen te informeren wanneer dit nodig is. Voor Microsoft 365 omgevingen betekent dit dat organisaties disclosure-policies moeten hebben die beschrijven wanneer, hoe en wat wordt gecommuniceerd over incidenten, en dat deze policies regelmatig worden getest en geëvalueerd om te waarborgen dat zij effectief zijn.

Disclosure-kader en besluitvormingsproces

Een effectief disclosure-kader begint met het definiëren van verschillende disclosure-niveaus op basis van de ernst, impact en aard van beveiligingsincidenten. Deze niveaus helpen organisaties om snel te bepalen welke vorm van disclosure vereist is en welke stakeholders moeten worden geïnformeerd. Een veelgebruikt model is het indelen van incidenten in vier categorieën: laag risico incidenten die geen disclosure vereisen behalve interne rapportage, middel risico incidenten die proactieve interne communicatie vereisen maar geen publieke disclosure, hoog risico incidenten die publieke disclosure vereisen maar geen melding aan toezichthouders, en kritieke incidenten die zowel publieke disclosure als melding aan toezichthouders vereisen. Door deze categorieën vooraf te definiëren en te koppelen aan concrete criteria zoals het aantal betrokken personen, de aard van de gecompromitteerde gegevens, de impact op de dienstverlening en de waarschijnlijkheid van schade, kunnen organisaties snel en consistent beslissen over disclosure zonder dat elke situatie opnieuw moet worden beoordeeld.

Het besluitvormingsproces voor disclosure moet duidelijk zijn gedefinieerd en moet verschillende rollen en verantwoordelijkheden omvatten. In de meeste organisaties is de CISO verantwoordelijk voor het beoordelen van de technische aspecten van een incident en het adviseren over de ernst en impact, terwijl de functionaris gegevensbescherming verantwoordelijk is voor het beoordelen van privacy-implicaties en het adviseren over AVG-verplichtingen. Juridische adviseurs beoordelen de juridische verplichtingen en risico's, communicatieadviseurs adviseren over de communicatiestrategie en de boodschap, en bestuurders nemen uiteindelijk de beslissing over disclosure op basis van alle beschikbare informatie en adviezen. Het is belangrijk dat dit proces snel kan worden doorlopen, omdat disclosure-verplichtingen vaak korte deadlines hebben, zoals de 72-uur termijn voor AVG-meldingen aan de AP. Daarom moeten organisaties vooraf een disclosure-team samenstellen dat beschikbaar is voor snelle consultatie en besluitvorming, en moeten er processen zijn voor escalatie naar bestuurders wanneer dit nodig is.

Naast het bepalen van wanneer disclosure plaatsvindt, moeten organisaties ook duidelijk definiëren wat wordt gecommuniceerd en hoe. De boodschap moet accuraat, begrijpelijk en actiegericht zijn, en moet voldoen aan de informatiebehoeften van verschillende stakeholders zonder onnodige technische details te delen die misbruikt kunnen worden door aanvallers. Typische elementen van een disclosure-boodschap zijn: een duidelijke beschrijving van wat er is gebeurd, wanneer het incident is ontdekt en wanneer het heeft plaatsgevonden, welke gegevens of systemen mogelijk zijn betrokken, welke maatregelen zijn genomen om het incident te beperken en te onderzoeken, welke stappen betrokkenen kunnen nemen om zichzelf te beschermen, en hoe de organisatie betrokkenen op de hoogte zal houden van verdere ontwikkelingen. Het is belangrijk dat de boodschap consistent is over verschillende kanalen en dat deze regelmatig wordt bijgewerkt wanneer nieuwe informatie beschikbaar komt, zonder dat de organisatie te veel belooft of te specifiek wordt over lopende onderzoeken die nog niet zijn afgerond.

De keuze van communicatiekanalen hangt af van de ernst van het incident, de doelgroep en de urgentie van de boodschap. Voor kritieke incidenten die grote groepen mensen raken, kunnen organisaties gebruik maken van meerdere kanalen zoals de website, sociale media, e-mail, persberichten en persconferenties om ervoor te zorgen dat de boodschap zoveel mogelijk mensen bereikt. Voor minder ernstige incidenten kunnen organisaties volstaan met interne communicatie via intranet of e-mail, of met een beperkte publieke communicatie via de website. Het is belangrijk dat organisaties vooraf communicatiekanalen identificeren en voorbereiden, zodat deze snel kunnen worden geactiveerd wanneer een incident plaatsvindt. Daarnaast moeten organisaties processen hebben voor het monitoren van reacties op disclosure-boodschappen, het beantwoorden van vragen van betrokkenen en media, en het bijwerken van informatie wanneer nieuwe feiten bekend worden.

Implementatie en governance van disclosure-policies

Gebruik PowerShell-script incident-disclosure-policies.ps1 (functie Invoke-DisclosurePolicyAssessment) – Voert een beoordeling uit van de governance en processen rondom incident disclosure, inclusief documentatie, rollen en verantwoordelijkheden, en compliance met NIS2 en AVG-verplichtingen. Ondersteunt DebugMode voor lokaal testen zonder cloudverbinding..

De implementatie van incident disclosure policies begint met het documenteren van het disclosure-kader, de besluitvormingsprocessen, de rollen en verantwoordelijkheden, en de communicatieprocessen en -kanalen. Deze documentatie moet toegankelijk zijn voor alle betrokken stakeholders, regelmatig worden geëvalueerd en bijgewerkt, en moet worden getest door middel van oefeningen en simulaties om te waarborgen dat het kader effectief is in de praktijk. Het is belangrijk dat de documentatie niet alleen beschrijft wat de policies zijn, maar ook waarom bepaalde keuzes zijn gemaakt, hoe het kader aansluit bij juridische verplichtingen, en hoe het kader wordt geëvalueerd en verbeterd op basis van ervaringen en feedback.

Een belangrijk onderdeel van de implementatie is het trainen van betrokken stakeholders in het disclosure-kader en de bijbehorende processen. CISO, functionaris gegevensbescherming, juridische adviseurs, communicatieadviseurs en bestuurders moeten allemaal begrijpen wat hun rol is in het disclosure-proces, wanneer zij moeten worden geconsulteerd, en hoe zij moeten bijdragen aan besluitvorming en communicatie. Training moet niet alleen theoretisch zijn, maar moet ook praktische oefeningen omvatten waarin stakeholders kunnen oefenen met het doorlopen van het disclosure-proces voor verschillende scenario's. Door regelmatig te oefenen kunnen organisaties ervoor zorgen dat het disclosure-proces soepel verloopt wanneer een echt incident plaatsvindt, en kunnen zij zwakke punten in het proces identificeren en verbeteren voordat deze in een echte situatie problemen veroorzaken.

Governance van disclosure-policies omvat het regelmatig monitoren en evalueren van de effectiviteit van het disclosure-kader, het verzamelen van feedback van stakeholders, en het bijwerken van policies en processen op basis van ervaringen en veranderende omstandigheden. Organisaties moeten processen hebben voor het documenteren van disclosure-beslissingen en -acties, het evalueren van de effectiviteit van disclosure-boodschappen en -kanalen, en het identificeren van verbeterpunten. Daarnaast moeten organisaties kunnen aantonen aan toezichthouders en auditors dat zij beschikken over adequate disclosure-policies en -processen die voldoen aan juridische verplichtingen, en dat deze policies en processen daadwerkelijk worden gevolgd in de praktijk. Het bijbehorende PowerShell-script ondersteunt deze governance door een gestructureerde beoordeling uit te voeren van de documentatie, rollen en verantwoordelijkheden, en compliance met NIS2 en AVG-verplichtingen, en door aanbevelingen te doen voor verbeteringen waar nodig.

Tot slot moeten organisaties rekening houden met de balans tussen transparantie en beveiliging bij het ontwikkelen en implementeren van disclosure-policies. Hoewel transparantie belangrijk is voor het waarborgen van vertrouwen en het voldoen aan juridische verplichtingen, kan te veel detail over lopende onderzoeken, gebruikte beveiligingsmaatregelen of kwetsbaarheden misbruikt worden door aanvallers. Daarom moeten organisaties vooraf bepalen welke informatie openbaar gemaakt kan worden zonder de beveiliging te schaden, en moeten zij processen hebben voor het beoordelen van disclosure-boodschappen op beveiligingsrisico's voordat deze worden gepubliceerd. Door deze balans zorgvuldig te beheren kunnen organisaties transparant zijn zonder onnodige risico's te creëren voor de beveiliging van systemen en gegevens.

Monitoring

Gebruik PowerShell-script incident-disclosure-policies.ps1 (functie Invoke-Monitoring) – Monitort de status van disclosure-policies, documentatie en compliance met NIS2 en AVG-verplichtingen, en genereert een rapport met aanbevelingen voor verbeteringen..

Effectieve monitoring van incident disclosure policies is essentieel om te waarborgen dat het disclosure-kader up-to-date blijft, dat policies en processen daadwerkelijk worden gevolgd, en dat organisaties kunnen voldoen aan juridische verplichtingen wanneer incidenten plaatsvinden. Monitoring omvat het regelmatig controleren van de documentatie, het verifiëren dat rollen en verantwoordelijkheden duidelijk zijn gedefinieerd en bekend zijn bij betrokken stakeholders, en het evalueren van de compliance met NIS2 en AVG-verplichtingen. Het bijbehorende PowerShell-script ondersteunt deze monitoring door een gestructureerde beoordeling uit te voeren en aanbevelingen te doen voor verbeteringen waar nodig.

Remediatie

Gebruik PowerShell-script incident-disclosure-policies.ps1 (functie Invoke-Remediation) – Genereert een actieplan voor het verbeteren van disclosure-policies en -processen op basis van de bevindingen van de beoordeling..

Wanneer monitoring of evaluaties aanwijzingen geven dat disclosure-policies of -processen verbetering behoeven, moeten organisaties gerichte acties ondernemen om deze verbeteringen door te voeren. Dit kan bijvoorbeeld betekenen dat documentatie moet worden bijgewerkt, dat rollen en verantwoordelijkheden moeten worden verduidelijkt, dat training moet worden georganiseerd, of dat processen moeten worden aangepast om beter te voldoen aan juridische verplichtingen. Het bijbehorende PowerShell-script ondersteunt deze remediatie door een gestructureerd actieplan te genereren met concrete stappen voor verbetering.

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 Voert een beoordeling uit van incident disclosure policies en compliance met NIS2 en AVG-verplichtingen. .DESCRIPTION Dit script beoordeelt de governance en processen rondom incident disclosure binnen Microsoft 365 omgevingen. Het controleert of disclosure-policies zijn gedocumenteerd, of rollen en verantwoordelijkheden duidelijk zijn gedefinieerd, en of de organisatie voldoet aan NIS2 en AVG-verplichtingen voor incident disclosure. Het doel is om CISO, bestuurders en compliance officers te ondersteunen bij het evalueren van de volwassenheid van disclosure-processen en het identificeren van verbeterpunten. In DebugMode worden geen cloudverbindingen gemaakt en wordt voorbeelddata teruggegeven zodat lokaal getest kan worden zonder toegang tot een tenant. .NOTES Filename: incident-disclosure-policies.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-15 Version: 1.0 Related JSON: content/m365/governance/incident-disclosure-policies.json Category: governance Workload: m365 .LINK https://github.com/m365-tenant-best-practise .EXAMPLE .\incident-disclosure-policies.ps1 -DebugMode Voert een lokale testrun uit met voorbeelddata zonder verbinding met Microsoft 365. .EXAMPLE .\incident-disclosure-policies.ps1 -Monitoring Voert een compliance check uit en toont een gedetailleerd rapport over disclosure-policies. .EXAMPLE .\incident-disclosure-policies.ps1 -Remediation Genereert een actieplan voor het verbeteren van disclosure-policies op basis van bevindingen. #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph, ExchangeOnlineManagement [CmdletBinding()] param( [Parameter(HelpMessage = "Voer een lokale debug-run uit met voorbeelddata, zonder cloudverbinding.")] [switch]$DebugMode, [Parameter(HelpMessage = "Voer compliance check uit en toon gedetailleerd rapport.")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer actieplan voor verbetering van disclosure-policies.")] [switch]$Remediation, [Parameter(HelpMessage = "Toon wat er zou gebeuren zonder daadwerkelijke wijzigingen.")] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Incident Disclosure Policies Assessment" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Connect-M365DisclosureContext { <# .SYNOPSIS Maakt verbinding met Microsoft Graph en Exchange Online. .DESCRIPTION Gebruikt Connect-MgGraph voor Graph API en Connect-ExchangeOnline voor compliance-cmdlets. Maakt GEEN verbinding wanneer DebugMode is ingeschakeld. #> [CmdletBinding()] param() if ($DebugMode) { Write-Host "DebugMode: er wordt geen verbinding gemaakt met Microsoft 365." -ForegroundColor Yellow return } Write-Host "Verbinding maken met Microsoft Graph..." -ForegroundColor Gray Connect-MgGraph -Scopes "Directory.Read.All","Policy.Read.All","SecurityEvents.Read.All" -ErrorAction Stop | Out-Null Write-Host "Verbinding maken met Exchange Online..." -ForegroundColor Gray Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop | Out-Null } function Test-DisclosurePolicyDocumentation { <# .SYNOPSIS Controleert of disclosure-policies zijn gedocumenteerd. .OUTPUTS PSCustomObject met status van documentatie. #> [CmdletBinding()] param() if ($DebugMode) { return [PSCustomObject]@{ PolicyDocumented = $true DisclosureLevelsDefined = $true RolesAndResponsibilitiesDefined = $true CommunicationProcessesDefined = $true } } Write-Host "Controleren van disclosure-policy documentatie..." -ForegroundColor Gray # In een echte implementatie zou hier worden gecontroleerd of documentatie bestaat # Dit kan bijvoorbeeld via een documentbeheersysteem, SharePoint of een andere bron # Voor nu retourneren we een basisstructuur die aangeeft dat documentatie moet worden gecontroleerd return [PSCustomObject]@{ PolicyDocumented = $false DisclosureLevelsDefined = $false RolesAndResponsibilitiesDefined = $false CommunicationProcessesDefined = $false Recommendation = "Controleer handmatig of disclosure-policies zijn gedocumenteerd in het documentbeheersysteem of governance-portal." } } function Test-NIS2Compliance { <# .SYNOPSIS Controleert compliance met NIS2 disclosure-verplichtingen. .OUTPUTS PSCustomObject met NIS2 compliance status. #> [CmdletBinding()] param() if ($DebugMode) { return [PSCustomObject]@{ NIS2ReportingProcessDefined = $true UserNotificationProcessDefined = $true IncidentClassificationDefined = $true ComplianceStatus = "Compliant" } } Write-Host "Controleren van NIS2 compliance..." -ForegroundColor Gray # NIS2 vereist processen voor incident reporting en user notification # In een echte implementatie zou hier worden gecontroleerd of deze processen bestaan return [PSCustomObject]@{ NIS2ReportingProcessDefined = $false UserNotificationProcessDefined = $false IncidentClassificationDefined = $false ComplianceStatus = "Non-Compliant" Recommendation = "Implementeer processen voor NIS2 incident reporting en user notification conform Artikel 20 en 21." } } function Test-AVGCompliance { <# .SYNOPSIS Controleert compliance met AVG disclosure-verplichtingen. .OUTPUTS PSCustomObject met AVG compliance status. #> [CmdletBinding()] param() if ($DebugMode) { return [PSCustomObject]@{ DataBreachNotificationProcessDefined = $true APNotificationProcessDefined = $true DataSubjectNotificationProcessDefined = $true ComplianceStatus = "Compliant" } } Write-Host "Controleren van AVG compliance..." -ForegroundColor Gray # AVG vereist processen voor datalekmeldingen (Artikel 33 en 34) # In een echte implementatie zou hier worden gecontroleerd of deze processen bestaan return [PSCustomObject]@{ DataBreachNotificationProcessDefined = $false APNotificationProcessDefined = $false DataSubjectNotificationProcessDefined = $false ComplianceStatus = "Non-Compliant" Recommendation = "Implementeer processen voor AVG datalekmeldingen conform Artikel 33 en 34." } } function Invoke-DisclosurePolicyAssessment { <# .SYNOPSIS Voert een volledige beoordeling uit van disclosure-policies. .DESCRIPTION Combineert documentatie-, NIS2- en AVG-compliance checks tot één assessment met aanbevelingen voor verbeteringen. .OUTPUTS PSCustomObject met assessment resultaten. #> [CmdletBinding()] param() Connect-M365DisclosureContext $documentation = Test-DisclosurePolicyDocumentation $nis2 = Test-NIS2Compliance $avg = Test-AVGCompliance $findings = @() $recommendations = @() if (-not $documentation.PolicyDocumented) { $findings += "Disclosure-policies zijn niet gedocumenteerd of niet toegankelijk." $recommendations += "Documenteer incident disclosure policies inclusief disclosure-niveaus, besluitvormingsprocessen en communicatiekanalen." } if (-not $documentation.DisclosureLevelsDefined) { $findings += "Disclosure-niveaus zijn niet gedefinieerd." $recommendations += "Definieer verschillende disclosure-niveaus op basis van ernst en impact van incidenten." } if (-not $documentation.RolesAndResponsibilitiesDefined) { $findings += "Rollen en verantwoordelijkheden voor disclosure zijn niet gedefinieerd." $recommendations += "Definieer rollen en verantwoordelijkheden voor disclosure-beslissingen, inclusief CISO, FG, juridische adviseurs en bestuurders." } if ($nis2.ComplianceStatus -eq "Non-Compliant") { $findings += "Organisatie voldoet niet aan NIS2 disclosure-verplichtingen." $recommendations += $nis2.Recommendation } if ($avg.ComplianceStatus -eq "Non-Compliant") { $findings += "Organisatie voldoet niet aan AVG disclosure-verplichtingen." $recommendations += $avg.Recommendation } if ($findings.Count -eq 0) { $findings += "Op basis van de beschikbare informatie lijkt de organisatie over adequate disclosure-policies te beschikken; bevestig dit altijd tegen de specifieke documentatie en processen." } return [PSCustomObject]@{ ScriptName = "incident-disclosure-policies.ps1" GeneratedAt = Get-Date DebugMode = [bool]$DebugMode DocumentationStatus = $documentation NIS2Compliance = $nis2 AVGCompliance = $avg Findings = $findings Recommendations = $recommendations } } function Invoke-Monitoring { <# .SYNOPSIS Monitort de status van disclosure-policies en genereert een rapport. .DESCRIPTION Voert een compliance check uit en toont een gedetailleerd rapport over disclosure-policies, documentatie en compliance met NIS2 en AVG-verplichtingen. #> [CmdletBinding()] param() Write-Host "`n=== MONITORING MODE ===" -ForegroundColor Yellow Write-Host "Voer disclosure-policy assessment uit...`n" -ForegroundColor Yellow $assessment = Invoke-DisclosurePolicyAssessment Write-Host "`n=== ASSESSMENT RESULTATEN ===" -ForegroundColor Cyan Write-Host "`nDocumentatie Status:" -ForegroundColor White Write-Host " Policy gedocumenteerd: $($assessment.DocumentationStatus.PolicyDocumented)" -ForegroundColor $(if ($assessment.DocumentationStatus.PolicyDocumented) { "Green" } else { "Red" }) Write-Host " Disclosure-niveaus gedefinieerd: $($assessment.DocumentationStatus.DisclosureLevelsDefined)" -ForegroundColor $(if ($assessment.DocumentationStatus.DisclosureLevelsDefined) { "Green" } else { "Red" }) Write-Host " Rollen en verantwoordelijkheden gedefinieerd: $($assessment.DocumentationStatus.RolesAndResponsibilitiesDefined)" -ForegroundColor $(if ($assessment.DocumentationStatus.RolesAndResponsibilitiesDefined) { "Green" } else { "Red" }) Write-Host "`nNIS2 Compliance:" -ForegroundColor White Write-Host " Status: $($assessment.NIS2Compliance.ComplianceStatus)" -ForegroundColor $(if ($assessment.NIS2Compliance.ComplianceStatus -eq "Compliant") { "Green" } else { "Red" }) Write-Host "`nAVG Compliance:" -ForegroundColor White Write-Host " Status: $($assessment.AVGCompliance.ComplianceStatus)" -ForegroundColor $(if ($assessment.AVGCompliance.ComplianceStatus -eq "Compliant") { "Green" } else { "Red" }) Write-Host "`n=== BEVINDINGEN ===" -ForegroundColor Cyan foreach ($finding in $assessment.Findings) { Write-Host " - $finding" -ForegroundColor Yellow } Write-Host "`n=== AANBEVELINGEN ===" -ForegroundColor Cyan foreach ($recommendation in $assessment.Recommendations) { Write-Host " - $recommendation" -ForegroundColor Green } return $assessment } function Invoke-Remediation { <# .SYNOPSIS Genereert een actieplan voor het verbeteren van disclosure-policies. .DESCRIPTION Op basis van de bevindingen van de assessment wordt een gestructureerd actieplan gegenereerd met concrete stappen voor verbetering. #> [CmdletBinding()] param() Write-Host "`n=== REMEDIATION MODE ===" -ForegroundColor Yellow if ($WhatIf) { Write-Host "WHATIF: Toon actieplan zonder wijzigingen door te voeren...`n" -ForegroundColor Yellow } $assessment = Invoke-DisclosurePolicyAssessment $actionPlan = @() if (-not $assessment.DocumentationStatus.PolicyDocumented) { $actionPlan += [PSCustomObject]@{ Priority = "High" Action = "Documenteer incident disclosure policies" Description = "Ontwikkel en documenteer disclosure-policies inclusief disclosure-niveaus, besluitvormingsprocessen en communicatiekanalen." EstimatedHours = 40 Owner = "CISO, Juridische adviseur" } } if (-not $assessment.DocumentationStatus.DisclosureLevelsDefined) { $actionPlan += [PSCustomObject]@{ Priority = "High" Action = "Definieer disclosure-niveaus" Description = "Definieer verschillende disclosure-niveaus op basis van ernst en impact van incidenten, en koppel deze aan concrete criteria." EstimatedHours = 16 Owner = "CISO, Risk manager" } } if (-not $assessment.DocumentationStatus.RolesAndResponsibilitiesDefined) { $actionPlan += [PSCustomObject]@{ Priority = "High" Action = "Definieer rollen en verantwoordelijkheden" Description = "Definieer rollen en verantwoordelijkheden voor disclosure-beslissingen, inclusief CISO, FG, juridische adviseurs en bestuurders." EstimatedHours = 12 Owner = "CISO, HR" } } if ($assessment.NIS2Compliance.ComplianceStatus -eq "Non-Compliant") { $actionPlan += [PSCustomObject]@{ Priority = "Critical" Action = "Implementeer NIS2 disclosure-processen" Description = "Implementeer processen voor NIS2 incident reporting (Artikel 20) en user notification (Artikel 21)." EstimatedHours = 24 Owner = "CISO, Compliance officer" } } if ($assessment.AVGCompliance.ComplianceStatus -eq "Non-Compliant") { $actionPlan += [PSCustomObject]@{ Priority = "Critical" Action = "Implementeer AVG disclosure-processen" Description = "Implementeer processen voor AVG datalekmeldingen conform Artikel 33 (AP) en Artikel 34 (betrokkenen)." EstimatedHours = 20 Owner = "FG, CISO" } } Write-Host "`n=== ACTIEPLAN ===" -ForegroundColor Cyan foreach ($action in $actionPlan) { Write-Host "`nPrioriteit: $($action.Priority)" -ForegroundColor $(if ($action.Priority -eq "Critical") { "Red" } elseif ($action.Priority -eq "High") { "Yellow" } else { "Green" }) Write-Host "Actie: $($action.Action)" -ForegroundColor White Write-Host "Beschrijving: $($action.Description)" -ForegroundColor Gray Write-Host "Geschatte uren: $($action.EstimatedHours)" -ForegroundColor Gray Write-Host "Eigenaar: $($action.Owner)" -ForegroundColor Gray } if ($WhatIf) { Write-Host "`nWHATIF: Geen wijzigingen doorgevoerd." -ForegroundColor Yellow } else { Write-Host "`nActieplan gegenereerd. Implementeer de acties volgens de beschreven prioriteiten." -ForegroundColor Green } return [PSCustomObject]@{ ScriptName = "incident-disclosure-policies.ps1" GeneratedAt = Get-Date ActionPlan = $actionPlan TotalEstimatedHours = ($actionPlan | Measure-Object -Property EstimatedHours -Sum).Sum } } # Main execution try { if ($Monitoring) { $result = Invoke-Monitoring } elseif ($Remediation) { $result = Invoke-Remediation } else { # Default: run assessment $result = Invoke-DisclosurePolicyAssessment $result } exit 0 } catch { Write-Error "Fout tijdens het uitvoeren van de disclosure-policy assessment: $_" exit 1 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan } # Exitcodes: # 0 = Assessment succesvol uitgevoerd # 1 = Fout tijdens uitvoering

Risico zonder implementatie

Risico zonder implementatie
High: Kritiek - Zonder duidelijke incident disclosure policies kan de organisatie niet voldoen aan NIS2 en AVG-verplichtingen, wat kan leiden tot boetes, reputatieschade en verlies van vertrouwen bij burgers en stakeholders.

Management Samenvatting

Ontwikkel en implementeer incident disclosure policies die voldoen aan NIS2 en AVG-verplichtingen, definieer disclosure-niveaus en besluitvormingsprocessen, en waarborg tijdige en consistente communicatie over beveiligingsincidenten. Implementatie: 100 uur.