Microsoft 365 Monitoring Design

💼 Management Samenvatting

Een doordachte monitoringstrategie voor Microsoft 365 vormt het zenuwstelsel van de digitale weerbaarheid van een overheidsorganisatie en levert realtime inzicht in hoe identiteiten, workloads en data zich gedragen.

Aanbeveling
Implementeer een integraal Microsoft 365-monitoringprogramma dat Unified Audit Log, SIEM-integratie en gerichte rapportages combineert.
Risico zonder
Critical
Risk Score
9/10
Implementatie
60u (tech: 40u)
Van toepassing op:
Microsoft 365
Azure AD
Exchange Online
SharePoint
Teams

Wanneer logregistraties versnipperd zijn of slechts kort worden bewaard, ontstaan blinde vlekken waardoor misbruik van beheeraccounts, misconfiguraties of datalekken pas weken later worden ontdekt. Een centraal geconfigureerd Unified Audit Log in Microsoft Purview is daarom onmisbaar om elke relevante handeling te reconstrueren en tijdig corrigerende maatregelen te nemen.

PowerShell Modules Vereist
Primary API: Microsoft Graph API
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.Security, ExchangeOnlineManagement

Implementatie

Dit ontwerpdocument vertaalt nationale compliance-eisen en Microsoft-architectuurprincipes naar een concreet monitoringsmodel dat licentievoorwaarden, retentiebeleid, geautomatiseerde exports naar SIEM, gestroomlijnde alerting en rapportage naar bestuurders combineert.

Vereisten

Een effectief monitoringsprogramma voor Microsoft 365 begint bij de juiste licenties en diensttoewijzingen, omdat alleen E3-, E5- of E5-Compliance pakketten volledige toegang tot het Unified Audit Log en geavanceerde detectiecapaciteiten garanderen. Organisaties moeten deze licenties bewust koppelen aan beheerders, informatie-eigenaren en leden van het Security Operations Center zodat elke wijziging aan configuraties, transportregels, Teams-instellingen of Purview-beleid daadwerkelijk wordt geregistreerd. Zonder deze basislicenties ontbreken cruciale gebeurtenissen zoals mailboxdelegaties, DLP-excepties of SharePoint-site permissies, waardoor nooit kan worden aangetoond dat structureel toezicht heeft plaatsgevonden. Het vereiste budget en de besluitvorming rondom licenties horen daarom tot de beveiligingsarchitectuur in plaats van een los financieel vraagstuk, zodat bestuurders begrijpen dat monitoring een verplicht onderdeel van de Nederlandse Baseline voor Veilige Cloud is.

Naast licenties is toegang tot het Microsoft Purview compliance portaal een harde randvoorwaarde, omdat daar auditlogboeken worden geactiveerd, retentieperioden worden verlengd en exportverbindingen naar SIEM-oplossingen worden ingericht. Toegang moet worden gedelegeerd via rolgebaseerde rechten zoals Audit Reader, Audit Administrator en Compliance Data Administrator, zodat het principe van minimale privileges ook voor toezichthouders geldt. Deze rollen vereisen multi-factor authenticatie, privileged access workstations en opname in een Just-In-Time proces via Privileged Identity Management om misbruik of menselijke fouten te voorkomen. Documentatie van welke personen deze rechten hebben, inclusief onderbouwde bedrijfsrollen, maakt later inzichtelijk dat het auditproces controleerbaar is en voldoet aan de BIO-eisen voor functiescheiding.

Een derde pijler omvat de technische integratie-eisen tussen Microsoft 365, Microsoft Graph en eventuele externe SIEM- of SOAR-platformen. Organisaties moeten beschikken over een betrouwbare Azure AD applicatieregistratie met certificaatgebaseerde authenticatie voor het Office 365 Management Activity API kanaal, netwerkconnectiviteit naar ingestieroutes zoals Azure Monitor of een on-premises logcollector, en voldoende opslagcapaciteit om minimaal zeven jaar aan loggegevens te bewaren wanneer regelgeving dit voorschrijft. Daarbij horen prestatiebewaking van de ingestiequeue, het bijhouden van throttling-limieten en een fallbackmechanisme dat waarschuwt wanneer het exportproces stagneert. Zonder deze voorbereidingen raken logs zoek of ontstaat vertraging, waardoor incidentrespons onmogelijk te reconstrueren is.

