Gebruikersaccountbeheer: Virtualiseren Van Bestands- En Registerschrijffouten Naar Per-gebruiker Locaties Is Ingesteld Op Ingeschakeld

💼 Management Samenvatting

Deze beveiligingsinstelling zorgt ervoor dat oudere of niet‑compatibele toepassingen geen onveilige schrijfbewerkingen kunnen uitvoeren naar systeemmappen of het register. In plaats daarvan worden mislukte schrijfpogingen automatisch gevirtualiseerd naar per‑gebruiker locaties, waardoor de stabiliteit van het systeem toeneemt en de integriteit van het besturingssysteem beter wordt beschermd. Voor beheerders binnen overheids- en grootzakelijke omgevingen is dit een essentieel fundament om Windows‑omgevingen veilig, beheersbaar en toekomstvast te houden.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
7/10
Implementatie
2u (tech: 1u)
Van toepassing op:
Windows

Zonder virtualisatie van mislukte schrijfbewerkingen kunnen verouderde toepassingen proberen om direct in systeembestanden en gedeelde registersleutels te schrijven. Dit vergroot het risico op privilege-escalatie, inconsistentie in configuraties en onverwachte crashes op werkplekken. Door deze instelling centraal af te dwingen binnen de Windows security baseline wordt voorkomen dat gebruikers of applicaties buiten de beheerprocessen om kritieke systeembestanden wijzigen. Voor organisaties die werken volgens de "Nederlandse Baseline voor Veilige Cloud" draagt deze instelling direct bij aan het borgen van een voorspelbare, controleerbare en auditeerbare Windows‑configuratie.

PowerShell Modules Vereist
Primary API: Graph
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.DeviceManagement

Implementatie

Deze maatregel configureert Gebruikersaccountbeheer (User Account Control, UAC) zodat mislukte schrijfoperaties naar beschermde systeembestanden en registersleutels automatisch worden omgeleid naar een per‑gebruiker locatie. In Microsoft Intune wordt dit gerealiseerd door een apparaatconfiguratieprofiel of compliance policy voor Windows in te richten waarmee de relevante UAC‑instelling op alle beheerde endpoints verplicht wordt ingeschakeld. Daardoor ontstaat een consistente beveiligingsstandaard over alle werkplekken heen, sluiten endpoints beter aan op compliance-eisen, en wordt het risico op verstoring door verouderde applicaties aanzienlijk verminderd.

Vereisten

Voor een succesvolle implementatie van deze instelling is een goed voorbereide beheeromgeving noodzakelijk. De organisatie moet beschikken over een werkende Microsoft Intune‑tenant waarin Windows‑apparaten zijn opgenomen in het moderne beheerproces, bij voorkeur via Azure AD‑join of hybride join, zodat alle relevante endpoints centraal kunnen worden aangestuurd. Daarnaast moet het basisintakeproces voor nieuwe werkplekken zijn ingericht, inclusief het automatisch toewijzen van configuratieprofielen en compliance policies op basis van apparaatgroepen, rollen of organisatorische eenheden. Beheerders die met deze maatregel aan de slag gaan, hebben bij voorkeur ervaring met het ontwerpen en beheren van Intune‑beleid, inclusief kennis van de interactie tussen Intune, lokale groepsbeleidinstellingen en eventuele bestaande on‑premises beheeroplossingen. Ook is het belangrijk dat er een duidelijk vastgesteld werkplekconcept bestaat, waarin is vastgelegd welke typen applicaties worden ondersteund, hoe legacy‑applicaties worden behandeld en op welke manier uitzonderingen worden aangevraagd en gedocumenteerd. Voorafgaand aan uitrol op schaal dient een representatieve testgroep te worden ingericht met verschillende typen gebruikers en applicaties, zodat beheerders kunnen verifiëren dat virtualisatie van schrijfbewerkingen geen onvoorziene functionele problemen veroorzaakt. Tot slot moeten logging- en monitoringvoorzieningen, zoals Endpoint analytics, Intune‑rapportages of SIEM‑koppelingen, worden geconfigureerd zodat wijzigingen in beleid en eventuele afwijkingen in naleving tijdig worden gesignaleerd en opgevolgd. Deze randvoorwaarden zorgen ervoor dat de instelling niet alleen technisch wordt ingeschakeld, maar ook duurzaam wordt ingebed in het bredere beheer- en securityproces van de organisatie.

