💼 Management Samenvatting
Het blokkeren van macro’s in Access-databases die afkomstig zijn van internet, voorkomt dat kwaadaardige VBA-code wordt uitgevoerd vanuit gedownloade bestanden of e-mailbijlagen en sluit zo een belangrijk aanvallerspad richting de Microsoft 365-omgeving van de organisatie.
Access-macro’s vormen een hoog risico omdat zij volledige toegang hebben tot tabellen, query’s en formulieren, maar ook tot het bestandssysteem, het register en netwerkverbindingen. Aanvallers misbruiken dit door ogenschijnlijk onschuldige ".accdb"- of ".mdb"-bestanden te versturen via phishingcampagnes, te hosten op publiek toegankelijke websites of op meegebrachte USB-sticks, in de hoop dat een medewerker het bestand opent en de macro’s inschakelt. Zonder een strikt beleid dat internetbestanden standaard blokkeert, kunnen dergelijke macro’s ongemerkt ransomware starten, gegevens kopieren naar command-and-controlservers of andere systemen in het netwerk besmetten voordat detectiemechanismen reageren.
Implementatie
Deze maatregel zorgt ervoor dat Access-databases die door Windows worden herkend als “van internet afkomstig” op basis van de Mark-of-the-Web (MOTW) een hard blok krijgen: macro’s worden niet uitgevoerd en de gebruiker krijgt geen knop meer aangeboden om ze alsnog te activeren. Binnen vertrouwde locaties, zoals beheerde bestands- en SharePoint-omgevingen, blijven legitieme macro’s gewoon werken, waardoor productiviteit behouden blijft. In deze control wordt uitgelegd hoe je dit gedrag verifieert en afdwingt via Intune en groepsbeleid, hoe je beheerprocessen organiseert rond uitzonderingen en hoe je monitoring en auditlogging inricht zodat bestuurders, CISO en auditors aantoonbaar kunnen zien dat de Nederlandse Baseline voor Veilige Cloud op dit punt volledig wordt nageleefd.
Dreigingsbeeld en functionele vereisten
Macro-aanvallen via Access zijn minder zichtbaar dan via Word of Excel, maar de impact is minstens zo groot. Een enkele malafide database kan volledige datasets lezen en wijzigen, extra accounts aanmaken in een line-of-business-applicatie of verborgen koppelingen naar andere databronnen leggen. Omdat Access vaak wordt gebruikt voor maatwerkrapportages, tijdelijke registraties of koppelingen tussen systemen, bevat zo’n bestand vaak direct herleidbare persoonsgegevens of vertrouwelijke beleidsinformatie. Aanvallers spelen hierop in door “templates” aan te bieden die bijvoorbeeld beloven om rapportages te automatiseren of gegevens uit meerdere bronnen samen te brengen. Zodra een gebruiker het bestand opent en macro’s inschakelt, krijgt de aanvaller een krachtig uitvoeringsplatform binnen het kantoorlandschap van de organisatie.
Het dreigingsbeeld sluit nauw aan op de verplichtingen uit de Baseline Informatiebeveiliging Overheid (BIO), NIS2 en de AVG. BIO-paragrafen over malwarebescherming en applicatiebeveiliging schrijven voor dat scripting alleen is toegestaan wanneer de noodzaak aantoonbaar is en de risico’s zijn gemitigeerd. NIS2 artikel 21 benadrukt dat essentiële en belangrijke organisaties passende technische maatregelen moeten nemen om bekende aanvalspaden, zoals macro-malware, te blokkeren. Vanuit AVG-perspectief is het bovendien onacceptabel dat macro’s ongemerkt grote hoeveelheden persoonsgegevens kunnen exporteren buiten het gecontroleerde domein van de verwerkingsverantwoordelijke. Het blokkeren van macro’s in internetbestanden ondersteunt deze verplichtingen door de kans aanzienlijk te verkleinen dat ongeautoriseerde code toegang krijgt tot gevoelige gegevens.
Functioneel gezien heeft deze control slechts beperkte vereisten. De organisatie maakt gebruik van ondersteunde versies van Microsoft 365 Apps of Office 2016 of hoger op Windows, waarbij het NTFS-bestandssysteem de Mark-of-the-Web kan vastleggen in de aanvullende Zone.Identifier-stream. De standaard functionaliteit van Office detecteert daarmee of een bestand via een browser, e-mail of een andere internetbron is gedownload. Verder is er een centraal endpointbeheerplatform nodig – bijvoorbeeld Microsoft Intune, Configuration Manager of een combinatie daarvan – om de policy consistent af te dwingen op alle werkplekken. Ten slotte is basisbewustzijn bij gebruikers belangrijk: medewerkers moeten begrijpen dat Access-databases van buiten de organisatie per definitie risicovol zijn en dat de blokkade geen fout is, maar een bewuste beveiligingsmaatregel.
Binnen de Nederlandse Baseline voor Veilige Cloud wordt deze maatregel gepositioneerd als onderdeel van een bredere “macro- en scriptbeveiligingslaag”. Zij vormt de schakel tussen identity- en endpointbeveiliging enerzijds en logging, forensisch onderzoek en governance anderzijds. Door expliciet vast te leggen dat macro’s in internetbestanden niet worden uitgevoerd, worden downstream-processen eenvoudiger: Data Loss Prevention hoeft minder uitzonderingen te ondersteunen, archiveringsprocessen hoeven geen rekening te houden met onzichtbare scriptlogica en het Computer Emergency Response Team kan ervan uitgaan dat een uitgevoerde macro vrijwel altijd uit een gecontroleerde bron afkomstig is. Deze voorspelbaarheid maakt het mogelijk om strengere detectieregels te hanteren voor elke afwijking die toch wordt waargenomen.
Een bijkomend functioneel voordeel is dat de maatregel organisaties dwingt om bewuster om te gaan met het gebruik van Access in de keten. In plaats van dat externe leveranciers willekeurig databases aanleveren met ingebouwde logica, ontstaat een patroon waarin functionaliteit wordt verplaatst naar beter beheerbare en beter auditeerbare platformen, zoals Azure SQL, Power Apps of formeel beheerde rapportageomgevingen. Door dit expliciet mee te nemen in architectuursessies en aanbestedingsdocumenten, voorkom je dat schijnbaar “killere features” uit door leveranciers aangeleverde Access-oplossingen een achterdeur vormen naar het interne netwerk. Zo draagt een ogenschijnlijk technische instelling bij aan volwassen portfoliosturing en het terugdringen van shadow IT binnen de overheid.
Implementatie en configuratie
De implementatie van macroblokkades voor internetbestanden in Access begint met het vastleggen van een eenduidig ontwerp. Beschrijf in het security- en architectuurdossier dat alle Access-databases die door Windows als “internetbron” worden aangemerkt, geen macro’s mogen uitvoeren. Dit ontwerp sluit doorgaans aan bij het Microsoft 365 Apps security baseline-beleid, waarin de instelling “Blokkeer macro’s in Office-bestanden die zijn gedownload van internet” als aanbevolen staat. Vanuit technisch perspectief dient de organisatie vast te leggen dat deze instelling niet alleen geldt voor Word en Excel, maar expliciet ook voor Access, omdat Access-databases vaak aangetrokken worden als hulpmiddel voor lokale dataopslag en reporting buiten formele applicaties om.
Vervolgens wordt de configuratie uitgerold via het gekozen beheersysteem. In Microsoft Intune maak je een Settings Catalog-profiel aan dat de relevante policy voor Access inschakelt. Onder de categorie “Microsoft Access” of “Security” selecteer je de instelling die macro’s blokkeert in Office-bestanden van internet, en zet je deze op “ingeschakeld”. Target het profiel op alle werkplekken waarop Access beschikbaar is, inclusief beheerders- en ontwikkelwerkplekken, zodat er geen uitzonderingen ontstaan waar een aanvaller zich op kan richten. In traditionele omgevingen waarin nog Group Policy Objects worden gebruikt, pas je dezelfde instelling toe via de Office ADMX-templates, zodat zowel domein-joined als hybride apparaten dezelfde configuratie ontvangen. Documenteer welke OU’s of Intune-groepen worden gebruikt en hoe wordt voorkomen dat afwijkende GPO’s of lokale instellingen de beveiligingswaarde weer verzwakken.
De PowerShell-implementatie speelt een aanvullende rol voor monitoring en hardening. Het script "code/office/access/block-macros-from-internet.ps1" kan worden verpakt als Intune remediation script of als Configuration Manager-baseline die periodiek controleert of de registrysleutels en policywaarden overeenkomen met de gewenste baseline. In de remediatiemodus zorgt het script ervoor dat afwijkende configuraties worden hersteld, wordt een logboekitem geschreven en, indien geconfigureerd, wordt een melding naar een centraal logplatform verstuurd. Dit is vooral nuttig in situaties waarin tijdelijke lokale administratieve rechten worden toegekend, of waar oudere handmatige scripts nog instellingen proberen te wijzigen. Door beleidswijzigingen en scriptgedrag op elkaar af te stemmen, wordt een consistente "configuration as code"-ervaring gerealiseerd.
Naast technische configuratie is change- en releasemanagement essentieel. Plan de uitrol van deze control als een formele wijziging met een duidelijk communicatieplan naar gebruikers: leg in eenvoudige taal uit waarom Access-bestanden van internet standaard worden geblokkeerd, welke alternatieve routes beschikbaar zijn (bijvoorbeeld gecontroleerde import in een interne database of het gebruik van goedgekeurde sjablonen) en hoe medewerkers ondersteuning kunnen krijgen wanneer zij denken dat een legitiem bestand onterecht wordt geblokkeerd. Test de wijziging vooraf op een representatieve set werkplekken en processen, voer indien nodig een pilot uit in een kleinere organisatie-eenheid en gebruik de feedback om instructies en handleidingen te verbeteren voordat de maatregel organisatiebreed wordt ingeschakeld.
Een volwassen implementatie omvat bovendien duidelijke afspraken over lifecyclebeheer. Definieer in welke situaties Access nog wordt toegestaan als platform voor nieuwe oplossingen en wanneer architecten moeten sturen richting alternatieven, bijvoorbeeld omdat de schaal, gevoeligheid of complexiteit van de gegevens om een robuustere architectuur vragen. Leg vast hoe nieuwe applicaties worden beoordeeld op hun afhankelijkheid van macro’s en hoe dit zich verhoudt tot het beleid dat internetbestanden blokkeren standaard vereist. Door deze keuzes expliciet te documenteren en te koppelen aan governancefora zoals een architectuurboard of security governanceboard, voorkom je dat de maatregel wordt uitgehold door ad-hoc uitzonderingen en blijft de Nederlandse Baseline voor Veilige Cloud leidend in besluitvorming.
Gebruik PowerShell-script block-macros-from-internet.ps1 (functie Invoke-Remediation) – Gebruik de remediatiefunctie om afwijkende instellingen automatisch te herstellen en wijzigingen te loggen in lijn met de Nederlandse Baseline voor Veilige Cloud..
Monitoring, signalering en rapportage
Monitoring van deze control bestaat uit drie samenhangende perspectieven: configuratiestatus, gebruikersgedrag en dreigingssignalen. Op configuratieniveau controleer je periodiek of de policy om macro’s in internetbestanden te blokkeren daadwerkelijk actief is op alle relevante apparaten. Dit kan bijvoorbeeld door Intune compliance-rapporten uit te lezen of een eigen PowerShell-monitoringsscript te gebruiken dat de relevante registrysleutels verifieert. Afwijkingen worden geregistreerd als configuratiedrift en leiden tot een incident of change-verzoek, afhankelijk van de oorzaak. Door deze statusinformatie dagelijks of wekelijks te exporteren naar Microsoft Sentinel of een ander SIEM, ontstaat een trendbeeld: waar treden structureel afwijkingen op en zijn er bepaalde organisatieonderdelen waar de naleving achterblijft?
Het tweede perspectief is gebruikersgedrag. Wanneer een gebruiker een Access-database opent die van internet afkomstig is, hoort de macro niet zelfstandig te kunnen starten. In sommige gevallen toont Office een melding dat de macro is geblokkeerd. Door Office-telemetrie en Defender for Office 365-rapportages te koppelen, kun je analyseren hoe vaak dergelijke blokkeringsgebeurtenissen voorkomen, welke gebruikers of afdelingen ermee te maken krijgen en of er patronen zijn in de herkomst van de bestanden. Een plotselinge toename van geblokkeerde macro’s uit een bepaalde bron kan wijzen op een gerichte phishingcampagne tegen de organisatie. Het securityteam kan dan gericht aanvullende communicatie uitsturen, extra technische maatregelen nemen of aanvullende dreigingsinformatie opvragen bij het NCSC of sectorale CERT’s.
Het derde perspectief zijn dreigingssignalen uit geavanceerde detectieplatformen. Wanneer ondanks de blokkade toch pogingen worden gedaan om macro’s uit internetbestanden te starten – bijvoorbeeld via complexe exploitketens of misbruik van kwetsbaarheden – zal Defender for Endpoint of een ander EDR/XDR-platform vaak aanvullende verdachte gedragingen signaleren, zoals het onverwacht starten van cmd.exe, powershell.exe of netwerkverbindingen naar onbekende domeinen. Door het monitoring-script "Invoke-Monitoring" uit "block-macros-from-internet.ps1" te integreren met Sentinel-workbooks en -alerts, kun je configuratiestatus, gebruikersmeldingen en EDR-signalen combineren tot rijke incidentdossiers. Dit helpt analisten om sneller onderscheid te maken tussen misconfiguraties, gebruikersfouten en daadwerkelijke aanvalspogingen.
Tot slot is terugkoppeling naar de organisatie cruciaal voor continue verbetering. Rapporteer niet alleen aantallen geblokkeerde macro’s, maar koppel deze aan concrete verhalen: welke campagnes zijn tijdig onderschept, welke processen moesten worden aangepast en welke aanvullende maatregelen zijn genomen om herhaling te voorkomen. Gebruik lessons learned om awarenessmateriaal te verrijken en nieuwe use-cases voor automatisering te identificeren, bijvoorbeeld het automatisch aanmaken van tickets, het blokkeren van afzenders of domeinen en het aanscherpen van e-mailfiltering. Door monitoringresultaten actief te benutten in de PDCA-cyclus rond de Nederlandse Baseline voor Veilige Cloud, wordt deze control geen statische configuratie, maar een levende maatregel die meegroeit met het dreigingslandschap.
Gebruik PowerShell-script block-macros-from-internet.ps1 (functie Invoke-Monitoring) – Controleer periodiek of de configuratie om macro’s in Access-bestanden van internet te blokkeren actief is en rapporteer afwijkingen aan het SOC en de CISO-organisatie..
Alle monitoringsactiviteiten moeten worden ingebed in de reguliere governance- en rapportagestructuur. Leg in het security operations runbook vast welke dashboards en rapportages worden gebruikt om de status van deze control te bewaken, hoe vaak deze worden beoordeeld en welke escalatiepaden gelden bij afwijkingen. Koppel de bevindingen aan de periodieke managementrapportages over de Nederlandse Baseline voor Veilige Cloud, bijvoorbeeld door te rapporteren hoeveel apparaten compliant zijn, hoeveel geblokkeerde macro-uitvoeringen zijn gedetecteerd en welke maatregelen zijn genomen naar aanleiding van incidenten. Deze transparantie versterkt het vertrouwen van bestuurders in de effectiviteit van de maatregel en laat zien dat de organisatie proactief optreedt tegen een bekend en veelgebruikt aanvalspad.
Compliance en Auditing
Het blokkeren van macro’s in Access-bestanden die van internet afkomstig zijn, ondersteunt meerdere compliancekaders die relevant zijn voor Nederlandse overheidsorganisaties. Binnen de CIS Microsoft 365 Apps security baseline is het een expliciete aanbeveling om macro’s vanuit internetbronnen te blokkeren, juist omdat veel ransomwarecampagnes gebruikmaken van gescripte payloads in Office-bestanden. De BIO beschouwt dit als een maatregel in het kader van malwarebescherming en changebeheer: het voorkomt dat ongeautoriseerde code wordt uitgevoerd en maakt het eenvoudiger om aan te tonen dat alleen gecontroleerde, goedgekeurde scripts toegang hebben tot informatie- en communicatiesystemen. Ook ISO 27001:2022 hanteert in de controles rond informatiebeveiliging binnen applicaties het uitgangspunt dat scripts en macro’s slechts onder strikte condities mogen worden uitgevoerd.
Voor auditdoeleinden is het belangrijk dat de organisatie kan laten zien hoe de maatregel is ingericht, hoe naleving wordt bewaakt en welke uitzonderingen zijn toegestaan. Verzamel daarom configuratiedocumentatie (Intune-profielinstellingen, GPO-exports), resultaten van periodieke controles en rapportages uit Sentinel of een ander SIEM waarin configuratiedrift en geblokkeerde macro-incidenten zijn vastgelegd. Leg daarnaast vast hoe uitzonderingsverzoeken worden beoordeeld, welke compenserende maatregelen gelden (zoals aanvullende monitoring, netwerksegmentatie of strengere toegangscontrole) en hoe lang dergelijke uitzonderingen geldig zijn. Dit sluit aan bij de principes van accountability uit de AVG: de organisatie kan aantonen dat zij doordachte keuzes maakt, risico’s weegt en maatregelen periodiek evalueert.
Tijdens externe of interne audits, bijvoorbeeld in het kader van NIS2-toezicht of ENSIA-verantwoording, kan deze control worden gebruikt als concreet bewijs dat het bestuur een risicogestuurde aanpak volgt. Door te laten zien dat macro-malware via internet actief wordt tegengegaan, dat technische configuraties consistent zijn uitgerold en dat de effectiviteit van de maatregel aantoonbaar is via logging en rapportages, onderstreept de organisatie dat zij haar verantwoordelijkheid neemt voor digitale weerbaarheid. Dit vergemakkelijkt niet alleen de audit, maar versterkt ook de geloofwaardigheid van de gehele Nederlandse Baseline voor Veilige Cloud binnen de organisatie en richting ketenpartners.
Een volwassen benadering betekent bovendien dat bevindingen van auditors daadwerkelijk leiden tot verbeteracties. Wanneer uit een audit blijkt dat sommige werkplekken niet conform de macroblokkade zijn geconfigureerd, dat uitzonderingen onvoldoende zijn onderbouwd of dat logging niet volledig is, hoort dat te resulteren in concrete maatregelen, deadlines en eigenaarschap. Leg deze follow-up vast in een centraal verbeterregister en koppel deze aan risicoregisters, zodat het bestuur inzicht houdt in openstaande acties en rest-risico’s. Door deze terugkoppeling expliciet onderdeel te maken van de governance rond de Nederlandse Baseline voor Veilige Cloud, laat de organisatie zien dat compliance geen vinkjescultuur is, maar een hulpmiddel om de feitelijke weerbaarheid structureel te verhogen.
Ten slotte is het zinvol om deze control te koppelen aan bredere compliance-initiatieven, zoals periodieke nulmetingen, maturity-assessments en sectorale benchmarkstudies. Door te vergelijken hoe andere overheidsorganisaties macroblokkades hebben ingericht, welke governanceconstructies zij hanteren en welke tooling zij inzetten voor monitoring en audit, kunnen best practices worden overgenomen en verder verfijnd. Dit versterkt niet alleen de eigen positie tijdens audits, maar draagt ook bij aan een meer uniforme toepassing van de Nederlandse Baseline voor Veilige Cloud binnen de gehele publieke sector, wat toezicht en samenwerking in ketens vereenvoudigt.
Remediatie
Gebruik PowerShell-script block-macros-from-internet.ps1 (functie Invoke-Remediation) – Herstellen.
Remediatieprocessen zorgen ervoor dat configuratiedrift en foutieve implementaties snel worden hersteld zonder de stabiliteit van de omgeving in gevaar te brengen. Wanneer monitoring uitwijst dat op bepaalde werkplekken de blokkade voor macro’s in internetbestanden niet actief is, start het beheerteam een gestandaardiseerde workflow. Allereerst wordt vastgesteld of het gaat om een technische fout, bijvoorbeeld een mislukt Intune-profiel of een lokaal overschreven registry-waarde, of om een bewust ingestelde uitzondering die niet correct is vastgelegd. In beide gevallen biedt het PowerShell-script "Invoke-Remediation" een gecontroleerde manier om de gewenste configuratie terug te zetten: de registry- en policywaarden worden hersteld, er wordt een eventlog-item aangemaakt en optioneel wordt een melding verstuurd naar het centrale SIEM, zodat het herstel ook in de audittrail zichtbaar is.
Goede remediatie betekent ook dat de oorzaak wordt aangepakt. Daarom hoort elke automatische correctie te worden opgevolgd door een root cause-analyse: waarom kon de configuratie afwijken, welke processen of tools hebben dit mogelijk gemaakt en welke aanvullende maatregelen zijn nodig om herhaling te voorkomen? Dit kan variëren van het aanscherpen van rechten voor lokale beheerders tot het herstructureren van GPO’s of Intune-groepen. Documenteer deze analyses en maatregelen in het change- en incidentregister en koppel ze aan lessons learned in het kader van de Nederlandse Baseline voor Veilige Cloud. Zo groeit de organisatie stap voor stap naar een situatie waarin macroblokkades voor internetbestanden niet alleen op papier bestaan, maar in de dagelijkse praktijk consequent worden nageleefd en geborgd.
Compliance & Frameworks
- CIS M365: Control Office Benchmark - Internet Macros (L1) -
- BIO: 12.02.01 -
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
Blokkeer Access macros van internet. Standaard ingeschakeld. Verify: 30 min. nul business impact.
- Implementatietijd: 1 uur
- FTE required: 0.01 FTE