Tot slot zijn er organisatorische vereisten die bepalen of monitoring daadwerkelijk waarde oplevert. Er moet een multidisciplinair team beschikbaar zijn dat kennis heeft van identiteit, Exchange, SharePoint, Teams en beveiligingsanalyses, aangevuld met proces- en compliance-expertise. Zij definiëren welke use-cases prioriteit krijgen, hoe dataclassificatie en risicoprofielen worden vertaald naar detectiecriteria en welke rapportages maandelijks naar CISO, privacy officer en lijnmanagement gaan. Training, tabletopoefeningen en duidelijke runbooks zorgen ervoor dat nieuwe medewerkers begrijpen welke stappen worden verwacht bij afwijkende patronen. Daarmee ontstaat een duurzaam fundament dat verder gaat dan een technische checklist en dat aansluit bij de Nederlandse Baseline voor Veilige Cloud.

Implementatie

De implementatie begint met het inschakelen en configureren van het Unified Audit Log in Microsoft Purview, waarbij gecontroleerd wordt of auditing daadwerkelijk geactiveerd is voor de tenant en of mailbox auditing voor alle Exchange Online gebruikers is ingesteld. Voor E3-licenties betekent dit dat de extensieve logging policy wordt toegepast zodat activiteiten zoals message bind, mailbox login en transportregelwijzigingen worden vastgelegd. Tegelijkertijd wordt een retentiebeleid geconfigureerd dat overeenkomt met de bedrijfs- en regelgevingseisen: negentig dagen als minimale baseline, één jaar voor E5 en waar nodig uitbreiding naar tien jaar via het aanvullende Advanced Audit abonnement. Documenteer voor elke verlengde retentie waarom deze noodzakelijk is en welke gegevenscategorieën worden geraakt, zodat de privacy officer kan verifiëren dat proportionaliteit wordt geborgd.

In de tweede stap worden de workloads zelf ingericht zodat zij zinvolle metadata naar het Unified Audit Log sturen. Exchange Online vereist validatie van mailbox auditing op resourceaccounts, gedelegeerde mailboxen en gedeelde postvakken, terwijl SharePoint en OneDrive moeten worden gecontroleerd op het loggen van sitepermissiewijzigingen, synchronisatieactiviteiten en downloadstromen. Voor Microsoft Teams betekent dit het activeren van de meeting policy logging en de export van chat compliance events. Tegelijkertijd worden beheerdersacties vanuit Entra ID en Intune samengebracht om een consistent beeld te geven van wie wanneer een kritieke wijziging uitvoert. Deze stap omvat het testen van scenario's zoals het toevoegen van een nieuwe Exchange transportregel en het controleren of dit binnen enkele minuten zichtbaar is in het auditoverzicht.

Daarna volgt de ontwerp- en configuratiefase voor integratie met SIEM-, SOAR- en datawarehouse-oplossingen. Voor Microsoft Sentinel wordt een connector geconfigureerd die het Office 365 management kanaal gebruikt, aangevuld met Kusto-functies die ruwe records verrijken met classificatie-informatie en organisatorische context zoals business unit of gevoeligheidslabel. Organisaties die Splunk of QRadar inzetten maken gebruik van een Azure Event Hub of een dedicated log forwarder die de Management Activity API periodiek ophaalt en omzet naar het eigen formaat. Belangrijk is dat throttling en API-fouten worden gelogd, dat synchronisatie-instellingen zoals content-type per workload worden vastgelegd en dat er een automatische waarschuwing ontstaat wanneer het aantal opgehaalde records plotseling daalt.

In de afsluitende stap wordt automatisering toegevoegd om implementatie herhaalbaar te maken en configuratiedrift te voorkomen. Het script "microsoft365-monitoring.ps1" controleert bijvoorbeeld of de Unified Audit Log status overeenkomt met het beleid, of exportjobs actief zijn en of nieuwe workloads zoals Viva Engage in de logging zijn opgenomen. De uitkomsten worden gekoppeld aan change- en incidentprocessen zodat afwijkingen direct een taak creëren voor het SOC of het compliance team. Change management documenteert welke instellingen zijn aangepast, welke testcases zijn uitgevoerd en welke rollbackopties bestaan. Door deze stap te combineren met periodieke controles via Azure Automation of GitHub Actions ontstaat een levenscyclusbenadering waarin monitoring een blijvend kwaliteitsmechanisme wordt.

