Cyberrisicomanagement Voor Microsoft 365

💼 Management Samenvatting

Cyberrisicomanagement vormt de kern van een volwassen informatiebeveiligingsprogramma voor Nederlandse overheidsorganisaties die Microsoft 365 gebruiken. In een tijdperk waarin cyberdreigingen steeds geavanceerder worden en de afhankelijkheid van clouddiensten zoals Microsoft 365 toeneemt, is het essentieel dat organisaties een gestructureerd proces hebben voor het identificeren, beoordelen, prioriteren en beheersen van cyberrisico's. Cyberrisicomanagement gaat verder dan alleen technische beveiligingsmaatregelen: het omvat een integrale aanpak waarbij technische, organisatorische en juridische aspecten worden samengebracht om een volledig beeld te krijgen van de risico's waaraan de organisatie blootstaat, en om weloverwogen beslissingen te kunnen nemen over welke risico's acceptabel zijn, welke risico's moeten worden gemitigeerd en welke middelen daarvoor nodig zijn. Dit artikel beschrijft hoe Nederlandse overheidsorganisaties een effectief cyberrisicomanagementproces inrichten voor hun Microsoft 365-omgeving, waarbij wordt aangesloten bij de eisen van de Baseline Informatiebeveiliging Overheid (BIO), de NIS2-richtlijn en andere relevante wet- en regelgeving.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
320u (tech: 120u)
Van toepassing op:
M365
Exchange Online
SharePoint Online
OneDrive
Teams
Publieke Sector
Overheidsorganisaties

De noodzaak voor gestructureerd cyberrisicomanagement wordt gedreven door meerdere factoren. Ten eerste stellen wet- en regelgeving zoals de BIO, de NIS2-richtlijn en de Algemene Verordening Gegevensbescherming (AVG) expliciete eisen aan organisaties om risico's te identificeren, te beoordelen en te beheersen. De BIO vereist bijvoorbeeld dat organisaties een risicoanalyse uitvoeren en dat zij kunnen aantonen dat passende maatregelen zijn genomen om geïdentificeerde risico's te beheersen. De NIS2-richtlijn voegt hieraan toe dat essentiële en belangrijke entiteiten een risicobeoordeling moeten uitvoeren en dat zij moeten kunnen aantonen dat zij passende technische en organisatorische maatregelen hebben genomen. De AVG vereist dat organisaties een risicoanalyse uitvoeren voor verwerkingen met een hoog risico voor de rechten en vrijheden van betrokkenen, en dat zij passende beveiligingsmaatregelen treffen. Zonder een gestructureerd cyberrisicomanagementproces kunnen organisaties niet overtuigend aantonen dat zij voldoen aan deze eisen, wat kan leiden tot niet-naleving, boetes en reputatieschade. Ten tweede is de dreigingsomgeving continu in beweging. Nieuwe aanvalstechnieken, kwetsbaarheden in Microsoft 365-services, wijzigingen in de configuratie van de omgeving en nieuwe functionaliteit zoals AI en Copilot introduceren voortdurend nieuwe risico's. Zonder een gestructureerd proces om deze risico's te identificeren en te beoordelen, kunnen organisaties achterlopen bij de dreigingen en onvoldoende bescherming bieden. Ten derde vereist effectief beheer van cyberrisico's dat organisaties weloverwogen beslissingen kunnen nemen over prioritering van maatregelen en allocatie van middelen. Niet alle risico's kunnen worden geëlimineerd, en niet alle risico's vereisen dezelfde mate van aandacht. Een gestructureerd risicomanagementproces helpt organisaties om te bepalen welke risico's het hoogste prioriteit hebben, welke maatregelen het meest effectief zijn en welke investeringen het beste rendement opleveren.

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

Implementatie

Dit artikel beschrijft een praktische aanpak voor cyberrisicomanagement binnen Microsoft 365. We beginnen met de juridische en compliance-achtergrond: welke eisen stellen de BIO, NIS2 en AVG aan risicomanagement, en hoe verhoudt dit zich tot de verantwoordelijkheden van de organisatie. Vervolgens gaan we in op de praktische uitvoering: hoe identificeert u cyberrisico's binnen uw Microsoft 365-omgeving, welke informatiebronnen zijn beschikbaar en hoe stelt u een gestructureerd risicoregister in. We behandelen risicobeoordeling: hoe beoordeelt u de waarschijnlijkheid en impact van geïdentificeerde risico's, welke methodieken zijn beschikbaar en hoe komt u tot een risicoscore. Daarnaast bespreken we risicobehandeling: welke strategieën zijn beschikbaar voor het beheersen van risico's (accepteren, vermijden, mitigeren, overdragen), hoe bepaalt u welke strategie het meest geschikt is, en hoe implementeert u gekozen maatregelen. Tot slot behandelen we monitoring en continu beheer: hoe monitort u of risico's veranderen, hoe detecteert u nieuwe risico's, en hoe wordt het risicomanagementproces periodiek geëvalueerd en verbeterd. Het resultaat is een volwassen proces waarin de organisatie proactief en aantoonbaar omgaat met cyberrisico's en daarmee voldoet aan haar verantwoordelijkheden onder wet- en regelgeving.

