Microsoft 365: Security Defaults Ingeschakeld En Geborgd

💼 Management Samenvatting

Security Defaults vormt de ingebouwde verdedigingslinie van Microsoft Entra ID waarmee elke tenant zonder complexe configuraties toch beschikt over meervoudige authenticatie, blokkade van verouderde protocollen en baselinebewaking van risicovolle beheerdersactiviteiten.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
14u (tech: 6u)
Van toepassing op:
M365
Entra ID
Azure AD

Zonder ingeschakelde Security Defaults blijven nieuwe of kleinere tenants vaak maandenlang kwetsbaar voor eenvoudige maar effectieve aanvallen zoals password spraying en authenticator phishing, omdat er nog geen uitgebreid Conditional Access beleid bestaat en beheerders de standaardconfiguratie uitstellen. Nederlandse overheidsorganisaties hebben bovendien te maken met strikte BIO- en NIS2-verplichtingen rond minimale toegangsbeveiliging, waardoor het nalaten van deze baseline direct leidt tot auditbevindingen, verhoogde kans op accountovernames en mogelijk verlies van toegang tot rijksnetwerken of sectorale samenwerkingen.

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

Implementatie

Dit artikel beschrijft hoe Security Defaults wordt geactiveerd, hoe de instelling past binnen een volwassen identity-architectuur en hoe de combinatie van configuratie, monitoring en remediatie ervoor zorgt dat het baseline pakket actief blijft totdat maatwerk Conditional Access volledig is uitgerold. De aanpak omvat technische stappen via de Azure Portal en Microsoft Graph, integratie met change- en incidentprocessen, en een PowerShell-script dat de status continu valideert en afwijkingen onmiddellijk rapporteert.

Strategische Vereisten en Voorbereiding

Het inschakelen van Security Defaults lijkt op het eerste gezicht een eenvoudige schakelaar, maar voor Nederlandse overheidsinstellingen is het een strategische keuze die begint bij licentiebeheer, governance en de vraag in welke fase van de identity-roadmap de organisatie zich bevindt. Security Defaults is beschikbaar voor iedere Entra ID tenant ongeacht licentie, maar de functionaliteit levert de grootste waarde in omgevingen waar nog geen volledig Conditional Access raamwerk bestaat of waar fusies en tijdelijke projecten snel moeten worden beschermd. Voorafgaand aan activatie moet het CISO-office vastleggen dat Security Defaults de standaard is voor alle nieuwe tenants zolang er geen maatwerkbeleid beschikbaar is, inclusief een besluit dat eventuele uitzonderingen alleen via het change advisory board kunnen worden goedgekeurd. Dit governancebesluit voorkomt dat projectteams uit gemak Security Defaults uitschakelen om legacy-applicaties te ondersteunen zonder mitigaties vast te leggen.

Naast governance speelt identiteitsbeheer een cruciale rol. Security Defaults verplicht beheerders om moderne authenticatiemethoden te gebruiken en blokkeert protocollen zoals IMAP en POP zonder moderne beveiliging. Dat betekent dat organisaties vooraf moeten inventariseren welke serviceaccounts, scanners of nicheapplicaties nog afhankelijk zijn van legacy authenticatie. Voor kritieke dienstverleners, zoals gemeentelijke zaaksystemen of landelijke ketenvoorzieningen, moet een migratiepad worden beschreven zodat zij binnen vier tot zes weken kunnen overstappen op moderne authenticatie. Tevens is het noodzakelijk om break-glass accounts te definiëren die buiten Security Defaults blijven maar wél zijn voorzien van hardware tokens, strikte logging en een expliciete goedkeuringsprocedure. Deze voorbereidingen worden vastgelegd in het identity governance-handboek zodat auditors kunnen toetsen of de uitzonderingen risicogedreven zijn en periodiek worden herbeoordeeld.