Gebruik PowerShell-script microsoft365-monitoring.ps1 (functie Invoke-Monitoring) – Controleer monitoring configuration.

Monitoring

In de operationele fase vormt het Purview Audit dashboard het startpunt voor dagelijkse monitoring, omdat het een chronologische en gefilterde weergave biedt van alle activiteiten in Microsoft 365. Analisten definiëren vaste weergaven voor identiteitswijzigingen, data-exfiltratie en mislukte aanmeldpogingen zodat zij patronen herkennen voordat deze escaleren naar incidenten. Elke ochtend wordt gecontroleerd of de ingestroomde loghoeveelheid overeenkomt met de verwachte volumes per workload; afwijkingen kunnen duiden op een connectorprobleem of op een plotselinge toename van verdachte handelingen. Daarnaast worden aangepaste zoekprofielen opgeslagen voor onderzoeken naar bijvoorbeeld gevoelige labelwijzigingen of downloads buiten kantoortijden, waardoor het auditteam efficiënter werkt.

Het Microsoft 365 Defender portaal fungeert als tweede controlelaag waarin waarschuwingen automatisch worden gecorreleerd met auditgegevens. Hier worden detectieregels ingericht voor massale mailboxexports, privilege-escalaties en ongebruikelijke bestandsactiviteiten in SharePoint en OneDrive. Analisten vergelijken deze waarschuwingen met de ruwe auditgebeurtenissen om fout-positieven te minimaliseren en beleidsregels bij te sturen. Door Defender alerts te koppelen aan het overheidsbrede ticketingsysteem ontstaat traceerbaarheid van melding tot oplossing, inclusief bewijs welke logitems zijn geraadpleegd. Dit is essentieel bij forensisch onderzoek en bij het onderbouwen van meldingen richting de Autoriteit Persoonsgegevens.

De SIEM-omgeving is de plek waar langdurige trendanalyses en correlaties plaatsvinden. Sentinel, Splunk of een ander platform ontvangt de auditdata, verrijkt deze met identiteitscontext en past detectiepatronen toe die specifiek zijn voor overheidsprocessen, zoals onbevoegde toegang tot burgerdossiers of massaal downloaden van vergaderdossiers. Queries controleren bijvoorbeeld of een gebruiker in korte tijd zowel Exchange transportregels wijzigt als nieuwe vergaderopties activeert, wat kan wijzen op voorbereiding van data-exfiltratie. Machinelearningmodellen volgen seizoenspatronen en signaleren afwijkingen, terwijl watchlists aangeven welke accounts extra aandacht nodig hebben wegens lopende onderzoeken.

Monitoring heeft alleen waarde wanneer resultaten worden gedeeld via heldere rapportages en managementinformatie. Daarom wordt wekelijks een overzicht verstuurd met kernstatistieken zoals aantal onderzochte alerts, volume van auditrecords, gemiddelde responstijd en de belangrijkste lessons learned. Maandelijks ontvangt de CISO een narratief rapport waarin trends worden verklaard, verbeteracties worden voorgesteld en de relatie met risicoregisters wordt gelegd. Parallel hieraan worden dashboards gepubliceerd voor de lijnmanagers van Exchange, SharePoint en Teams waarin staat welke configuraties de meeste waarschuwingen veroorzaken, zodat zij gericht kunnen bijsturen. Door deze ritmiek ontstaat een feedbackloop waarin monitoring direct leidt tot prioriteiten in projecten en processen.

Gebruik PowerShell-script microsoft365-monitoring.ps1 (functie Invoke-Monitoring) – Health check.

Remediatie

