💼 Management Samenvatting
Mailbox auditing in Exchange Online registreert in detail welke personen welke acties uitvoeren op een mailbox, welke berichten worden gelezen, verwijderd of doorgestuurd en wanneer beheerders permissies wijzigen. Daarmee ontstaat een volledige forensische tijdlijn die onmisbaar is voor incidentrespons, naleving van BIO- en AVG-eisen en het aantonen van zorgvuldige omgang met vertrouwelijke Rijksinformatie.
Zonder een actief auditspoor in Exchange Online opereert een organisatie letterlijk blind. Een aanvaller die via phishing of token-diefstal een mailbox overneemt kan ongemerkt regelen dat alle binnenkomende berichten worden doorgestuurd naar een extern adres, agenda-items downloaden of bewijsmateriaal wissen. Omdat er geen logging is, blijft onduidelijk welke informatie is ingezien en wie verantwoordelijk was. Ook interne dreigingen vallen buiten beeld: medewerkers die vlak voor vertrek gevoelige berichten exporteren, of een beheerder die ongeoorloofd mailboxmachtigingen toekent, laten geen sporen achter. Dat creëert aanzienlijke juridische risico’s, want onder AVG artikel 32 moet de overheid kunnen aantonen dat toegang tot persoonsgegevens wordt gemonitord, en auditors voor ISO 27001 en BIO 12.04 verlangen concreet bewijs dat mailboxactiviteiten kunnen worden gereconstrueerd. Mailbox auditing levert precies die zichtbaarheid. Door elke eigenaar-, gedelegeerde- en beheerdersactie vast te leggen, wordt het mogelijk om afwijkingen direct te onderzoeken. Het SOC ziet wanneer een mailbox vanaf onverwachte landen is geopend, wanneer er in korte tijd honderden berichten permanent zijn verwijderd of wanneer een forwarding rule naar een publiek domein verschijnt. Tijdens incidentonderzoek kan men exact reconstrueren welke berichten door een aanvaller zijn geopend, zodat slachtoffers gericht worden geïnformeerd. Bovendien geeft het auditspoor vertrouwen aan directies en toezichthouders: men kan aantonen dat kritieke besluitvorming over subsidies, aanbestedingen of strafrechtelijke onderzoeken niet ongemerkt is gemanipuleerd.
Connection:
Connect-ExchangeOnlineRequired Modules: ExchangeOnlineManagement
Implementatie
Deze maatregel borgt dat mailbox auditing tenantbreed actief is en dat iedere mailbox de juiste auditacties en bewaartermijnen toepast. Sinds januari 2019 zet Microsoft auditing standaard aan voor nieuwe mailboxen, maar organisaties moeten periodiek verifiëren dat ook oudere of uitzonderlijke mailboxen meedoen en dat niemand AuditEnabled heeft uitgeschakeld. Daarom voert het team een geautomatiseerde controle uit met Get-Mailbox en Set-OrganizationConfig. Daarbij wordt bekeken of owner-acties zoals Send, Move en HardDelete, delegate-acties zoals SendOnBehalf en UpdateFolderPermissions en admin-acties zoals AddMailboxPermission allemaal worden gelogd. Vervolgens wordt geregeld dat de Unified Audit Log minimaal 90 dagen bewaart en – waar nodig – via Advanced Audit policies wordt verlengd naar één tot zeven jaar. De Security Operations-afdeling richt daarnaast kant-en-klare zoekopdrachten in via de Purview portal en de cmdlet Search-UnifiedAuditLog, zodat een analist in seconden kan filteren op mailbox, tijdsperiode of specifieke operatie. Voor proactieve detectie koppelen we de data aan Microsoft Sentinel of een bestaand Rijks-SIEM en configureren we waarschuwingen voor patronen die wijzen op exfiltratie, sabotage of misbruik van gedelegeerde toegang. De totale doorlooptijd omvat circa twee uur voor technische verificatie, twee uur voor documentatie en overdracht en aanvullende tijd voor het testen van dashboards. Omdat mailbox auditing onderdeel is van Exchange Online, brengt de controle zelf geen licentiekosten met zich mee, maar wel vereist het proces een volwassen governance waarin rollen, procedures en rapportages zijn vastgelegd.
Vereisten
- Een organisatie die mailbox auditing serieus wil inzetten, moet beschikken over een volledig geconfigureerde Exchange Online-tenant waarin identity-beveiliging, voorwaardelijke toegang en Unified Audit Log integration al operationeel zijn. Dat betekent concreet dat Azure AD Premium P1 minimaal is ingeschakeld voor de beheerders die mailbox auditing controleren, dat modern authentication overal verplicht is gesteld en dat legacy protocollen zoals Basic Authentication voor POP/IMAP zijn uitgefaseerd. Alleen dan is het mogelijk om de herkomst van alle mailboxacties betrouwbaar te herleiden. Verder moet iedere mailbox – inclusief gedeelde, resource- en archiefmailboxen – een uniek en actueel eigenaarschap hebben in het Configuration Management Database (CMDB) zodat auditgegevens kunnen worden gekoppeld aan procesverantwoordelijken. De tenant moet eveneens beschikken over een veilige verbinding naar de Microsoft 365 Purview portal, waarbij beheerwerkstations hardeningregels volgen (bijvoorbeeld Intune compliance policies, Defender for Endpoint EDR, BitLocker en gecentraliseerde patching) zodat auditconfiguraties niet vanaf onveilige laptops worden gewijzigd. Tot slot is een goedgekeurde koppeling met een Security Information and Event Management (SIEM) platform vereist wanneer de auditdata langer dan de standaard 90 dagen moet worden bewaard; denk daarbij aan een ingestie pipeline richting Microsoft Sentinel of een bestaande Rijks-SIEM met TLS 1.2 transport en service accounts die voldoen aan het Rijksbrede IAM-kader.
- Naast de technische fundamenten zijn licenties, governance en organisatorische afspraken noodzakelijk om mailbox auditing duurzaam te laten functioneren. Minimaal Microsoft 365 E3-licenties zijn vereist om standaard auditing en audit log search te gebruiken, terwijl E5 of het Microsoft 365 E5 Compliance-add-on nodig is om audit log retention policies boven de 90 dagen af te dwingen en Advanced Audit-acties zoals MailItemsAccessed te verzamelen. De Chief Information Security Officer (CISO) moet een formeel besluit hebben genomen dat mailbox auditing onderdeel is van het Security Monitoring Plan en de BIO 12.04-controles, inclusief goedgekeurde procedures in het ISMS. Change- en releasebeheer moeten zijn ingericht zodat PowerShell-scripts zoals exchange-mailbox-auditing.ps1 uitsluitend via gecontroleerde pipelines draaien met vier-ogenprincipe en logging in Azure DevOps of GitHub Actions. Verder is het essentieel dat privacy officers een Data Protection Impact Assessment (DPIA) hebben uitgevoerd waarin het gebruik van auditlogs wordt verantwoord richting de AVG, inclusief bewaartermijnen, toegangsrechten en procedures voor inzageverzoeken. Tot slot moeten security-analisten zijn opgeleid om de auditvelden (bijvoorbeeld Operation, LogonType, ExternalAccess) correct te interpreteren en moet de servicedesk weten hoe afwijkingen worden geëscaleerd naar het Computer Security Incident Response Team (CSIRT).
Implementatie
Gebruik PowerShell-script exchange-mailbox-auditing.ps1 (functie Invoke-Remediation) – Dit PowerShell-script is ontwikkeld als gecontroleerde implementatiestap die elke relevante configuratieparameter van mailbox auditing verifieert voordat wijzigingen worden toegepast. Het script authenticeert via Connect-ExchangeOnline met moderne OAuth en Just-In-Time privileges, controleert of de organisatieconfiguratie AuditDisabled niet per ongeluk op $true staat, en zet dat veld zo nodig terug naar $false met volledige logging. Vervolgens doorloopt het script gefaseerd alle gebruikers-, gedeelde, resource- en discovery-mailboxen aan de hand van Get-Mailbox in batches van 200 objecten en controleert het per exemplaar of AuditEnabled is ingesteld, of de relevante auditacties (Owner, Admin, Delegate) zijn toegekend, en of het auditlogoverzicht overeenkomt met de beleidsnorm. Voor legacy mailboxen die vóór januari 2019 zijn aangemaakt, forceert het script Add-MailboxAuditBypassAssociation $null zodat auditdata ook voor serviceaccounts wordt verzameld. De uitvoer wordt naar zowel de console als een CSV en JSON logbestand in de deploymentmap geschreven, waarmee change-, security- en compliance-teams exact kunnen reproduceren welke mailboxen zijn aangepast, door wie en wanneer. Omdat het script defensief programmeert, voert het eerst een what-if validatie uit, waarna een administrator een bevestiging geeft voordat daadwerkelijke wijzigingen plaatsvinden. Hierdoor voldoet de implementatie aan de Rijksbrede eis om auditrelevante wijzigingen alleen onder toezicht en met herleidbare logging uit te voeren..
De operationele implementatie start met het controleren van de tenantinstelling via het commando Set-OrganizationConfig -AuditDisabled $false, waardoor mailbox auditing organisatiebreed actief blijft, ook wanneer nieuwe mailboxen worden aangemaakt. Gebruik daarna Get-Mailbox -ResultSize Unlimited | Set-Mailbox -AuditEnabled $true om er zeker van te zijn dat ieder type mailbox meedoet. Deze stap moet worden aangevuld met Set-Mailbox -AuditOwner Never -AuditDelegate Delete,SendOnBehalf,SendAs,UpdateFolderPermissions -AuditAdmin UpdateInboxRules,MailboxLogin zodat alle relevante acties in de log terechtkomen. Organisaties die gebruikmaken van privileged access workstations voeren dit script vanuit een Intune-beheerde sessie uit en slaan het transcript via Start-Transcript op in een beveiligde SharePoint-site voor audittrail-doeleinden. Na het configureren van de tenant moet de administrator bevestigen dat de Unified Audit Log actief is in Microsoft Purview en dat de juiste rollen (View-Only Audit Logs, Audit Logs) aan het SOC zijn toegewezen. Vervolgens wordt een steekproef uitgevoerd: open Exchange admin center, kies een gedeelde mailbox waarvan bekend is dat auditors toegang hebben, en controleer of audit events verschijnen nadat er bewust een e-mail is gelezen en verplaatst. Documenteer elke stap in het change record, inclusief PowerShell-output, referenties naar het CAB-besluit en de link naar het deployment script. Tot slot wordt afgesproken dat deze implementatiestappen opnieuw worden uitgevoerd na iedere tenant-herconfiguratie of na het aanmaken van meer dan 25 nieuwe mailboxen binnen één releasecyclus, zodat auditdekking consistent blijft.
Monitoring
Gebruik PowerShell-script exchange-mailbox-auditing.ps1 (functie Invoke-Monitoring) – De monitoringsfunctie in het script automatiseert het ophalen van auditgegevens, het identificeren van anomalieën en het aanleveren van cases aan het SOC-ticketingsysteem. Na authenticatie voert het een gerichte Search-UnifiedAuditLog uit per mailbox of workload, waarbij filters worden toegevoegd voor risicovolle acties zoals MailItemsAccessed, UpdateInboxRules, HardDelete en SendOnBehalf. Het script vertaalt de ruwe JSON-resultaten naar een gestandaardiseerd CSV-formaat met kolommen voor Operation, LogonType, ExternalAccess, ClientIP, ResultStatus en CorrelationId, zodat SOC-analisten zonder aanvullende parsing tools direct met de data kunnen werken. Daarbovenop voert het basale gedragsanalyses uit: het vergelijkt het aantal verwijderingen per uur met de gemiddelde baseline, markeert logins vanaf landen buiten de door de organisatie toegestane locaties, en koppelt auditrecords aan Azure AD sign-ins om te verifiëren of er sprake is van verdachte device-ID’s. De resultaten worden opgeslagen in een Azure Storage-account of een lokale beveiligde share en kunnen via API naar Microsoft Sentinel, Splunk of Elastic worden gepusht. Door de monitoringfunctie dagelijks of real time via een runbook te draaien, ontstaat een continu zicht op mailboxmisbruik zonder handmatige zoekopdrachten in de Purview portal..
Een volwassen monitoringsproces vereist meer dan alleen het draaien van Search-UnifiedAuditLog. Begin met het definiëren van use-cases: detecteer bijvoorbeeld bulkverwijderingen (meer dan 200 HardDelete-acties in 15 minuten), forwarding rules naar externe domeinen die niet op de whitelist staan, of logins op executive mailboxen buiten kantooruren. Leg voor elke use-case vast welke auditvelden relevant zijn en welke drempelwaarden gelden, en vertaal dat naar zowel PowerShell-queries als Kusto-query’s wanneer de data in Sentinel wordt opgeslagen. Bouw dashboards die wekelijks rapporteren hoeveel mailboxen afwijkend gedrag vertonen, hoeveel events als false positive zijn geclassificeerd en welke acties zijn geëscaleerd naar het CSIRT. Combineer auditdata met Defender for Office 365 signalen, zodat phishingcampagnes direct zichtbaar worden in mailboxlogs. Voor juridische houdbaarheid moeten alle monitoringactiviteiten zijn beschreven in het Security Monitoring Plan, dat door de Functionaris Gegevensbescherming is goedgekeurd. Het SOC moet aantoonbaar binnen zestig minuten reageren op kritieke alerts en de analyse in het incidentregistratiesysteem vastleggen, inclusief wie de auditlog heeft ingezien, welke conclusies zijn getrokken en welke aanvullende forensische stappen zijn uitgevoerd. Door deze werkwijze ontstaat een sluitende keten van detectie, analyse en respons die voldoet aan de Nederlandse overheidsnormen voor continue monitoring.
Compliance en Auditing
- BIO 12.04 vereist aantoonbare logging van gebeurtenissen die de betrouwbaarheid, integriteit en beschikbaarheid van Rijksinformatie kunnen beïnvloeden. Voor mailbox auditing betekent dit dat de organisatie moet aantonen dat alle relevante mailboxactiviteiten – van logins en machtigingswijzigingen tot bulkverwijderingen – volledig, tijdig en vertrouwelijk worden vastgelegd. De beleidsuitwerking beschrijft welke taken door de proceseigenaar, de CISO, het security operations center en de privacy officer worden uitgevoerd. Denk aan een jaarlijkse verificatie dat alle mailboxen AuditEnabled = $true rapporteren, het beheer van audit log retention policies waarmee de standaard 90 dagen wordt verlengd naar minimaal één jaar voor BIO-hoogrisko processen, en het vastleggen van procedurele waarborgen dat alleen geautoriseerde analisten toegang hebben tot de auditlogs. Daarnaast schrijft de BIO voor dat auditinformatie moet worden beschermd tegen ongeautoriseerde wijziging; daarom worden de logbestanden vanuit Exchange Online doorgestuurd naar een write-once-opslag (bijvoorbeeld een beveiligde Log Analytics-werkruimte met immutable retention) en wordt de toegang via Privileged Identity Management gejournald. De organisatie documenteert deze inrichting in het Informatiebeveiligingsplan en toont tijdens audits de scripts, change-records en steekproefrapportages die bewijzen dat mailbox auditing continu in werking is.
- ISO 27001 controle A.12.4.1 sluit hier naadloos op aan en eist dat loggingfaciliteiten gebeurtenissen rondom gebruikersactiviteiten, uitzonderingen en informatiebeveiligingsincidenten registreren, beoordelen en bewaken. In de context van Exchange Online betekent dit dat organisaties logging moeten inrichten voor zowel eigenaar-, gedelegeerde als beheerdershandelingen en dat de loggegevens periodiek worden beoordeeld op afwijkend gedrag. De ISO-norm vraagt bovendien om duidelijke taakverdeling, toegangsbeheer tot loginformatie, synchronisatie van systeemklokken en een bewaartermijn die past bij de juridische en bedrijfsbehoefte. Daarom wordt in het ISMS beschreven dat de Exchange-beheerder verantwoordelijk is voor het technisch inschakelen van auditing, dat het SOC de dagelijkse monitoring uitvoert, dat de compliance officer periodiek steekproeven neemt en dat het CSIRT alle incidenten binnen de afgesproken SLA behandelt. Door auditlogs te koppelen aan een gecentraliseerd SIEM en de klok van alle beheerwerkstations te synchroniseren via NTP, voldoet de organisatie aan de ISO-eisen voor herleidbaarheid en bewijsvoering. Tijdens certificeringsaudits kan men aantonen dat afwijkingen worden geregistreerd, beoordeeld en opgevolgd met concrete verbetermaatregelen, ondersteund door auditrapporten, incidentdossiers en lessons-learned documenten.
Remediatie
Gebruik PowerShell-script exchange-mailbox-auditing.ps1 (functie Invoke-Remediation) – Het herstelproces is erop gericht om mailbox auditing onmiddellijk te herstellen zodra blijkt dat bepaalde mailboxen geen logging genereren of wanneer auditdata door een configuratie- of licentieprobleem niet wordt opgeslagen. De herstelrun van exchange-mailbox-auditing.ps1 start met het importeren van de meest recente verificatielog en bepaalt welke mailboxen buiten conformiteit vallen. Voor iedere afwijking voert het script een herconfiguratie uit: AuditEnabled wordt opnieuw naar $true gezet, AuditLogAgeLimit wordt afgestemd op de overeengekomen retentie (bijvoorbeeld 365 dagen) en de standaardacties voor Owner, Delegate en Admin worden hersteld wanneer ze door een beheerder bewust of onbewust zijn aangepast. Daarna valideert het script of er mailboxauditbypass-associaties bestaan, verwijdert ze en legt het resultaat vast in een afzonderlijke CSV zodat er een trace is van alle herstelde accounts. Wanneer er licentieproblemen worden aangetroffen – bijvoorbeeld omdat een mailbox geen E3/E5 of audit-add-on heeft – logt het script dat als blocking issue en verstuurt het een melding naar het licentieteam. Tijdens de remediatie wordt ook gecontroleerd of de Unified Audit Log nog records accepteert; bij fouten wordt automatisch een Microsoft 365 support ticket aangemaakt via de Service Communications API. Tot slot wordt een mini-penetratietest uitgevoerd: er wordt bewust een e-mail verplaatst en verwijderd op een herstelde mailbox om te bewijzen dat de logging weer werkt. Alle stappen worden geaudit via Start-Transcript en gekoppeld aan het incidentnummer in het ISMS. De remediatie is pas afgerond wanneer het SOC een nieuw monitoringrapport heeft ontvangen waarin alle eerder afwijkende mailboxen groene status vertonen en de CISO de sluiting heeft goedgekeurd..
Compliance & Frameworks
- BIO: 12.04.01 - Gebeurtenissen logging en audittrails
- ISO 27001:2022: A.12.4.1 - Gebeurtenissen logging en audittrails
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).
Risico zonder implementatie
Management Samenvatting
Mailbox auditing registreert eigenaar-, gedelegeerde en beheerdersactiviteiten, stuurt de gegevens naar de Unified Audit Log en vormt de basis voor forensisch onderzoek. Controleer legacy mailboxen, verleng de retentie naar ten minste één jaar, automatiseer monitoring via PowerShell/SIEM en borg de processen binnen twee tot vier uur implementatiewerk.
- Implementatietijd: 4 uur
- FTE required: 0.05 FTE