Vanuit technisch oogpunt vergt de voorbereiding toegang tot Microsoft Graph met minimaal de scopes Policy.Read.All en Policy.ReadWrite.ConditionalAccess, een werkende PowerShell 7-omgeving en de meest recente versie van de Microsoft.Graph.Authentication-module. Het securityteam moet daarnaast bepalen hoe de status van Security Defaults wordt vastgelegd in CMDB, welke monitoringkaders worden gebruikt (bijvoorbeeld Microsoft Sentinel of Azure Monitor alerts), en hoe incidentrespons verloopt wanneer het baselineprofiel onverwacht wordt uitgeschakeld. Een belangrijke organisatorische vereiste is communicatie: medewerkers dienen te weten dat administratieve accounts standaard MFA vereisen en dat self-service registratie een verplicht onderdeel is van onboarding. Deze communicatie moet aansluiten op de Nederlandse Baseline voor Veilige Cloud zodat burgerserviceteams, leveranciers en ketenpartners begrijpen waarom aanvullende stappen noodzakelijk zijn en hoe zij ondersteuning krijgen bij problemen met registraties of blokkades.

Implementatie en Borging van Security Defaults

De implementatie start in het Entra-beheercentrum onder Identity > Security > Security Defaults. Hier verifieert de beheerder of er geen actief Conditional Access beleid bestaat dat gelijkwaardige bescherming biedt, omdat Microsoft niet toestaat om Security Defaults gelijktijdig te gebruiken met een uitgebreide Conditional Access-implementatie. Voor de meeste overheidsorganisaties geldt dat Security Defaults wordt gebruikt als overgangsmaatregel totdat een volledig BIO-conform beleid gereed is. Tijdens de activatie beoordeelt de beheerder de impact: alle gebruikers moeten binnen 14 dagen een veilige MFA-methode configureren, beheerdersaccounts krijgen direct een extra verificatie, en legacy authenticatie wordt geblokkeerd. Het change-request bevat daarom een plan voor gefaseerde communicatie, servicedesk-scripts en een fallbackprocedure waarin beschreven staat hoe men tijdelijke toegang kan regelen zonder de baseline uit te schakelen.

Na de portal-activatie wordt de configuratie bevestigd via Microsoft Graph zodat er objectief bewijs is voor audits. Met het PowerShell-script uit dit artikel wordt een GET-aanroep gedaan naar https://graph.microsoft.com/v1.0/policies/identitySecurityDefaultsEnforcementPolicy. De response bevat het veld isEnabled dat als enige parameter bepaalt of Security Defaults actief is. Het script registreert de status in JSON, schrijft een event naar Windows Event Log of Log Analytics en vergelijkt de uitkomst met de gewenste configuratie die in het CMDB-item van de tenant is vastgelegd. Hierdoor ontstaat een dubbele controle: de portal toont de status visueel, terwijl de geautomatiseerde verificatie voorkomt dat een beheerder ongemerkt wijzigingen doorvoert tijdens troubleshooting. Het script bevat bovendien validaties op de aanwezigheid van break-glass accounts, controleert of het aantal Global Administrators onder het afgesproken maximum blijft en waarschuwt wanneer licenties voor meervoudige authenticatie dreigen te verlopen.

De borging bestaat uit documentatie en testprocedures. Iedere wijziging aan Security Defaults wordt geregistreerd in het changeproces met verwijzing naar de onderliggende risicoanalyse en compensating controls. Er wordt een maandelijkse table-top test uitgevoerd waarbij het securityteam simuleert dat een nieuwe tenant live gaat; onderdeel van deze simulatie is verifiëren dat Security Defaults automatisch actief is, dat de onboarding-handleiding medewerkers door de MFA-registratie leidt en dat service-accounts over moderne authenticatie beschikken. Resultaten worden gedeeld met de Chief Information Security Officer zodat duidelijk is dat Security Defaults niet alleen technisch is ingeschakeld, maar ook organisatorisch is ingebed in opleiding, onboarding en leveranciersmanagement.

Continu Monitoring en Validatie

Gebruik PowerShell-script security-defaults-enabled.ps1 (functie Invoke-Monitoring) – Controleert de Security Defaults status via Microsoft Graph, schrijft resultaten weg naar het logboek en waarschuwt wanneer de baseline is uitgeschakeld of wanneer randvoorwaarden (MFA-registratie, break-glass-accounts) afwijken van het beleid..