Remediatie start zodra monitoring aantoont dat instellingen afwijken van de afgesproken norm of wanneer een incident de noodzaak van extra maatregelen blootlegt. Het team beoordeelt eerst de ernst van de afwijking: staat het Unified Audit Log uit, is de retentie verkort of ontbreekt er een export naar het SIEM? Vervolgens wordt een herstelplan opgesteld waarin staat welke diensten worden geraakt, wie de eigenaar is en welke tijdelijke mitigerende maatregelen nodig zijn om zicht te houden op activiteiten. Voorbeelden zijn het versneld verzamelen van logbestanden via PowerShell, het uitvoeren van handmatige exports of het tijdelijk verhogen van het controleniveau op een afdeling waar verdachte gebeurtenissen plaatsvinden.

Wanneer de oorzaak ligt bij verkeerde configuraties of onvoldoende afgestemde alertregels, wordt een gestructureerd wijzigingsproces gevolgd. Analisten vergelijken de geregistreerde gebeurtenis met het gewenste detectiescenario en bepalen welke parameter moet worden aangepast, zoals het toevoegen van specifieke SharePoint sitecollecties, het verhogen van drempels voor massale downloads of het uitsluiten van serviceaccounts die voorspelbare activiteiten uitvoeren. Elke wijziging wordt getest op een representatieve dataset, waarbij gecontroleerd wordt of zowel true positives als false positives op de juiste manier uitvallen. Daarna wordt de wijziging formeel goedgekeurd via change management en wordt de documentatie in Purview, Sentinel en het centrale kennisarchief geactualiseerd.

Het PowerShell-script "microsoft365-monitoring.ps1" speelt een rol in de verificatiefase doordat het snel inzicht geeft of alle kritieke instellingen weer op de gewenste waarde staan. Het script wordt uitgevoerd met lokale debuginstellingen zodat duidelijk zichtbaar is welke controles passeren en welke falen. De resultaten worden gekoppeld aan incidenttickets en dienen als bewijs richting auditors dat herstel daadwerkelijk heeft plaatsgevonden. Na afronding wordt een post-incident review gehouden waarin lessons learned worden vertaald naar nieuwe detecties, aanvullende dashboards of gerichte training voor beheerders.

Communicatie vormt de laatste stap binnen remediatie. Zodra maatregelen zijn uitgevoerd, informeert het team alle belanghebbenden, waaronder CISO, privacy officer en proceseigenaren. Zij ontvangen een samenvatting van het incident, de herstelde instellingen, de resterende risico's en eventuele acties die zij zelf moeten ondernemen, zoals het informeren van eindgebruikers of het aanscherpen van procedures. Door deze transparantie ontstaat vertrouwen dat monitoring daadwerkelijk leidt tot verbeteringen en blijft draagvlak bestaan voor strategische investeringen in aanvullende licenties of automatisering.

Gebruik PowerShell-script microsoft365-monitoring.ps1 (functie Invoke-Remediation) – Remediate configuration.

Compliance en Auditing

De Algemene Verordening Gegevensbescherming vereist dat organisaties verantwoorden hoe zij persoonsgegevens beveiligen, incidenten detecteren en binnen 72 uur een melding kunnen doen. Monitoring levert hiervoor het bewijs doordat auditlogs laten zien welk account een dataset heeft geraadpleegd, welke bestanden zijn gedeeld en welke beheerders toegang hebben gekregen tot gevoelige systemen. Bij een datalek kan het incidentrespons-team met behulp van Purview Audit exact reconstrueren welke gegevens zijn geraakt, waardoor het mogelijk wordt gericht te communiceren met betrokken burgers of partners. Daarnaast stelt monitoring organisaties in staat om privacy-by-design aan te tonen, omdat zij kunnen laten zien dat logging en alerting standaard zijn ingeschakeld en continu worden beoordeeld.

De BIO schrijft voor dat overheidsonderdelen gebeurtenissen registreren, bewijsmateriaal veiligstellen en aantoonbaar toezicht houden op beheeractiviteiten. Het monitoringsontwerp uit dit document sluit hierop aan door logregistratie over alle Microsoft 365 workloads te centraliseren, functiescheiding tussen beheerders en auditors af te dwingen en retentieperioden in lijn te brengen met het geclassificeerde niveau van de informatie. Tijdens audits kan het team rapportages leveren waarin staat welke controles dagelijks draaien, welke afwijkingen zijn gevonden en hoe snel is opgetreden. Daarmee voldoet de organisatie aan BIO 16.01 en aanverwante controls over logging, monitoring en incidentafhandeling.