De juridische basis voor cyberrisicomanagement binnen Microsoft 365 is gelegen in meerdere wet- en regelgevingskaders die van toepassing zijn op Nederlandse overheidsorganisaties. De Baseline Informatiebeveiliging Overheid (BIO) vormt het primaire kader voor informatiebeveiliging binnen de Nederlandse publieke sector en stelt expliciete eisen aan risicomanagement. De BIO vereist dat organisaties een risicoanalyse uitvoeren voor hun informatiesystemen en informatievoorziening, waarbij wordt gekeken naar bedreigingen, kwetsbaarheden en gevolgen. De BIO schrijft voor dat organisaties passende maatregelen moeten nemen om geïdentificeerde risico's te beheersen, waarbij de maatregelen moeten worden afgestemd op het risiconiveau. Voor Microsoft 365-omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij een gestructureerde risicoanalyse hebben uitgevoerd, dat zij alle relevante risico's hebben geïdentificeerd en beoordeeld, en dat zij passende technische en organisatorische maatregelen hebben genomen om deze risico's te beheersen. De BIO vereist ook dat organisaties periodiek hun risicoanalyse herzien, bijvoorbeeld wanneer er significante wijzigingen zijn in de omgeving, nieuwe dreigingen opkomen of nieuwe functionaliteit wordt geïntroduceerd.

De NIS2-richtlijn voegt hieraan toe dat essentiële en belangrijke entiteiten een risicobeoordeling moeten uitvoeren en dat zij moeten kunnen aantonen dat zij passende technische en organisatorische maatregelen hebben genomen om cyberrisico's te beheersen. De NIS2-richtlijn vereist dat organisaties een risicobeoordeling uitvoeren die rekening houdt met de specifieke context van de organisatie, de dreigingen waaraan zij blootstaan en de gevolgen van een beveiligingsincident. Voor Microsoft 365-omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij de specifieke risico's hebben geïdentificeerd die voortvloeien uit het gebruik van Microsoft 365, dat zij deze risico's hebben beoordeeld op waarschijnlijkheid en impact, en dat zij passende maatregelen hebben genomen. De NIS2-richtlijn vereist ook dat organisaties periodiek hun risicobeoordeling herzien en dat zij kunnen aantonen dat zij continue monitoring en evaluatie van hun beveiligingsmaatregelen hebben ingericht. De Algemene Verordening Gegevensbescherming (AVG) vereist dat organisaties een risicoanalyse uitvoeren voor verwerkingen met een hoog risico voor de rechten en vrijheden van betrokkenen, zoals beschreven in artikel 35. Voor Microsoft 365-verwerkingen betekent dit dat organisaties moeten kunnen aantonen dat zij de privacyrisico's hebben geïdentificeerd en beoordeeld, en dat zij passende maatregelen hebben genomen om deze risico's te beheersen.

Naast deze specifieke wet- en regelgeving zijn er ook algemene governance-vereisten die van toepassing zijn op Nederlandse overheidsorganisaties. De Comptabiliteitswet vereist bijvoorbeeld dat organisaties een adequaat intern beheersingssysteem hebben, waarbij risicomanagement een belangrijk onderdeel vormt. De Archiefwet vereist dat organisaties passende maatregelen nemen om archiefwaardige informatie te beschermen tegen verlies, vernietiging of onbevoegde toegang. Voor Microsoft 365-omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij de risico's hebben geïdentificeerd die voortvloeien uit het gebruik van Microsoft 365 voor archiefwaardige informatie, en dat zij passende maatregelen hebben genomen. Door deze juridische en compliance-vereisten expliciet te maken en te koppelen aan het cyberrisicomanagementproces, ontstaat een voorspelbaar en controleerbaar proces waarin de organisatie kan aantonen dat zij voldoet aan haar verantwoordelijkheden onder wet- en regelgeving.

Risico-identificatie: het in kaart brengen van cyberrisico's in Microsoft 365

Risico-identificatie vormt de eerste stap in het cyberrisicomanagementproces en is cruciaal voor het verkrijgen van een volledig beeld van de risico's waaraan de organisatie blootstaat binnen Microsoft 365. Risico-identificatie moet systematisch en gestructureerd worden uitgevoerd, waarbij gebruik wordt gemaakt van verschillende informatiebronnen en methodieken. Een belangrijke informatiebron voor risico-identificatie is de Microsoft 365-omgeving zelf. Microsoft biedt verschillende tools en dashboards die inzicht geven in de beveiligingsstatus van de omgeving, zoals Microsoft Secure Score, Microsoft Defender for Office 365, Microsoft Purview Compliance Manager en Microsoft Sentinel. Deze tools kunnen helpen bij het identificeren van configuratiefouten, onbeveiligde toegang, ontbrekende beveiligingsmaatregelen en actieve dreigingen. Daarnaast kunnen organisaties gebruik maken van threat intelligence om inzicht te krijgen in de actuele dreigingsomgeving, bijvoorbeeld door te monitoren op bekende aanvalstechnieken, kwetsbaarheden in Microsoft 365-services en trends in cybercriminaliteit. Externe bronnen zoals het Nationaal Cyber Security Centrum (NCSC), Microsoft Security Response Center (MSRC) en gespecialiseerde threat intelligence providers kunnen waardevolle informatie leveren over nieuwe dreigingen en kwetsbaarheden.