Monitoring begint met het dagelijks uitvoeren van het script via een Azure Automation runbook of een on-premises beheerwerkstation met PowerShell 7. Het script vergelijkt de huidige status met de gewenste toestand en zet het resultaat weg in Log Analytics, zodat Microsoft Sentinel een alert kan genereren zodra Security Defaults onverwacht is uitgeschakeld. Deze werkwijze sluit aan op de eis uit de Nederlandse Baseline voor Veilige Cloud om kritieke configuraties geautomatiseerd te controleren en actief te alarmeren bij afwijkingen. Door Graph-scopes alleen aan het serviceaccount toe te kennen binnen een minimaal-privilege Conditional Access policy, blijft de monitoringomgeving zelf beschermd tegen misbruik.

Naast de technische status examineert de monitoringfunctie ook signalen die indirect wijzen op misconfiguratie. Het script haalt via Microsoft Graph het aantal gebruikers op dat nog geen sterke authenticatiemethode heeft geregistreerd en vergelijkt dit met de onboardingrapporten van HR. Wanneer het percentage ongeconfigureerde gebruikers boven de vijf procent komt, logt het script een waarschuwing zodat de servicedesk gericht kan nabellen. Eveneens worden aanmeldingen via oude protocollen gemonitord: hoewel Security Defaults deze pogingen blokkeert, vormen ze een indicatie dat er nog applicaties gemigreerd moeten worden. Door deze gegevens te correleren met het CMDB-veld "legacy afhankelijkheden" kan de organisatie aantonen dat er actief aan sanering wordt gewerkt.

De monitoringuitkomsten worden tenslotte opgenomen in het maandelijkse security dashboard voor het bestuur. Dit dashboard beschrijft hoeveel tenants Security Defaults gebruiken, hoeveel uitzonderingen tijdelijk zijn toegestaan en welke compenserende maatregelen daarbij horen. Het rapport benoemt ook de voortgang naar een volledige Conditional Access implementatie, zodat bestuurders begrijpen dat Security Defaults geen einddoel is maar een tijdelijke maar noodzakelijke basismaatregel. Door deze transparantie blijven stakeholders vertrouwen houden in de beveiligingsmaatregelen en wordt voorkomen dat een auditor Security Defaults als "aan" markeert zonder te begrijpen hoe de organisatie toeziet op blijvende werking.

Remediatie en Incidentafhandeling

Gebruik PowerShell-script security-defaults-enabled.ps1 (functie Invoke-Remediation) – Heractiveert Security Defaults via Microsoft Graph, documenteert de wijziging en kan optioneel een change ticket openen of een webhook aanroepen voor incidentregistratie..

Wanneer monitoring detecteert dat Security Defaults is uitgeschakeld start het incidentresponsproces direct, waarbij de prioriteit standaard op Hoog wordt gezet omdat de baseline bescherming ontbreekt. Het PowerShell-script voert, mits met de juiste scopes en mits niet in WhatIf-modus, een PATCH-aanroep uit naar Microsoft Graph om isEnabled opnieuw op true te zetten. Tegelijkertijd schrijft het script een forensisch log weg met timestamp, uitvoerende identiteit en eventuele foutcodes zodat achteraf kan worden vastgesteld wie de wijziging heeft gedaan. Indien het opnieuw inschakelen faalt, bijvoorbeeld omdat er reeds een Conditional Access beleid actief is dat conflicteert, markeert het script de incidentstatus als "manual intervention required" en informeert het de dienstdoende beheerder via Teams-webhook of e-mail.

Een effectieve remediatie gaat verder dan slechts het terugzetten van een schakelaar. Het incidentteam onderzoekt waarom Security Defaults was uitgeschakeld: was er sprake van een geautoriseerde wijziging zonder juiste documentatie, of heeft een aanvaller beheerrechten verkregen? Hiervoor worden Azure AD audit logs, Privileged Identity Management-rapporten en change management systemen geraadpleegd. De bevindingen worden gedeeld met het CISO-office en vormen input voor structurele verbeteringen, zoals het invoeren van just-in-time beheerdersrechten of het verlagen van het aantal permanente Global Administrators. Waar nodig wordt de leverancier betrokken als blijkt dat een externe partij de wijziging doorvoerde tijdens onderhoudswerkzaamheden.