NIS2 en de Nederlandse Cyberbeveiligingswet vragen om snelle detectie en rapportage van significante incidenten binnen respectievelijk 24 en 72 uur, inclusief informatie over de impact en genomen maatregelen. Zonder integraal monitoringsplatform is het onmogelijk om tijdig vast te stellen of een incident onder deze meldplichten valt. Door auditlogs naar een SIEM te sturen correleren organisaties signalen over bijvoorbeeld ongebruikelijke beheerdersactiviteiten met netwerk- en endpointdata, zodat een compleet beeld ontstaat voor de nationale toezichthouder. Bovendien kan dezelfde inrichting worden benut om aanstaande DORA-verplichtingen in de financiële sector te ondersteunen, omdat herleidbaarheid van wijzigingen in cloudomgevingen een kernvereiste vormt.

Compliance stopt niet bij beleid; het vereist afgeronde bewijsstukken die auditors kunnen beoordelen. Daarom worden auditbewijzen zoals de configuratiestatus van het Unified Audit Log, lijsten met alert policies, exportschema's naar Sentinel en procesbeschrijvingen voor incidentrapportage centraal opgeslagen. Elk bewijsstuk wordt voorzien van datum, eigenaar en verwijzing naar het onderliggende controleraamwerk zodat zichtbaar is hoe de Nederlandse Baseline voor Veilige Cloud is toegepast. Tijdens assessments kan men hierdoor binnen minuten aantonen dat monitoring werkt, dat remediaties zijn uitgevoerd en dat dataretentie overeenkomt met wettelijke eisen. Deze discipline verlaagt auditkosten en versterkt het vertrouwen van bestuurders en externe toezichthouders.

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 M365 Monitoring Design .DESCRIPTION Implementation for M365 Monitoring Design .NOTES Filename: microsoft365-monitoring.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/design/platform/microsoft365-monitoring.json #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "M365 Monitoring Design" $BIOControl = "16.01" function Connect-RequiredServices { # Connection logic based on API } function Test-Compliance { Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "microsoft365-monitoring" PolicyName = $PolicyName IsCompliant = $false TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 Details = @() Recommendations = @() } # Compliance check implementation # Based on: Design Document $result.Details += "Compliance check - implementation required based on control" $result.NonCompliantCount = 1 return $result } function Invoke-Remediation { Write-Host "`nApplying remediation for: $PolicyName..." -ForegroundColor Cyan # Remediation implementation Write-Host " Configuration applied" -ForegroundColor Green Write-Host "`n[OK] Remediation completed" -ForegroundColor Green } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total: $($result.TotalResources)" -ForegroundColor White Write-Host "Compliant: $($result.CompliantCount)" -ForegroundColor Green $color = if ($result.NonCompliantCount -gt 0) { "Red" } else { "Green" } Write-Host "Non-compliant: $($result.NonCompliantCount)" -ForegroundColor $color return $result } function Invoke-Revert { Write-Host "Revert: Configuration revert not yet implemented" -ForegroundColor Yellow } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "WhatIf: Would apply remediation" -ForegroundColor Yellow } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance if ($result.IsCompliant) { Write-Host "`n[OK] COMPLIANT" -ForegroundColor Green } else { Write-Host "`n[FAIL] NON-COMPLIANT" -ForegroundColor Red } } } catch { Write-Error $_ }

Risico zonder implementatie

Risico zonder implementatie
Critical: Zonder centraal Microsoft 365-monitoringplatform blijven privilege-escalaties, datalekken en misconfiguraties onzichtbaar, worden meldplichten onder AVG en NIS2 gemist en ontstaat een aantoonbaar gat ten opzichte van de BIO-eisen voor logging en toezicht.

Management Samenvatting

Activeer en verleng het Unified Audit Log, exporteer auditgegevens continu naar Sentinel of een ander SIEM, richt volwassen detectieregels in via Microsoft 365 Defender, ondersteun remediatie met het script "microsoft365-monitoring.ps1" en lever aantoonbare rapportages aan security- en compliancefuncties zodat de Nederlandse Baseline voor Veilige Cloud wordt nageleefd.