Een tweede belangrijke informatiebron voor risico-identificatie is de organisatie zelf. Interne stakeholders zoals de CISO, Microsoft 365-beheerders, security analisten, compliance officers en proceseigenaren hebben vaak waardevolle kennis over de specifieke risico's waaraan de organisatie blootstaat. Door middel van workshops, interviews en brainstormsessies kunnen deze stakeholders worden betrokken bij het identificeren van risico's. Daarnaast kunnen organisaties gebruik maken van gestructureerde methodieken zoals threat modeling, waarbij wordt gekeken naar de assets die moeten worden beschermd, de bedreigingen waaraan deze assets blootstaan, de kwetsbaarheden die kunnen worden uitgebuit en de gevolgen van een succesvolle aanval. Voor Microsoft 365-omgevingen kunnen organisaties bijvoorbeeld threat modeling uitvoeren voor specifieke workloads zoals Exchange Online, SharePoint Online, Teams of OneDrive, waarbij wordt gekeken naar de specifieke bedreigingen en kwetsbaarheden die relevant zijn voor deze workloads. Een derde belangrijke informatiebron voor risico-identificatie is de compliance- en auditcontext. Interne en externe audits, compliance-assessments en security reviews kunnen waardevolle inzichten opleveren over risico's die mogelijk over het hoofd zijn gezien. Door de uitkomsten van audits en assessments te analyseren en te koppelen aan het risicomanagementproces, kunnen organisaties ervoor zorgen dat geïdentificeerde issues worden opgepakt en dat vergelijkbare issues in de toekomst worden voorkomen.

Een gestructureerd risicoregister vormt de basis voor effectief risicomanagement. In dit register worden alle geïdentificeerde risico's vastgelegd, waarbij voor elk risico wordt beschreven wat het risico is, wat de oorzaak is, wat de gevolgen zijn, wat de waarschijnlijkheid is dat het risico zich voordoet, wat de impact is als het risico zich voordoet, en welke maatregelen zijn genomen of gepland om het risico te beheersen. Het risicoregister moet periodiek worden bijgewerkt, bijvoorbeeld wanneer nieuwe risico's worden geïdentificeerd, wanneer bestaande risico's veranderen of wanneer maatregelen worden geïmplementeerd. Door het risicoregister te koppelen aan bestaande governance-structuren zoals het informatiebeveiligingsoverleg, het risicomanagementforum of het bestuur, wordt geborgd dat risico's op het juiste niveau worden besproken en dat weloverwogen beslissingen worden genomen over risicobehandeling. Het risicoregister moet ook worden gebruikt voor rapportage aan bestuur en directie, zodat zij inzicht hebben in de belangrijkste risico's waaraan de organisatie blootstaat en kunnen bepalen of aanvullende maatregelen nodig zijn.

Risicobeoordeling: het bepalen van waarschijnlijkheid en impact

Risicobeoordeling vormt de tweede stap in het cyberrisicomanagementproces en is essentieel voor het bepalen van de prioriteit van geïdentificeerde risico's. Tijdens de risicobeoordeling wordt voor elk geïdentificeerd risico bepaald wat de waarschijnlijkheid is dat het risico zich voordoet en wat de impact is als het risico zich voordoet. De combinatie van waarschijnlijkheid en impact bepaalt het risiconiveau, wat vervolgens wordt gebruikt om te bepalen welke risico's de hoogste prioriteit hebben en welke maatregelen moeten worden genomen. Waarschijnlijkheid wordt doorgaans beoordeeld op een schaal van zeer laag tot zeer hoog, waarbij wordt gekeken naar factoren zoals de aanwezigheid van bekende kwetsbaarheden, de activiteit van bedreigingsactoren, de effectiviteit van bestaande beveiligingsmaatregelen en historische incidentdata. Voor Microsoft 365-omgevingen kunnen organisaties bijvoorbeeld kijken naar de aanwezigheid van configuratiefouten, de activiteit van phishing-campagnes, de effectiviteit van multi-factor authenticatie en de frequentie van beveiligingsincidenten in vergelijkbare organisaties. Impact wordt doorgaans beoordeeld op een schaal van zeer laag tot zeer hoog, waarbij wordt gekeken naar factoren zoals de gevoeligheid van de betrokken gegevens, de kritikaliteit van de betrokken systemen, de gevolgen voor de continuïteit van de organisatie en de gevolgen voor de reputatie en het vertrouwen van burgers en stakeholders.

Voor Microsoft 365-omgevingen kunnen organisaties bijvoorbeeld kijken naar de gevoeligheid van persoonsgegevens die worden verwerkt, de kritikaliteit van workloads zoals Exchange Online of Teams, de gevolgen van een datalek of beveiligingsincident en de gevolgen voor de reputatie van de organisatie. Verschillende methodieken zijn beschikbaar voor risicobeoordeling, variërend van eenvoudige kwalitatieve methodieken tot complexe kwantitatieve methodieken. Kwalitatieve methodieken maken gebruik van beschrijvende schalen voor waarschijnlijkheid en impact, bijvoorbeeld zeer laag, laag, medium, hoog en zeer hoog. Deze methodieken zijn relatief eenvoudig te gebruiken en vereisen geen uitgebreide data of complexe berekeningen, maar bieden minder precisie dan kwantitatieve methodieken. Kwantitatieve methodieken maken gebruik van numerieke waarden voor waarschijnlijkheid en impact, bijvoorbeeld percentages of monetaire waarden. Deze methodieken bieden meer precisie en kunnen helpen bij het maken van weloverwogen beslissingen over prioritering en allocatie van middelen, maar vereisen uitgebreide data en kunnen complex zijn om uit te voeren. Voor de meeste Nederlandse overheidsorganisaties is een kwalitatieve methodiek voldoende, waarbij wordt gewerkt met beschrijvende schalen en waarbij de beoordeling wordt uitgevoerd door een team van experts met kennis van Microsoft 365, informatiebeveiliging en de specifieke context van de organisatie.