Implementatie

Gebruik PowerShell-script user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations-is-set-to-enabled.ps1 (functie Invoke-Monitoring) – Monitoren.

De implementatie van deze instelling begint met een zorgvuldig ontwerp van het Intune-beleid waarmee UAC-virtualisatie wordt afgedwongen. Start met een inventarisatie van de verschillende typen Windows-apparaten binnen de organisatie en bepaal welke groepen in scope zijn voor deze maatregel, zoals standaardwerkplekken, beheerde laptops voor externe medewerkers en mogelijk specifieke devices in beheeromgevingen. Vervolgens maakt de Intune-beheerder in het Microsoft Intune-beheercentrum een nieuw configuratieprofiel aan voor Windows 10 en hoger, bijvoorbeeld op basis van een security baseline of een aangepast profiel waarin de UAC-instellingen expliciet worden vastgelegd. Binnen dit profiel wordt de optie om mislukte schrijfoperaties naar systeemlocaties te virtualiseren ingesteld op ingeschakeld, in overeenstemming met de aanbevelingen uit de CIS-benchmark en het interne beveiligingsbeleid. Koppel het profiel in eerste instantie aan een beperkte testgroep met representatieve gebruikers en applicaties, zodat eventuele compatibiliteitsproblemen snel aan het licht komen zonder direct de hele organisatie te raken. Documenteer de testscenario’s, waaronder het gedrag van bekende legacy-applicaties die schrijf-acties uitvoeren naar Program Files, de Windows-map of gedeelde registersleutels, en leg vast welke bevindingen worden gedaan. Op basis van deze resultaten kan het profiel zo nodig worden verfijnd, bijvoorbeeld door aanvullende communicatievoorzieningen te maken voor eindgebruikers of door uitzonderingsprocessen in te richten voor specifieke applicaties. Pas nadat de testfase succesvol is afgerond en de betrokken stakeholders – zoals security, architectuur en functioneel beheer – hebben ingestemd, wordt de configuratie gefaseerd uitgerold naar grotere groepen apparaten. Tijdens en na de uitrol legt de organisatie alle stappen vast in het wijzigingsdossier, zodat later helder kan worden aangetoond hoe en wanneer de instelling is ingevoerd en welke risicoafwegingen daarbij zijn gemaakt.

Monitoring

Gebruik PowerShell-script user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations-is-set-to-enabled.ps1 (functie Invoke-Monitoring) – Controleren.

Nadat de instelling is uitgerold, is structurele monitoring noodzakelijk om te borgen dat alle relevante endpoints in lijn blijven met het vastgestelde beleid. In Intune kan gebruik worden gemaakt van ingebouwde rapportages, zoals overzichtsrapporten per configuratieprofiel, compliance-dashboards en filtermogelijkheden op apparaatgroepen, om snel te zien welke apparaten het beleid succesvol hebben toegepast. Het gekoppelde PowerShell-script kan aanvullend worden gebruikt om gedetailleerde configuratie-informatie op te halen vanuit de apparaten zelf, bijvoorbeeld via Graph API-calls naar de beheeromgeving, en de resultaten vast te leggen in een centrale logging- of SIEM-oplossing. Op die manier ontstaat een compleet beeld waarin niet alleen zichtbaar is dat het profiel is toegewezen, maar ook dat de daadwerkelijke UAC-registriesleutels op het endpoint overeenkomen met de gewenste waarde. Naast technische telemetry is het raadzaam om ook functionele signalen mee te nemen, zoals incidenten of meldingen bij de servicedesk over applicaties die na invoering van de instelling anders functioneren. Door incidentregistraties te koppelen aan configuratiewijzigingen kan worden bepaald of problemen samenhangen met UAC-virtualisatie of andere factoren. In periodieke beheer- en securityoverleggen worden de monitoringresultaten besproken, trends geanalyseerd en waar nodig verbetermaatregelen gedefinieerd. Zo groeit de organisatie van een eenmalige configuratieactie naar een volwassen, cyclisch beheerproces waarin de effectiviteit van deze beveiligingsmaatregel voortdurend wordt gevolgd en bijgestuurd.

Remediatie