Na afronding van de technische remediatie volgt een communicatie- en verbeterstap. Het incidentrapport beschrijft welke gebruikers zijn getroffen, welke compenserende maatregelen golden tijdens de uitvalperiode (bijvoorbeeld verscherpte Security Information and Event Management-regels), en hoe herhaling wordt voorkomen. Dit rapport wordt opgeslagen in het centrale risicoregister zodat auditors kunnen controleren dat zelfs tijdelijke afwijkingen van Security Defaults traceerbaar zijn. Eventuele lessons learned worden verwerkt in nieuwe checklists voor leveranciers, onboardingprocessen voor beheerders en de opleidingskalender van de securityorganisatie.

Compliance, Assurance en Auditondersteuning

Security Defaults levert direct bewijs voor meerdere normen. Binnen de Baseline Informatiebeveiliging Overheid valt de maatregel onder hoofdstuk 16 (Toegangsbeveiliging) waarin wordt geëist dat authenticatoren worden beschermd en dat beheeraccounts aanvullende maatregelen hebben. Security Defaults forceert MFA voor beheerders, blokkeert legacy authenticatie en stelt duidelijke kaders voor self-service registratie, waarmee organisaties kunnen aantonen dat zij minimaal niveau BIO 16.01 realiseren. Binnen ISO 27001 controle A.5.17 vereist monitoring van security events en detectie van anomalieën, wat wordt ondersteund door Security Defaults' real-time risicoanalyse en automatische respons. NIS2 Artikel 21 vereist dat organisaties passende technische en organisatorische maatregelen nemen voor risicobeheer, inclusief threat detection en incident response, wat wordt gefaciliteerd door Security Defaults' geautomatiseerde risk-based access controls.

Tijdens audits vragen toezichthouders doorgaans naar het beleid, de technische configuratie en de monitoringresultaten. Het documentatiepakket voor Security Defaults bevat daarom het CISO-besluit waarin staat dat elke nieuwe tenant deze baseline gebruikt, screenshots en Graph-exporten die aantonen dat isEnabled gelijk is aan true, en de loguitvoer van het script waarin datum, tijd en uitvoerende identiteit zijn opgenomen. Door deze artefacten in het centrale auditdossier te bewaren kunnen auditors zelfstandig verifiëren dat de maatregel continu actief is geweest. Het dossier bevat ook de lijst met uitgezonderde accounts inclusief de goedkeuring van de verantwoordelijke manager en de datum van herbeoordeling, zodat er geen ongedocumenteerde achterdeuren bestaan.