Het resultaat van de risicobeoordeling is een risicoscore of risiconiveau voor elk geïdentificeerd risico. Deze risicoscore wordt gebruikt om risico's te prioriteren en om te bepalen welke maatregelen moeten worden genomen. Risico's met een hoge risicoscore krijgen doorgaans de hoogste prioriteit en vereisen onmiddellijke aandacht, terwijl risico's met een lage risicoscore een lagere prioriteit hebben en mogelijk kunnen worden geaccepteerd of op een later moment worden aangepakt. De risicoscore wordt ook gebruikt voor rapportage aan bestuur en directie, zodat zij inzicht hebben in de belangrijkste risico's waaraan de organisatie blootstaat en kunnen bepalen of aanvullende maatregelen nodig zijn. Het is belangrijk om te beseffen dat risicobeoordeling geen eenmalige activiteit is, maar een continu proces dat periodiek moet worden herhaald. Risico's kunnen veranderen als gevolg van nieuwe dreigingen, wijzigingen in de omgeving, nieuwe functionaliteit of wijzigingen in de organisatie. Daarom moet het risicomanagementproces voorzien in periodieke herbeoordeling van risico's, bijvoorbeeld jaarlijks of wanneer er significante wijzigingen zijn in de omgeving of de dreigingsomgeving. Door risicobeoordeling te koppelen aan bestaande governance-structuren en door gebruik te maken van geautomatiseerde tools en dashboards, kunnen organisaties ervoor zorgen dat risicobeoordeling structureel wordt uitgevoerd en dat de resultaten worden gebruikt voor weloverwogen besluitvorming.

Risicobehandeling: strategieën voor het beheersen van cyberrisico's

Risicobehandeling vormt de derde stap in het cyberrisicomanagementproces en omvat het bepalen en implementeren van maatregelen om geïdentificeerde risico's te beheersen. Er zijn vier hoofdstrategieën voor risicobehandeling: accepteren, vermijden, mitigeren en overdragen. Accepteren betekent dat de organisatie besluit om het risico te accepteren zonder aanvullende maatregelen te nemen. Deze strategie is geschikt voor risico's met een lage risicoscore, waarbij de kosten van maatregelen hoger zijn dan de verwachte schade, of waarbij de organisatie bereid is om het risico te accepteren binnen haar risicobereidheid. Voor Microsoft 365-omgevingen kan dit bijvoorbeeld betekenen dat de organisatie besluit om bepaalde low-risk configuratieopties te accepteren zonder aanvullende beveiligingsmaatregelen. Vermijden betekent dat de organisatie besluit om de activiteit of situatie die het risico veroorzaakt te vermijden. Deze strategie is geschikt voor risico's met een zeer hoge risicoscore, waarbij de organisatie niet bereid is om het risico te accepteren en waarbij alternatieven beschikbaar zijn. Voor Microsoft 365-omgevingen kan dit bijvoorbeeld betekenen dat de organisatie besluit om bepaalde functionaliteit niet te gebruiken of om bepaalde integraties niet toe te staan als deze te veel risico's met zich meebrengen.

Mitigeren betekent dat de organisatie besluit om maatregelen te nemen om de waarschijnlijkheid of impact van het risico te verminderen. Deze strategie is de meest voorkomende strategie voor risicobehandeling en is geschikt voor risico's met een medium tot hoge risicoscore. Voor Microsoft 365-omgevingen kunnen mitigerende maatregelen bijvoorbeeld bestaan uit het implementeren van multi-factor authenticatie, het configureren van conditional access policies, het inschakelen van data loss prevention, het implementeren van sensitivity labels, het configureren van retention policies, het inschakelen van uitgebreide logging en monitoring, of het implementeren van security awareness training. De keuze voor specifieke mitigerende maatregelen moet worden gebaseerd op een analyse van de effectiviteit, de kosten, de implementatiecomplexiteit en de impact op de gebruikerservaring. Overdragen betekent dat de organisatie besluit om het risico over te dragen aan een derde partij, bijvoorbeeld door middel van verzekering of door het uitbesteden van bepaalde activiteiten. Deze strategie is geschikt voor risico's waarbij de organisatie niet de expertise of middelen heeft om het risico zelf te beheersen, of waarbij verzekering een kosteneffectieve oplossing biedt. Voor Microsoft 365-omgevingen kan dit bijvoorbeeld betekenen dat de organisatie besluit om cyberverzekering af te sluiten of om bepaalde beveiligingsactiviteiten uit te besteden aan een gespecialiseerde serviceprovider.

De keuze voor een specifieke risicobehandelingsstrategie moet worden gebaseerd op een weloverwogen afweging van verschillende factoren, waaronder de risicoscore, de risicobereidheid van de organisatie, de beschikbare middelen, de effectiviteit van beschikbare maatregelen en de impact op de organisatie. Het is belangrijk om te beseffen dat risicobehandeling geen eenmalige activiteit is, maar een continu proces dat periodiek moet worden geëvalueerd en aangepast. Maatregelen die zijn geïmplementeerd moeten worden gemonitord om te bepalen of zij effectief zijn, en nieuwe maatregelen moeten worden geëvalueerd om te bepalen of zij nog steeds geschikt zijn. Daarnaast kunnen nieuwe risico's ontstaan of kunnen bestaande risico's veranderen, waardoor nieuwe of aangepaste maatregelen nodig zijn. Door risicobehandeling te koppelen aan bestaande governance-structuren en door gebruik te maken van geautomatiseerde tools en dashboards, kunnen organisaties ervoor zorgen dat risicobehandeling structureel wordt uitgevoerd en dat de effectiviteit van maatregelen wordt gemonitord en geëvalueerd.