Gebruik PowerShell-script user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations-is-set-to-enabled.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer uit monitoring blijkt dat bepaalde Windows-apparaten de vereiste UAC-virtualisatie-instelling niet toepassen, moet een gestructureerd remediatieproces worden gevolgd. In de eerste stap wordt vastgesteld of het gaat om apparaten die wel in scope zijn maar het beleid nog niet hebben ontvangen, bijvoorbeeld door recente onboarding of tijdelijke verbindingsproblemen, of om systemen die structureel afwijken, zoals apparaten die aan een verkeerde groep zijn gekoppeld of buiten het beheer zijn geraakt. Het remediatiescript kan worden ingezet om non-compliant endpoints gericht te identificeren en herstelacties uit te voeren, bijvoorbeeld door het configuratieprofiel opnieuw te forceren, een herstart van de beheeragent te initiëren of de betreffende apparaten opnieuw in te schrijven in Intune. Tegelijkertijd is het belangrijk om de context van gebruikers en bedrijfsprocessen te respecteren: plan waar mogelijk herstelacties buiten kritieke werktijden en communiceer helder naar de betrokken gebruikers welke wijzigingen worden doorgevoerd en wat zij kunnen verwachten. Voor complexe situaties, zoals bedrijfskritische applicaties die niet goed functioneren met UAC-virtualisatie, kan een tijdelijke uitzonderingsroute nodig zijn waarbij in overleg met security en architectuur wordt bepaald welke mitigerende maatregelen vereist zijn, bijvoorbeeld aanvullende monitoring, segmentatie of versnelde applicatievernieuwing. Na elke remediatieactie wordt gecontroleerd of de instellingen daadwerkelijk zijn hersteld en wordt de uitkomst vastgelegd in het wijzigings- en configuratieregister. Door oorzaken van afwijkingen te analyseren en structurele verbeteringen door te voeren, zoals het aanscherpen van toewijzingsregels of het verbeteren van onboardingprocessen, wordt de kans op toekomstige non-compliance verder verkleind.

Compliance en Auditing

De configuratie van User Account Control virtualisatie voor bestands- en registerschrijffouten vormt een kritieke component binnen de compliance-raamwerken die Nederlandse overheidsorganisaties moeten naleven. Deze maatregel draagt direct bij aan meerdere internationale en nationale standaarden, waaronder de CIS Security Benchmarks, de BIO Baseline Informatiebeveiliging Overheid en de ISO 27001:2022 normen. Voor beheerders en security officers is het essentieel om te begrijpen hoe deze technische instelling zich verhoudt tot compliance-eisen en welke audit- en documentatieverplichtingen hieraan verbonden zijn. Het afdwingen van deze UAC-instelling levert een directe bijdrage aan meerdere compliance-kaders die van toepassing zijn op Nederlandse overheids- en ketenpartners. Vanuit de Baseline Informatiebeveiliging Overheid (BIO) wordt verwacht dat organisaties passende maatregelen nemen om de integriteit van systemen en logging te waarborgen, en om ongeautoriseerde wijzigingen aan configuraties te beperken. Door mislukte schrijfbewerkingen te virtualiseren naar per-gebruiker locaties wordt voorkomen dat applicaties op systeemniveau configuraties aanpassen buiten vastgestelde changeprocedures om. Dit ondersteunt auditeerbaarheid, omdat afwijkingen in systeemconfiguratie beter herleidbaar blijven en minder afhankelijk zijn van gedrag van individuele gebruikers of specifieke applicaties.

Binnen het CIS Security Benchmark raamwerk valt deze instelling onder controle 18.9.19.2, die specifiek richtlijnen biedt voor het configureren van User Account Control instellingen op Windows-systemen. De CIS-richtlijnen benadrukken dat het virtualiseren van mislukte schrijfbewerkingen een fundamentele beveiligingsmaatregel is die voorkomt dat verouderde of slecht geschreven applicaties rechtstreeks toegang krijgen tot kritieke systeembestanden en registersleutels. Organisaties die werken volgens de Nederlandse Baseline voor Veilige Cloud moeten kunnen aantonen dat deze instelling op alle beheerde Windows-endpoints correct is geconfigureerd en actief wordt gemonitord. Dit vereist niet alleen technische implementatie, maar ook duidelijke documentatie van het beleid, de rationale achter de keuze en de procedures voor uitzonderingen. Binnen ISO 27001 en CIS-benchmarks sluit deze instelling aan bij controls rond het hardenen van endpoints, het minimaliseren van aanvalsvlakken en het scheiden van gebruikers- en systeemcontext.