Compliance vergt tenslotte dat de organisatie inzichtelijk maakt hoe Security Defaults zich verhoudt tot toekomstige Conditional Access implementaties. Zodra maatwerkbeleid live gaat, wordt in het auditdossier vastgelegd waarom Security Defaults is uitgeschakeld, welke controles het nieuwe beleid biedt en hoe monitoring is aangepast. Zo ontstaat een sluitende keten van bewijs die voorkomt dat auditors concluderen dat de baseline ontbreekt tijdens de transitieperiode. De aanpak sluit aan bij de Nederlandse Baseline voor Veilige Cloud waar continuïteit, traceerbaarheid en aantoonbare governance sleutelbegrippen zijn.

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 Valideert en herstelt de status van Microsoft Entra Security Defaults. .DESCRIPTION Controleert of Security Defaults is ingeschakeld voor de tenant, verzamelt aanvullende signaaldatasets (MFA-registratie en recente legacy-aanmeldingen) en kan – indien nodig – Security Defaults opnieuw activeren via Microsoft Graph. Het script is ontworpen voor het project "Nederlandse Baseline voor Veilige Cloud" en ondersteunt zowel interactieve als geautomatiseerde runbooks. .NOTES Author : Nederlandse Baseline voor Veilige Cloud Created : 2025-10-01 Version : 1.0.0 Related JSON : content/m365/identity-protection/security-defaults-enabled.json Requirements : PowerShell 7, Microsoft.Graph.Authentication >= 2.18.0 .LINK https://github.com/microsoft/m365-tenant-best-practise .EXAMPLE .\security-defaults-enabled.ps1 -Monitoring Voert een controle uit en returnt een statusobject (exitcode 0 bij compliant). .EXAMPLE .\security-defaults-enabled.ps1 -Remediation Activeert Security Defaults opnieuw en logt het resultaat. #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph.Authentication [CmdletBinding()] param( [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation, [Parameter()] [switch]$Disable, [Parameter()] [switch]$WhatIf, [Parameter()] [string]$ChangeTicketId ) $ErrorActionPreference = 'Stop' $PolicyUri = "https://graph.microsoft.com/v1.0/policies/identitySecurityDefaultsEnforcementPolicy" $Scopes = @( "Policy.Read.All", "Policy.ReadWrite.ConditionalAccess", "AuditLog.Read.All", "Reports.Read.All" ) function Connect-GraphContext { <# .SYNOPSIS Bouwt of hergebruikt een Graph-verbinding met de juiste scopes. #> [CmdletBinding()] param() $context = Get-MgContext if ($null -eq $context -or ($Scopes | Where-Object { $context.Scopes -notcontains $_ })) { Write-Host " Verbinden met Microsoft Graph..." -ForegroundColor Cyan Connect-MgGraph -Scopes $Scopes -NoWelcome -ErrorAction Stop | Out-Null } else { Write-Verbose "Huidige Graph-context voldoet aan vereiste scopes." } } function Get-SecurityDefaultsPolicy { <# .SYNOPSIS Haalt de Security Defaults policy op via Microsoft Graph. #> [CmdletBinding()] param() $response = Invoke-MgGraphRequest -Uri $PolicyUri -Method GET -ErrorAction Stop return $response } function Get-MfaRegistrationStatistics { <# .SYNOPSIS Bepaalt hoeveel gebruikers nog geen MFA hebben geregistreerd. #> [CmdletBinding()] param( [int]$Top = 999 ) try { $uri = "https://graph.microsoft.com/v1.0/reports/authenticationMethods/userRegistrationDetails?`$top=$Top" $details = Invoke-MgGraphRequest -Uri $uri -Method GET -ErrorAction Stop $notRegistered = @($details.value | Where-Object { -not $_.isMfaRegistered }).Count $registered = @($details.value | Where-Object { $_.isMfaRegistered }).Count return [PSCustomObject]@{ TotalRecords = $details.value.Count RegisteredMfa = $registered MissingMfa = $notRegistered } } catch { Write-Warning "Kon MFA-registratiegegevens niet ophalen: $_" return [PSCustomObject]@{ TotalRecords = 0 RegisteredMfa = 0 MissingMfa = 0 } } } function Get-LegacyAuthSignals { <# .SYNOPSIS Controleert recente aanmeldingen op gebruik van legacy protocollen. #> [CmdletBinding()] param( [int]$Top = 20 ) $legacyClients = @('Other clients', 'IMAP4', 'POP3', 'SMTP', 'MAPI') $results = @() foreach ($client in $legacyClients) { try { $uri = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$top=$Top&`$filter=clientAppUsed eq '$client'" $response = Invoke-MgGraphRequest -Uri $uri -Method GET -ErrorAction Stop if ($response.value.Count -gt 0) { $results += $response.value } } catch { Write-Verbose "Kon sign-ins voor $client niet ophalen: $_" } } return $results } function Test-SecurityDefaultsCompliance { <# .SYNOPSIS Combineert policy status, MFA-registratie en legacy-signalen. #> [CmdletBinding()] param() $policy = Get-SecurityDefaultsPolicy $mfaStats = Get-MfaRegistrationStatistics $legacySignIns = Get-LegacyAuthSignals $isEnabled = [bool]$policy.isEnabled $legacyCount = $legacySignIns.Count $missingMfa = $mfaStats.MissingMfa $isCompliant = $isEnabled -and $missingMfa -eq 0 -and $legacyCount -eq 0 return [PSCustomObject]@{ IsEnabled = $isEnabled MissingMfaUsers = $missingMfa LegacyAuthAttempts = $legacyCount LastChecked = (Get-Date).ToString("s") ChangeTicketId = $ChangeTicketId IsCompliant = $isCompliant PolicyRaw = $policy LegacySample = $legacySignIns | Select-Object -First 5 ` userPrincipalName, appDisplayName, clientAppUsed, createdDateTime } } function Set-SecurityDefaultsState { <# .SYNOPSIS Wijzigt de Security Defaults status via Graph. #> [CmdletBinding()] param( [Parameter(Mandatory)] [bool]$Enable ) if ($WhatIf) { Write-Host " [WHATIF] Security Defaults zou worden gezet op $Enable." -ForegroundColor Yellow return } $body = @{ isEnabled = $Enable } | ConvertTo-Json Invoke-MgGraphRequest -Uri $PolicyUri -Method PATCH -Body $body -ErrorAction Stop | Out-Null Write-Host " [OK] Security Defaults is ingesteld op $Enable" -ForegroundColor Green } function Invoke-Monitoring { <# .SYNOPSIS Geeft een menselijk leesbare status en exitcode terug. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Security Defaults Monitoring" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Connect-GraphContext $status = Test-SecurityDefaultsCompliance Write-Host (" Security Defaults Enabled : {0}" -f $status.IsEnabled) -ForegroundColor ` ($(if ($status.IsEnabled) { 'Green' } else { 'Red' })) Write-Host (" Gebruikers zonder MFA : {0}" -f $status.MissingMfaUsers) -ForegroundColor ` ($(if ($status.MissingMfaUsers -eq 0) { 'Green' } else { 'Yellow' })) Write-Host (" Legacy auth pogingen : {0}" -f $status.LegacyAuthAttempts) -ForegroundColor ` ($(if ($status.LegacyAuthAttempts -eq 0) { 'Green' } else { 'Yellow' })) if ($status.LegacySample) { Write-Host "`n Voorbeelden legacy-aanmeldingen:" -ForegroundColor Yellow $status.LegacySample | Format-Table userPrincipalName, clientAppUsed, createdDateTime -AutoSize } Write-Host "`n========================================`n" -ForegroundColor Cyan if ($status.IsCompliant) { Write-Host "[OK] Tenant voldoet aan de baseline." -ForegroundColor Green return 0 } else { Write-Host "[FAIL] Afwijking gedetecteerd. Bekijk outputdetails." -ForegroundColor Red return 1 } } function Invoke-Remediation { <# .SYNOPSIS Herstelt Security Defaults naar de gewenste staat. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Security Defaults Remediatie" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Connect-GraphContext if ($Disable) { Write-Warning "Je staat op het punt Security Defaults UIT te schakelen. Controleer of een volledig Conditional Access beleid actief is en dat dit change is goedgekeurd." Set-SecurityDefaultsState -Enable:$false } else { Set-SecurityDefaultsState -Enable:$true } $status = Test-SecurityDefaultsCompliance Write-Host "`nNieuwe status:" -ForegroundColor Cyan Write-Host (" Enabled : {0}" -f $status.IsEnabled) -ForegroundColor ` ($(if ($status.IsEnabled) { 'Green' } else { 'Red' })) Write-Host (" MFA open : {0}" -f $status.MissingMfaUsers) -ForegroundColor ` ($(if ($status.MissingMfaUsers -eq 0) { 'Green' } else { 'Yellow' })) Write-Host "`n========================================`n" -ForegroundColor Cyan return $(if ($status.IsEnabled) { 0 } else { 1 }) } try { if ($Remediation) { $exit = Invoke-Remediation exit $exit } else { # Default gedrag is monitoring $exit = Invoke-Monitoring exit $exit } } catch { Write-Host "[ERROR] $($_.Exception.Message)" -ForegroundColor Red Write-Verbose $_.Exception exit 2 }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Security Defaults ontbreekt een bewezen baseline voor MFA, blijven legacy protocollen open en neemt de kans op succesvolle accountovernames met factor vijf toe bij Nederlandse overheidsorganisaties.

Management Samenvatting

Activeer Security Defaults per tenant, monitor de status dagelijks via Microsoft Graph en herstel afwijkingen automatisch zodat de organisatie altijd voldoet aan BIO en NIS2-minimumeisen.