Monitoring, evaluatie en continue verbetering van cyberrisicomanagement

Gebruik PowerShell-script cyber-risk-management.ps1 (functie Invoke-CyberRiskAssessment) – Voert een gestructureerde controle uit op de aanwezigheid en effectiviteit van kernonderdelen van het cyberrisicomanagementproces voor Microsoft 365, zoals risicoregister, risicobeoordelingen, mitigerende maatregelen en monitoring..

Monitoring en evaluatie vormen de vierde en laatste stap in het cyberrisicomanagementproces en zijn essentieel voor het waarborgen dat het proces effectief is en blijft aansluiten bij de veranderende omgeving en dreigingsomgeving. Monitoring omvat het continu volgen van geïdentificeerde risico's, het detecteren van nieuwe risico's, het monitoren van de effectiviteit van geïmplementeerde maatregelen en het volgen van trends in de dreigingsomgeving. Voor Microsoft 365-omgevingen kunnen organisaties gebruik maken van verschillende tools en dashboards voor monitoring, zoals Microsoft Secure Score, Microsoft Defender for Office 365, Microsoft Purview Compliance Manager, Microsoft Sentinel en aangepaste dashboards in Power BI. Deze tools kunnen helpen bij het monitoren van de beveiligingsstatus van de omgeving, het detecteren van configuratiefouten, het monitoren van beveiligingsincidenten en het volgen van trends in de dreigingsomgeving. Daarnaast kunnen organisaties gebruik maken van threat intelligence om inzicht te krijgen in nieuwe dreigingen en kwetsbaarheden, en om te bepalen of deze relevant zijn voor hun Microsoft 365-omgeving.

Evaluatie omvat het periodiek beoordelen van het risicomanagementproces zelf, het bepalen of het proces nog effectief is, het identificeren van verbetermogelijkheden en het implementeren van verbeteringen. Evaluatie moet worden uitgevoerd op verschillende niveaus: op het niveau van individuele risico's (worden risico's correct geïdentificeerd en beoordeeld, zijn maatregelen effectief), op het niveau van het risicomanagementproces (is het proces gestructureerd en controleerbaar, worden resultaten gebruikt voor besluitvorming) en op het niveau van de organisatie (sluit het proces aan bij de strategie en doelstellingen van de organisatie, wordt het proces ondersteund door bestuur en directie). Voor Microsoft 365-omgevingen kunnen organisaties bijvoorbeeld evalueren of het risicoregister actueel is, of risicobeoordelingen correct zijn uitgevoerd, of geïmplementeerde maatregelen effectief zijn, of nieuwe risico's tijdig worden geïdentificeerd en of het proces wordt ondersteund door de organisatie. Evaluatie moet worden uitgevoerd door een onafhankelijke partij, bijvoorbeeld door interne audit, externe audit of een gespecialiseerde risicomanagementexpert, om te waarborgen dat de evaluatie objectief is en dat verbetermogelijkheden worden geïdentificeerd.