De BIO Baseline Informatiebeveiliging Overheid vereist onder controle 16.01 uitgebreide logging en audittrails van alle relevante gebeurtenissen binnen informatiesystemen. Hoewel UAC virtualisatie zelf primair een preventieve maatregel is, creëert de implementatie ervan een traceerbare basislijnconfiguratie die kan worden geverifieerd tijdens security audits en compliance assessments. Beheerders moeten ervoor zorgen dat de configuratiestatus van deze instelling wordt gelogd in het centrale beheersysteem, zoals Microsoft Intune, en dat deze informatie beschikbaar is voor auditdoeleinden. Daarnaast moeten organisaties kunnen aantonen dat eventuele wijzigingen in de configuratie zijn goedgekeurd volgens vastgestelde change management processen en zijn gedocumenteerd in de juiste registers. De ISO 27001:2022 norm bevat onder controle A.12.4.1 specifieke eisen voor logging van gebeurtenissen en het onderhouden van audittrails.

Voor de UAC virtualisatie-instelling betekent dit dat organisaties moeten kunnen verifiëren wanneer en hoe deze instelling is geconfigureerd, welke wijzigingen er in de loop van de tijd zijn aangebracht, en welke endpoints mogelijk niet-compliant zijn. Microsoft Intune biedt hiervoor uitgebreide rapportagefunctionaliteiten, waaronder compliance-rapporten die per apparaat de status van geconfigureerde instellingen tonen. Deze rapporten moeten regelmatig worden geëvalueerd, bijvoorbeeld maandelijks of per kwartaal, en bevindingen moeten worden gedocumenteerd. Eventuele afwijkingen moeten worden onderzocht, hersteld en gemotiveerd als uitzonderingen worden geaccepteerd. Voor Nederlandse overheidsorganisaties is compliance met de Algemene Verordening Gegevensbescherming (AVG) eveneens van belang. Hoewel UAC virtualisatie primair een beveiligingsmaatregel is, draagt deze indirect bij aan het principe van integriteit en vertrouwelijkheid van persoonsgegevens door te voorkomen dat ongeautoriseerde wijzigingen aan systeemconfiguraties kunnen worden aangebracht.

