Waarom je standaard M365-auditlogs gevaarlijk extern delen verbergen
By Mirko Peters ·
Welkom terug op de blog! Als je een Microsoft 365-tenant beheert, slaap je waarschijnlijk rustig in de wetenschap dat je ingebouwde auditlogs je ruggengraat vormen. Microsoft biedt tenslotte out-of-the-box robuuste beveiligings- en compliancefuncties, toch? Helaas is het vertrouwen op standaardinstellingen een recept voor een ramp als het gaat om extern delen via SharePoint en OneDrive. Organisati
Automatically translated with AI from the original post. Read the English original
Welkom terug op de blog! Als je een Microsoft 365-tenant beheert, slaap je waarschijnlijk rustig in de wetenschap dat je ingebouwde auditlogs je dekken. Microsoft biedt tenslotte out-of-the-box robuuste beveiligings- en compliancefuncties, toch? Helaas is het vertrouwen op standaardinstellingen een recept voor een ramp als het gaat om extern delen via SharePoint en OneDrive. Organisaties gaan er routinematig van uit dat, omdat auditing aan staat, elke bestandsbeweging, elke gastlogin en elke linkcreatie veilig wordt vastgelegd en eenvoudig te controleren is. In werkelijkheid verbergen je standaard M365-auditlogs waarschijnlijk gevaarlijke activiteiten voor extern delen gewoon in het zicht.
In deze uitgebreide gids nemen we de blinde vlekken van Microsoft 365-auditing onder de loep, leggen we uit waarom bewaring van 90 dagen niet langer voldoende is voor moderne compliance, en lopen we het exacte technische blauwdruk door dat nodig is om een ruwe, onbeheersbare datastroom om te zetten in precieze, bruikbare beveiligingsinformatie. Laten we diep duiken in hoe je ophoudt blind te vliegen en weer volledige controle krijgt over je samenwerkingsomgeving.
Waarom je standaard M365-auditlogs gevaarlijk extern delen verbergen
De grootste valkuil in Microsoft 365-beheer is aannemen dat de status "Auditing ingeschakeld" gelijkstaat aan volledig zicht. Dat is niet zo. Standaard laten de standaardtenantinstellingen kritieke granulaire gebeurtenissen weg, met name rond het aanmaken van anonieme links, het gebruik van gastgebruikerslinks en specifieke bestandstoegangsacties. Als een gebruiker een anonieme machtiging "Iedereen met de link" instelt op een gevoelige financiële spreadsheet en een externe partij het bestand downloadt, kan je standaard auditquery de gebruiksgebeurtenis volledig missen.
Bovendien is de standaard bewaartermijn van auditlogs een schamele 90 dagen. Voor de meeste interne onderzoeken, compliance-audits of geavanceerde cyberaanvallen waarbij de verblijftijd langer is dan drie maanden, verdwijnen die logs simpelweg in het niets. Als de data nooit is vastgelegd, kan geen SIEM, geen geautomatiseerd script en geen forensisch onderzoeker je nog redden. Je moet je fundamentele auditdekking op orde krijgen voordat je aan downstream-automatisering of security-orkestratie begint.
Zet je auditfundament op orde (verplichte instellingen)
Voordat je ook maar één regel PowerShell schrijft of waarschuwingen configureert, moet je de basisconfiguratie van je tenant verharden. Dit zijn de verplichte stappen die je direct moet nemen:
- Schakel verbeterde auditing voor SharePoint en OneDrive op tenantniveau in via Exchange Online PowerShell of het compliance-portaal van Microsoft Purview.
- Zorg er expliciet voor dat logging actief is voor zowel het aanmaken als het gebruiken van links, met bijzondere aandacht voor anonieme links en gastlinks.
- Verleng je bewaarbeleid voor auditlogs ruim voorbij de standaard 90 dagen om te voldoen aan moderne compliancekaders en eisen voor interne onderzoeken (180 tot 365 dagen wordt aanbevolen).
- Standaardiseer je beleid voor het inrichten van sites, zodat nieuw aangemaakte SharePoint-sites en Microsoft 365-groepen deze verharde auditinstellingen automatisch overnemen zonder handmatige tussenkomst.
Ruis omzetten in signaal (PowerShell op de juiste manier)
Zodra je auditlogs daadwerkelijk de juiste gegevens vastleggen, merk je snel nog iets anders: de ruwe auditstroom is oorverdovend. Ruwe logs ophalen levert duizenden routinematige gebeurtenissen op die voor enorme operationele vermoeidheid zorgen. Om deze data bruikbaar te maken, moet je gericht queryen en elke afzonderlijke rij verrijken.
Richt je queries op risicovolle gebeurtenissen zoals SharingCreated, SharingSet, AnonymousLinkCreated, AnonymousLinkUsed en AccessRequestApproved. Verrijk vervolgens elke rij met cruciale context:
- Classificatie van het doeldomein: Categoriseer domeinen automatisch als zakelijke partners, interne domeinen of persoonlijke/consumentendomeinen (zoals gmail.com, yahoo.com of outlook.com).
- Context van bestandsvertrouwelijkheid en container: Koppel het vertrouwelijkheidslabel van Microsoft Purview van het betreffende bestand en de bovenliggende site of OneDrive-container.
- Context van actorrisico: Vergelijk de gebruiker die de actie uitvoert met HR- of identiteitssystemen om vertrekkende medewerkers, VIP's of gecompromitteerde accounts te markeren.
In plaats van te vertrouwen op subjectieve inschattingen, hanteer je strikte regels: een gevoelig bestandslabel in combinatie met een extern persoonlijk domein betekent direct een HIGH-risico. Lever je resultaten op in twee afzonderlijke artefacten: een "Actiewachtrij" van 10 tot 50 rijen die menselijke beoordeling vereisen, en een volledig genormaliseerd "Bewijslogboek" voor je SIEM- of BI-tools.
Realtime waarschuwingen die echt werken
Zeg vaarwel tegen de strategie "waarschuw bij alle externe shares", want die leert je security operations-team de waarschuwingen te negeren door het pure volume. Bouw in plaats daarvan een gelaagde matrix voor waarschuwingsbeleid:
- Stuur een directe waarschuwing naar SecOps zodra een bestand met een gevoelig label wordt gedeeld met een externe ontvanger die niet op je vooraf goedgekeurde partnerlijst (allowlist) staat.
- Als er op een gevoelig bestand een anonieme link wordt aangemaakt, genereer dan een waarschuwing en zet tegelijkertijd een geautomatiseerd script in dat die link laat verlopen.
- Let op ongebruikelijke snelheid, zoals een groot aantal externe shares door één gebruiker binnen een korte periode. Activeer dan een tijdelijke throttle in combinatie met een melding.
Neem altijd afkoelperiodes en deduplicatiemechanismen op om waarschuwingsmoeheid te voorkomen. Stuur je waarschuwingen rechtstreeks naar een gerichte ticketwachtrij of een speciaal SecOps-kanaal, met duidelijke eigenaren, playbooks en rollback-links met één klik.
Opschalen naar enterprise-niveau
Handmatige scripts en wekelijkse CSV-exports breken snel af zodra je organisatie groeit tot meer dan een paar honderd gebruikers. Voor een robuuste enterprise-monitoringomgeving heb je een stevige automatiseringsbasis nodig, met Azure Automation of Azure Logic Apps die rollende delta’s van 7 dagen draaien, aangevuld met maandelijkse backfills.
Implementeer strikte paginering en checkpointing, zodat je netjes kunt hervatten vanaf de laatste cursor, en zodat je API-throttling (HTTP 429-fouten) goed afhandelt. Zorg dat je automatisering continu nieuw aangemaakte sites ontdekt en je basisregels voor auditing en labeling automatisch toepast. Monitor ten slotte de gezondheid van je pipeline: stel geautomatiseerde waarschuwingen in als het verwachte aantal events plotseling daalt, want dat wijst op een kapotte auditingestie-pipeline.
Snelle winst deze week
Als je je leiding snel moet laten zien dat het risico daalt, pak dan in de komende dagen deze snelle winst op:
- Zet het loggen van gebruik van anonieme links aan en verleng je bewaarperiode in de Purview-portal.
- Bouw een basislijst met "persoonlijke domeinen" om te blokkeren, zodat gratis e-mailproviders zoals Gmail, Yahoo en Hotmail worden gesignaleerd.
- Pas vertrouwelijkheidslabels toe op je documentbibliotheken voor financiën en HR, en blokkeer het aanmaken van anonieme links via beleid.
- Stuur wekelijks een digest "Top 10 risicovolle shares" naar het IT-management, compleet met bestandseigenaren en revocatielinks met één klik.
- Maak een regel voor burstdetectie voor gebruikers die vijf of meer externe shares binnen 10 minuten uitvoeren.
Implementatieplan van 30 dagen (overzicht)
Om je implementatie gestructureerd en beheersbaar te houden, volg je deze gefaseerde roadmap van 30 dagen:
- Week 1: Auditbeleid aanscherpen, bewaarperiodes verlengen, basisexports opzetten en de allow- en deny-lijsten voor domeinen definiëren.
- Week 2: PowerShell-verrijkingsscripts voor vertrouwelijkheidslabels en domeinen implementeren, risicoscoringmatrices bouwen en je actiewachtrij voor triage inrichten.
- Week 3: Realtime waarschuwingsregels uitrollen, compleet met deduplicatie, afkoelperiodes en automatische linkverval voor risicovolle blootstellingen.
- Week 4: Automatisering opschalen via Azure Automation of Logic Apps, uitvoerende Power BI-dashboards bouwen en de operationele playbooks afronden.
KPI's voor management en operations
Om het resultaat van je governance voor extern delen op lange termijn te meten, volg je deze kpi's:
- Snelheid van externe blootstelling: Het aantal nieuwe externe links dat per dag wordt aangemaakt, uitgesplitst naar site, vertrouwelijkheidslabel en doeldomein.
- Spill-ratio gevoelige data: De frequentie waarmee bestanden met een gevoelig label worden gedeeld met niet-goedgekeurde domeinen die geen partner zijn.
- Tijd tot intrekking: De gemiddelde tijd tussen het moment waarop een risicovolle share plaatsvindt en het moment waarop de toegang succesvol is ingetrokken.
- Burst-afwijkingen: De frequentie waarmee gebruikers de gedefinieerde drempels voor delen overschrijden.
- Dekking van automatische remediëring: Het percentage risicovolle links dat automatisch wordt laten verlopen of door beleid wordt geblokkeerd.
Veelvoorkomende valkuilen om te vermijden
Terwijl je je strategie voor auditing en remediëring uitbouwt, let je er bewust op dat je deze veelvoorkomende fouten vermijdt:
- Blindvaren op standaard auditconfiguraties en het standaard bewaarvenster van 90 dagen.
- Scripts inzetten die "alles exporteren" doen zonder juiste verrijking met context of triagewachtrijen.
- Te brede "alarmeer bij alles"-regels aanmaken, waardoor beveiligingsmedewerkers meldingen leren negeren.
- Statische sitelijsten hardcoderen in plaats van nieuwe samenwerkingsruimten dynamisch te laten ontdekken.
- Governance behandelen als een eenmalig opruimproject in plaats van als een doorlopend, geautomatiseerd proces.
Playbooks om bij de hand te houden
Rust je helpdesk- en beveiligingsteams uit met duidelijke, herhaalbare playbooks voor incidentrespons:
- Intrekken en externe partij informeren: Trek de ongeautoriseerde deellink direct in, informeer de eigenaar van het bestand via een geautomatiseerde melding en vereis dat delen uitsluitend verloopt via goedgekeurde partnerdomeinen.
- Controle bij vertrekkende medewerker: Breng alle OneDrive-delingen in kaart die aan een uitdiensttredende gebruiker gekoppeld zijn, trek automatisch de toegang in die is verleend aan persoonlijke consumentendomeinen en draag het eigendom over aan de directe leidinggevende.
- VIP-bewaking: Hanteer strengere afwijkingsdrempels, kortere vervaldatums voor links en directe paginering bij elke activiteit rond content op directieniveau.
Conclusie
Zien, scoren, stoppen. Je moet eerst je auditfundament op orde brengen, ruwe gebeurtenissen verrijken met zinvolle bedrijfscontext, slim alarmeren zonder ruis te creëren en alles automatiseren om echt op enterprise-schaal te werken. Zo houd je zakelijke samenwerking snel, soepel en veilig, en blijven gevoelige bedrijfsgegevens veilig binnen de muren van de organisatie.
Wil je nog meer leren over het afschermen van je tenant en het opsporen van blootstellingen voordat het misgaat? Bekijk dan zeker de bijbehorende podcastaflevering: Detect Risky SharePoint and OneDrive External Sharing. We gaan in die aflevering nog dieper in op deze strategieën, zodat je M365-beveiliging echt onder de knie krijgt!