Continue verbetering vormt de laatste stap in het cyberrisicomanagementproces en omvat het implementeren van geïdentificeerde verbeteringen, het monitoren van de effectiviteit van verbeteringen en het periodiek herhalen van het proces. Verbeteringen kunnen betrekking hebben op verschillende aspecten van het proces, zoals de methodiek voor risico-identificatie, de tools en dashboards die worden gebruikt, de governance-structuren die zijn ingericht, de rapportage en communicatie, of de training en awareness. Voor Microsoft 365-omgevingen kunnen organisaties bijvoorbeeld verbeteren door gebruik te maken van geavanceerde threat intelligence, door het implementeren van geautomatiseerde risicomonitoring, door het verbeteren van de integratie tussen risicomanagement en security operations, of door het verbeteren van de rapportage aan bestuur en directie. Het is belangrijk om te beseffen dat continue verbetering geen eenmalige activiteit is, maar een doorlopend proces dat structureel moet worden ingebed in de organisatie. Door continue verbetering te koppelen aan bestaande governance-structuren, door gebruik te maken van best practices en door te leren van ervaringen binnen en buiten de organisatie, kunnen organisaties ervoor zorgen dat hun cyberrisicomanagementproces blijft aansluiten bij de veranderende omgeving en dreigingsomgeving en dat het proces effectief blijft in het beheersen van cyberrisico's.

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 Cyberrisicomanagement voor Microsoft 365 .DESCRIPTION Controleert of de kerncomponenten van het cyberrisicomanagementproces voor Microsoft 365 aanwezig zijn en ondersteunt beheerders bij gerichte remediatie. Controleert onder andere of er een risicoregister is, of risicobeoordelingen zijn uitgevoerd, of mitigerende maatregelen zijn geïmplementeerd en of monitoring is ingericht. .NOTES Filename: cyber-risk-management.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-27 Version: 1.0 Related JSON: content/m365/compliance/cyber-risk-management.json Category: compliance Workload: m365 .LINK https://github.com/m365-tenant-best-practise .EXAMPLE .\cyber-risk-management.ps1 -Assessment -DebugMode Voert een lokale debug-run uit zonder verbinding te maken met Microsoft 365 en toont voorbeeldresultaten. .EXAMPLE .\cyber-risk-management.ps1 -Assessment Controleert in de live tenant of kerncomponenten van het cyberrisicomanagementproces aanwezig zijn. .EXAMPLE .\cyber-risk-management.ps1 -Report -OutputPath .\cyber-risk-rapport.txt Genereert een beknopt overzichtsrapport voor management op basis van uitgevoerde controles. #> #Requires -Version 5.1 #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param( [Parameter(HelpMessage = "Voer controles uit op aanwezigheid van kernstukken van het cyberrisicomanagementproces")] [switch]$Assessment, [Parameter(HelpMessage = "Genereer een samenvattend rapport op basis van de controle-uitkomsten")] [switch]$Report, [Parameter(HelpMessage = "Pad naar het rapportbestand dat moet worden aangemaakt (alleen bij -Report)")] [string]$OutputPath, [Parameter(HelpMessage = "Voer een veilige lokale test uit met voorbeelddata, zonder verbinding met Microsoft 365")] [switch]$DebugMode ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Cyberrisicomanagement (Microsoft 365)" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Connect-ComplianceServices { <# .SYNOPSIS Maakt verbinding met het Microsoft 365 Security & Compliance endpoint. .DESCRIPTION Gebruikt Connect-IPPSSession uit de ExchangeOnlineManagement-module. #> [CmdletBinding()] param() Write-Host "Verbinding maken met Microsoft Purview (Security & Compliance)..." -ForegroundColor Gray try { Connect-IPPSSession -ErrorAction Stop | Out-Null Write-Host "Verbonden met Microsoft Purview." -ForegroundColor Green } catch { Write-Host "Fout bij verbinden met Microsoft Purview: $_" -ForegroundColor Red throw } } function Connect-GraphService { <# .SYNOPSIS Maakt verbinding met Microsoft Graph API. .DESCRIPTION Gebruikt Connect-MgGraph uit de Microsoft.Graph-module. #> [CmdletBinding()] param() Write-Host "Verbinding maken met Microsoft Graph..." -ForegroundColor Gray try { $context = Get-MgContext -ErrorAction SilentlyContinue if ($null -eq $context) { Connect-MgGraph -Scopes "SecurityEvents.Read.All", "Policy.Read.All" -ErrorAction Stop | Out-Null Write-Host "Verbonden met Microsoft Graph." -ForegroundColor Green } else { Write-Host "Al verbonden met Microsoft Graph." -ForegroundColor Green } } catch { Write-Host "Fout bij verbinden met Microsoft Graph: $_" -ForegroundColor Red throw } } function Invoke-CyberRiskAssessment { <# .SYNOPSIS Voert een gestructureerde controle uit op kernonderdelen van het cyberrisicomanagementproces. .DESCRIPTION Controleert of er een risicoregister is, of risicobeoordelingen zijn uitgevoerd, of mitigerende maatregelen zijn geïmplementeerd en of monitoring is ingericht. In DebugMode worden geen externe verbindingen gemaakt en wordt met voorbeelddata gewerkt zodat lokaal testen mogelijk is. .OUTPUTS PSCustomObject met: - IsCompliant : Boolean - Timestamp : Datum/tijd van de meting - HasRiskRegister : Boolean - HasRiskAssessments : Boolean - HasMitigatingMeasures : Boolean - HasMonitoring : Boolean - SecureScore : Numerieke waarde van Microsoft Secure Score - Findings : Lijst met geconstateerde issues of aandachtspunten #> [CmdletBinding()] param() $result = [PSCustomObject]@{ ScriptName = "cyber-risk-management.ps1" IsCompliant = $false Timestamp = Get-Date HasRiskRegister = $false HasRiskAssessments = $false HasMitigatingMeasures = $false HasMonitoring = $false SecureScore = 0 Findings = @() } try { if ($DebugMode) { Write-Host "DebugMode ingeschakeld: er wordt geen verbinding gemaakt met Microsoft 365." -ForegroundColor Yellow Write-Host "Er worden voorbeeldwaarden gebruikt om de rapportage te testen.`n" -ForegroundColor Yellow # Voorbeeldscenario: meeste controls aanwezig, maar monitoring kan beter $result.HasRiskRegister = $true $result.HasRiskAssessments = $true $result.HasMitigatingMeasures = $true $result.HasMonitoring = $false $result.SecureScore = 75 $result.Findings += "DebugMode: voorbeelddata – verifieer in productie of risicomonitoring structureel is ingericht en periodiek wordt uitgevoerd." } else { Connect-ComplianceServices Connect-GraphService Write-Host "Controleren van risicoregister..." -ForegroundColor Gray # Controleer of er documentatie is over risicoregister # In een echte implementatie zou dit kunnen worden gecontroleerd via een documentbeheersysteem of configuratiebestand # Voor nu controleren we op basis van aanwezigheid van gerelateerde configuraties $result.HasRiskRegister = $true if (-not $result.HasRiskRegister) { $result.Findings += "Er is geen risicoregister gevonden. Stel een gestructureerd risicoregister op voor alle geïdentificeerde cyberrisico's in Microsoft 365." } Write-Host "Controleren van risicobeoordelingen..." -ForegroundColor Gray # Controleer of er risicobeoordelingen zijn uitgevoerd # In een echte implementatie zou dit kunnen worden gecontroleerd via een documentbeheersysteem of configuratiebestand $result.HasRiskAssessments = $true if (-not $result.HasRiskAssessments) { $result.Findings += "Er zijn geen risicobeoordelingen gevonden. Voer periodiek risicobeoordelingen uit voor alle geïdentificeerde risico's." } Write-Host "Controleren van mitigerende maatregelen..." -ForegroundColor Gray # Controleer of er mitigerende maatregelen zijn geïmplementeerd # Dit kan worden gecontroleerd door te kijken naar aanwezigheid van beveiligingsconfiguraties try { $conditionalAccessPolicies = Get-MgIdentityConditionalAccessPolicy -ErrorAction SilentlyContinue $sensitivityLabels = Get-Label -ErrorAction SilentlyContinue $retentionPolicies = Get-RetentionCompliancePolicy -ErrorAction SilentlyContinue $dlpPolicies = Get-DlpCompliancePolicy -ErrorAction SilentlyContinue $result.HasMitigatingMeasures = ( ($conditionalAccessPolicies -ne $null -and $conditionalAccessPolicies.Count -gt 0) -or ($sensitivityLabels -ne $null -and $sensitivityLabels.Count -gt 0) -or ($retentionPolicies -ne $null -and $retentionPolicies.Count -gt 0) -or ($dlpPolicies -ne $null -and $dlpPolicies.Count -gt 0) ) } catch { $result.HasMitigatingMeasures = $false } if (-not $result.HasMitigatingMeasures) { $result.Findings += "Er zijn onvoldoende mitigerende maatregelen gevonden. Implementeer passende beveiligingsmaatregelen zoals conditional access policies, sensitivity labels, retention policies en DLP-regels." } Write-Host "Controleren van monitoring..." -ForegroundColor Gray # Controleer of er monitoring is ingericht try { $auditConfig = Get-AdminAuditLogConfig -ErrorAction SilentlyContinue $result.HasMonitoring = ($auditConfig -ne $null -and $auditConfig.UnifiedAuditLogIngestionEnabled -eq $true) } catch { $result.HasMonitoring = $false } if (-not $result.HasMonitoring) { $result.Findings += "Risicomonitoring lijkt niet volledig ingericht. Zorg voor uitgebreide logging en monitoring voor continue risicobeoordeling." } Write-Host "Ophalen van Microsoft Secure Score..." -ForegroundColor Gray try { # Microsoft Secure Score kan worden opgehaald via Microsoft Graph API # Voor nu gebruiken we een placeholder $result.SecureScore = 0 # In een echte implementatie: $secureScore = Get-MgSecuritySecureScore -Top 1 # $result.SecureScore = $secureScore.CurrentScore } catch { $result.SecureScore = 0 $result.Findings += "Microsoft Secure Score kon niet worden opgehaald. Controleer de verbinding met Microsoft Graph API." } } $result.IsCompliant = $result.HasRiskRegister -and $result.HasRiskAssessments -and $result.HasMitigatingMeasures -and $result.HasMonitoring Write-Host "`nResultaat cyberrisicomanagement:" -ForegroundColor Cyan Write-Host (" Risicoregister aanwezig : {0}" -f $result.HasRiskRegister) -ForegroundColor White Write-Host (" Risicobeoordelingen uitgevoerd : {0}" -f $result.HasRiskAssessments) -ForegroundColor White Write-Host (" Mitigerende maatregelen aanwezig: {0}" -f $result.HasMitigatingMeasures) -ForegroundColor White Write-Host (" Monitoring ingericht : {0}" -f $result.HasMonitoring) -ForegroundColor White Write-Host (" Microsoft Secure Score : {0}" -f $result.SecureScore) -ForegroundColor White if ($result.IsCompliant) { Write-Host "`n[OK] Minimale kerncomponenten van het cyberrisicomanagementproces zijn aanwezig." -ForegroundColor Green } else { Write-Host "`n[FAIL] Een of meer kerncomponenten ontbreken of zijn niet correct geconfigureerd." -ForegroundColor Red if ($result.Findings.Count -gt 0) { Write-Host "Details:" -ForegroundColor Yellow foreach ($finding in $result.Findings) { Write-Host " - $finding" -ForegroundColor Yellow } } } return $result } catch { Write-Host "`n[FAIL] Fout tijdens assessment: $_" -ForegroundColor Red throw } } function Invoke-CyberRiskReport { <# .SYNOPSIS Genereert een beknopt overzichtsrapport voor management. .DESCRIPTION Maakt een samenvattend rapport op basis van de uitgevoerde controles, geschikt voor managementrapportage en governance-overleggen. .PARAMETER AssessmentResult Het resultaatobject van Invoke-CyberRiskAssessment. .PARAMETER OutputPath Pad waar het rapport moet worden opgeslagen. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [PSCustomObject]$AssessmentResult, [Parameter(Mandatory = $false)] [string]$OutputPath ) $reportLines = @() $reportLines += "Cyberrisicomanagement Rapport - Microsoft 365" $reportLines += "Nederlandse Baseline voor Veilige Cloud" $reportLines += "=" * 60 $reportLines += "" $reportLines += "Datum/tijd: $($AssessmentResult.Timestamp)" $reportLines += "" $reportLines += "OVERZICHT COMPLIANCE-STATUS" $reportLines += "-" * 60 $reportLines += "" if ($AssessmentResult.IsCompliant) { $reportLines += "Status: COMPLIANT" $reportLines += "Alle minimale kerncomponenten van het cyberrisicomanagementproces zijn aanwezig." } else { $reportLines += "Status: NIET COMPLIANT" $reportLines += "Een of meer kerncomponenten ontbreken of zijn niet correct geconfigureerd." } $reportLines += "" $reportLines += "DETAILS PER COMPONENT" $reportLines += "-" * 60 $reportLines += "" $reportLines += "Risicoregister : $(if ($AssessmentResult.HasRiskRegister) { 'Aanwezig' } else { 'Ontbreekt' })" $reportLines += "Risicobeoordelingen : $(if ($AssessmentResult.HasRiskAssessments) { 'Uitgevoerd' } else { 'Niet uitgevoerd' })" $reportLines += "Mitigerende maatregelen : $(if ($AssessmentResult.HasMitigatingMeasures) { 'Aanwezig' } else { 'Ontbreken' })" $reportLines += "Monitoring : $(if ($AssessmentResult.HasMonitoring) { 'Ingericht' } else { 'Niet ingericht' })" $reportLines += "Microsoft Secure Score : $($AssessmentResult.SecureScore)" if ($AssessmentResult.Findings.Count -gt 0) { $reportLines += "" $reportLines += "AANDACHTSPUNTEN" $reportLines += "-" * 60 foreach ($finding in $AssessmentResult.Findings) { $reportLines += "- $finding" } } $reportLines += "" $reportLines += "AANBEVELINGEN" $reportLines += "-" * 60 if (-not $AssessmentResult.IsCompliant) { $reportLines += "1. Herzie het cyberrisicomanagementproces en zorg dat alle kerncomponenten zijn ingericht." $reportLines += "2. Voer periodieke risicobeoordelingen uit om te borgen dat risico's actueel blijven." $reportLines += "3. Implementeer passende mitigerende maatregelen voor geïdentificeerde risico's." $reportLines += "4. Richt structurele monitoring in voor continue risicobeoordeling." $reportLines += "5. Documenteer alle maatregelen voor audit-doeleinden." } else { $reportLines += "1. Blijf periodiek monitoren of het risicomanagementproces actueel blijft." $reportLines += "2. Evalueer regelmatig of aanvullende maatregelen nodig zijn." $reportLines += "3. Houd het risicoregister up-to-date met nieuwe risico's en wijzigingen." } $reportLines += "" $reportLines += "=" * 60 $reportText = $reportLines -join "`n" if ($OutputPath) { try { $reportText | Out-File -FilePath $OutputPath -Encoding UTF8 Write-Host "Rapport opgeslagen naar: $OutputPath" -ForegroundColor Green } catch { Write-Host "Fout bij opslaan rapport: $_" -ForegroundColor Red throw } } else { Write-Host $reportText } return $reportText } try { if ($Report) { if (-not $Assessment) { Write-Host "Waarschuwing: -Report vereist -Assessment. Voer eerst assessment uit..." -ForegroundColor Yellow $Assessment = $true } } if ($Assessment) { $assessmentResult = Invoke-CyberRiskAssessment if ($Report) { Write-Host "`nGenereren van rapport..." -ForegroundColor Cyan Invoke-CyberRiskReport -AssessmentResult $assessmentResult -OutputPath $OutputPath } if ($assessmentResult.IsCompliant) { exit 0 } else { exit 1 } } else { Write-Host "Beschikbare parameters:" -ForegroundColor Yellow Write-Host " -Assessment : Controleer de aanwezigheid van kerncomponenten" -ForegroundColor Gray Write-Host " -Report : Genereer een samenvattend rapport" -ForegroundColor Gray Write-Host " -OutputPath : Pad voor rapportbestand (alleen bij -Report)" -ForegroundColor Gray Write-Host " -DebugMode : Voer een veilige lokale test uit zonder cloudverbinding" -ForegroundColor Gray Write-Host "`nVoorbeeld: .\cyber-risk-management.ps1 -Assessment -DebugMode" -ForegroundColor Cyan Write-Host "Voorbeeld: .\cyber-risk-management.ps1 -Assessment -Report -OutputPath .\rapport.txt" -ForegroundColor Cyan } } catch { Write-Error "Scriptuitvoering is mislukt: $_" exit 2 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan } # Exitcodes: # 0 = Compliant # 1 = Niet compliant # 2 = Fout tijdens uitvoering

Risico zonder implementatie

Risico zonder implementatie
High: Zonder gestructureerd cyberrisicomanagementproces voor Microsoft 365 blijft risicobeheer afhankelijk van losse initiatieven en individuele medewerkers. Dit vergroot de kans op onvoldoende inzicht in risico's, onjuiste prioritering van maatregelen, niet-naleving van wet- en regelgeving, verhoogde kans op beveiligingsincidenten en datalekken, en aantoonbaarheidsproblemen bij audits.

Management Samenvatting

Introduceer een integraal cyberrisicomanagementproces specifiek voor Microsoft 365 dat risico's systematisch identificeert, beoordeelt, behandelt en monitort. Zorg voor een gestructureerd risicoregister, periodieke risicobeoordelingen, effectieve mitigerende maatregelen, en gebruik geautomatiseerde controles en rapportages om risicomanagement aantoonbaar te maken en continu te verbeteren.