Bij data protection impact assessments (DPIA's) kunnen organisaties verwijzen naar deze configuratie als onderdeel van de technische en organisatorische maatregelen die zijn getroffen om persoonsgegevens te beschermen. Beheerders moeten in de documentatie kunnen aantonen dat deze maatregel deel uitmaakt van een bredere defensie-in-diepte strategie. Het auditen van UAC virtualisatie configuraties vereist een systematische aanpak. Ten eerste moeten beheerders periodiek controleren of de instelling daadwerkelijk actief is op alle beheerde endpoints. Dit kan worden gerealiseerd door middel van geautomatiseerde compliance scripts die de registersleutel HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableVirtualization controleren. Deze scripts moeten worden uitgevoerd via Microsoft Intune of een vergelijkbaar beheerplatform, zodat de resultaten centraal worden verzameld en kunnen worden geanalyseerd.

De uitvoer van deze controles moet worden opgeslagen in een loggingsysteem dat voldoet aan de bewaartermijnen zoals vastgelegd in het organisatiebeleid, doorgaans minimaal één jaar conform BIO-richtlijnen. Documentatie van de UAC virtualisatie-configuratie moet meerdere aspecten omvatten. De technische documentatie beschrijft hoe de instelling is geconfigureerd in Microsoft Intune, welke apparaatgroepen zijn betrokken, en welke eventuele uitzonderingen van toepassing zijn. De beleidsdocumentatie legt de rationale vast waarom deze instelling vereist is, hoe deze aansluit bij de organisatorische beveiligingsdoelstellingen, en welke procedures gelden voor het aanvragen van uitzonderingen. De procedurele documentatie beschrijft de stappen die moeten worden gevolgd voor monitoring, rapportage en remediatie van niet-compliant endpoints. Al deze documentatie moet worden beheerd volgens het documentbeheersysteem van de organisatie en regelmatig worden gecontroleerd op actualiteit en volledigheid.

Voor auditdoeleinden is het belangrijk dat beleid en implementatie expliciet worden vastgelegd in interne documentatie: beschrijf welke Intune-profielen deze instelling bevatten, op welke apparaatgroepen deze worden toegepast, hoe uitzonderingen worden beheerd en welke monitoring beschikbaar is om naleving te controleren. Tijdens externe audits, zoals die uitgevoerd worden door de Nederlandse Auditdienst of externe certificeringsinstellingen, moeten organisaties kunnen aantonen dat de UAC virtualisatie-instelling is geïmplementeerd conform de vastgestelde baseline en dat continue monitoring plaatsvindt. Dit vereist dat compliance-rapporten en audittrails beschikbaar zijn en dat beheerders kunnen uitleggen hoe eventuele afwijkingen zijn gedetecteerd en opgelost. Tijdens audits kan vervolgens worden aangetoond dat de organisatie niet alleen beleid heeft geformuleerd, maar dit ook aantoonbaar en consistent heeft doorvertaald naar technische configuraties op alle relevante Windows-werkplekken. De combinatie van technische configuratie, geautomatiseerde monitoring, gedocumenteerde procedures en periodieke reviews vormt samen het bewijs dat de organisatie deze maatregel op verantwoorde wijze heeft geïmplementeerd en onderhoudt.

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 Intune Privacy: UAC Virtualize File/Registry Write Failures .DESCRIPTION CIS - UAC moet file/registry write failures virtualizen naar user locations. .NOTES Filename: uac-virtualize-write-failures.ps1|Author: Nederlandse Baseline voor Veilige Cloud|Registry: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableVirtualization|Expected: 1 #> #Requires -Version 5.1 #Requires -RunAsAdministrator [CmdletBinding()]param([switch]$WhatIf, [switch]$Monitoring, [switch]$Remediation, [switch]$Revert) $ErrorActionPreference = 'Stop'; $RegPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"; $RegName = "EnableVirtualization"; $ExpectedValue = 1 function Connect-RequiredServices { $p = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()); return $p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) } function Test-Compliance { $r = [PSCustomObject]@{ScriptName = "uac-virtualization.ps1"; PolicyName = "UAC Virtualization"; IsCompliant = $false; CurrentValue = $null; ExpectedValue = "Enabled"; Details = @() }; function Invoke-Revert { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue } try { if (Test-Path $RegPath) { $v = Get-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue; if ($v) { $r.CurrentValue = $v.$RegName; if ($r.CurrentValue -eq $ExpectedValue) { $r.IsCompliant = $true; $r.Details += "UAC virtualization enabled" }else { $r.Details += "UAC virtualization disabled" } }else { $r.IsCompliant = $true; $r.Details += "Default: enabled" } }else { $r.IsCompliant = $true; $r.Details += "Default" } }catch { $r.Details += "Error: $($_.Exception.Message)" }; return $r } function Invoke-Remediation { if (-not(Test-Path $RegPath)) { New-Item -Path $RegPath -Force | Out-Null }; Set-ItemProperty -Path $RegPath -Name $RegName -Value $ExpectedValue -Type DWord -Force; Write-Host "UAC virtualization enabled" -ForegroundColor Green } function Invoke-Monitoring { $r = Test-Compliance; Write-Host "`n$($r.PolicyName): $(if($r.IsCompliant){'COMPLIANT'}else{'NON-COMPLIANT'})" -ForegroundColor $(if ($r.IsCompliant) { 'Green' }else { 'Red' }); return $r } function Invoke-Revert { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue } try { if (-not(Connect-RequiredServices)) { exit 1 }; if ($Monitoring) { $r = Invoke-Monitoring; exit $(if ($r.IsCompliant) { 0 }else { 1 }) }elseif ($Remediation) { if (-not $WhatIf) { Invoke-Remediation } }elseif ($Revert) { Invoke-Revert }else { $r = Test-Compliance; exit $(if ($r.IsCompliant) { 0 }else { 1 }) } }catch { Write-Error $_; exit 1 }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder deze instelling kunnen verouderde of slecht ontworpen toepassingen rechtstreeks proberen te schrijven naar kritieke systeembestanden en registersleutels, wat kan leiden tot instabiele werkplekken, moeilijk te herleiden configuratiewijzigingen en een verhoogd risico op misbruik van verhoogde rechten.

Management Samenvatting

Schakel UAC‑virtualisatie in via Intune om mislukte schrijfbewerkingen veilig naar per‑gebruiker locaties om te leiden en zo de integriteit van Windows‑endpoints te beschermen.