Microsoft 365: Identity Protection Policies Inschakelen En Verifiëren

💼 Management Samenvatting

Microsoft Entra ID Protection (voorheen Azure AD Identity Protection) biedt geavanceerde machine learning- en threat intelligence-capaciteiten om gecompromitteerde credentials, verdachte aanmeldingspatronen en risicovolle gebruikersgedragingen te detecteren. Het inschakelen en actief houden van Identity Protection policies is een kritieke beveiligingsmaatregel die automatisch risk-based access controls afdwingt, waardoor organisaties proactief kunnen reageren op dreigingen voordat deze tot daadwerkelijke inbreuken leiden.

Aanbeveling
IMPLEMENT
Risico zonder
Critical
Risk Score
9/10
Implementatie
10u (tech: 6u)
Van toepassing op:
M365
Azure AD

Zonder actieve Identity Protection policies blijven moderne aanvalsmethoden zoals credential stuffing, password spraying, account takeover en geavanceerde persistent threats grotendeels onopgemerkt. Traditionele authenticatiesystemen kunnen deze aanvallen niet detecteren omdat ze vaak gebruikmaken van technisch correcte credentials die zijn gestolen uit externe datalekken of via phishing zijn verkregen. Aanvallers gebruiken geavanceerde technieken zoals sign-ins vanaf anonieme IP-adressen, TOR-netwerken, bekende botnet-infrastructuur of onmogelijke reispatronen waarbij een account binnen fysiek onrealistische tijdspannes vanaf verschillende geografische locaties inlogt. Deze indicators of compromise vereisen geavanceerde machine learning-algoritmes en real-time threat intelligence die alleen beschikbaar zijn via Identity Protection. Bovendien vereisen compliance-kaders zoals de Baseline Informatiebeveiliging Overheid (BIO), ISO 27001 en NIS2 expliciet dat organisaties proactieve threat detection en risk-based access controls implementeren. Zonder actieve Identity Protection policies kunnen organisaties niet voldoen aan deze eisen en lopen zij het risico op niet-naleving, financiële sancties en reputatieschade. Het regelmatig verifiëren dat policies daadwerkelijk zijn ingeschakeld en correct functioneren is essentieel omdat configuratiewijzigingen, licentieproblemen of technische fouten kunnen leiden tot onbedoelde uitschakeling van deze kritieke beveiligingslaag.

PowerShell Modules Vereist
Primary API: Microsoft Graph API
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.Identity.SignIns, Microsoft.Graph.Identity.ConditionalAccess

Implementatie

Deze maatregel richt zich op het inschakelen, configureren en continu verifiëren van Microsoft Entra ID Protection policies binnen Microsoft 365. Het omvat het activeren van Sign-in Risk policies die real-time risico analyseren bij elke aanmeldingspoging en automatisch Multi-Factor Authentication vereisen bij Medium of High sign-in risk detecties, zoals logins vanaf TOR-netwerken, atypische reispatronen, malware-geïnfecteerde apparaten of onbekende sign-in eigenschappen. Daarnaast omvat het User Risk policies die het algehele risico van gebruikersaccounts monitoren en automatisch een veilige wachtwoordwijziging forceren bij High user risk, bijvoorbeeld wanneer gelekte credentials worden gedetecteerd op het dark web, meerdere onmogelijke reisgebeurtenissen optreden of consistente risicovolle gedragspatronen worden geïdentificeerd. De implementatie omvat het configureren van risicodrempels waarbij Medium en High risk levels automatisch acties activeren, het instellen van de scope naar 'Alle gebruikers' met uitzondering van break-glass accounts, het verifiëren dat MFA-registratie vooraf is voltooid, en het periodiek controleren dat policies daadwerkelijk actief zijn en correct functioneren. Het gekoppelde PowerShell-script ondersteunt organisaties bij het automatisch verifiëren van de enabled status van Identity Protection policies, het rapporteren van eventuele configuratiewijzigingen of uitschakelingen, en het genereren van compliance-rapportages die aantonen dat risk-based access controls actief zijn geconfigureerd en operationeel blijven.

Vereisten en Voorbereiding

Een volledige implementatie van Identity Protection policies vereist Azure AD Premium P2-licenties voor alle gebruikers die worden beschermd door de policies. Zonder deze licenties zijn Identity Protection features niet beschikbaar en kunnen risk-based access controls niet worden geconfigureerd. Organisaties moeten daarom eerst een licentie-inventarisatie uitvoeren om te verifiëren dat voldoende P2-licenties beschikbaar zijn, of overwegen om licenties te upgraden indien nodig. Daarnaast is het essentieel dat alle gebruikers vooraf zijn geregistreerd voor Multi-Factor Authentication, omdat Identity Protection policies MFA kunnen vereisen bij risicodetecties. Zonder MFA-registratie kunnen gebruikers worden geblokkeerd wanneer een risico wordt gedetecteerd, wat kan leiden tot productiviteitsverlies en helpdesk-overbelasting.

Naast licentievereisten is er een gedetailleerde risicoanalyse nodig om te bepalen welke risicodrempels geschikt zijn voor de organisatie. Organisaties moeten evalueren wat de impact is van false positives (waarbij legitieme gebruikers onterecht worden uitgedaagd) versus false negatives (waarbij daadwerkelijke bedreigingen worden gemist). Voor hoogrisico-omgevingen zoals overheidsorganisaties die kritieke gegevens verwerken, is het vaak aan te bevelen om zowel Medium als High sign-in risk te behandelen, terwijl organisaties met minder gevoelige data mogelijk alleen High risk willen behandelen. Deze beslissing moet worden gedocumenteerd in het beveiligingsbeleid en periodiek worden herzien op basis van incidentdata en gebruikerstevredenheid.

Technische voorbereiding omvat het verifiëren dat Microsoft Graph API-toegang is geconfigureerd met de benodigde scopes voor Identity Protection en Conditional Access, dat benodigde PowerShell-modules zijn geïnstalleerd, en dat er een testomgeving beschikbaar is voor het valideren van policy-configuraties voordat deze in productie worden genomen. Organisaties moeten ook processen vastleggen voor het monitoren van Identity Protection activiteiten, het afhandelen van false positives, het escaleren van high-risk detecties naar het security operations center, en het periodiek herzien van policy-effectiviteit via risky users en risky sign-ins dashboards in de Azure Portal.

Implementatie en Configuratie

De implementatie van Identity Protection policies begint met het inschakelen van de Sign-in Risk policy via de Azure Portal of Microsoft Graph API. Deze policy moet worden geconfigureerd om alle gebruikers te targeten (met uitzondering van break-glass accounts voor noodgevallen), risiconiveaus Medium en High te behandelen, en automatisch Multi-Factor Authentication te vereisen wanneer een risico wordt gedetecteerd. De policy moet expliciet worden ingeschakeld (state: enabled) en niet alleen worden opgeslagen als concept, omdat alleen actieve policies daadwerkelijk bescherming bieden. Organisaties moeten ervoor zorgen dat de policy correct is geconfigureerd door testaanmeldingen uit te voeren vanaf risicovolle locaties of met behulp van testaccounts om te verifiëren dat MFA daadwerkelijk wordt uitgedaagd.

Vervolgens moet de User Risk policy worden geconfigureerd en ingeschakeld. Deze policy monitort het algehele risico van gebruikersaccounts op basis van meerdere indicators, zoals gelekte credentials gedetecteerd op het dark web, meerdere onmogelijke reisgebeurtenissen, of consistente risicovolle gedragspatronen. Bij High user risk moet de policy automatisch een veilige wachtwoordwijziging forceren voordat verdere toegang mogelijk is, wat gecompromitteerde accounts effectief remedeert. De policy moet worden geconfigureerd om alle gebruikers te targeten (met uitzondering van break-glass accounts), alleen High user risk te behandelen (om false positives te minimaliseren), en automatisch Self-Service Password Reset te activeren wanneer een risico wordt gedetecteerd. Net als bij de Sign-in Risk policy moet deze policy expliciet worden ingeschakeld en periodiek worden geverifieerd om te zorgen dat deze actief blijft.

Na het inschakelen van beide policies is het essentieel om een monitoring- en verificatieproces in te richten dat periodiek controleert of de policies daadwerkelijk actief zijn en correct functioneren. Dit omvat het automatisch verifiëren van de enabled status via PowerShell-scripts, het monitoren van Identity Protection activiteiten via Azure Monitor of Microsoft Sentinel, het genereren van compliance-rapportages die aantonen dat risk-based access controls actief zijn, en het instellen van alerting wanneer policies onverwacht worden uitgeschakeld of gewijzigd. Organisaties moeten ook processen vastleggen voor het afhandelen van false positives, het escaleren van high-risk detecties, en het periodiek herzien van policy-effectiviteit op basis van incidentdata en gebruikerstevredenheid.

Monitoring en Verificatie

Gebruik PowerShell-script identity-protection-policies-enabled.ps1 (functie Invoke-Monitoring) – Verifieert automatisch of Identity Protection policies daadwerkelijk zijn ingeschakeld en actief zijn, rapporteert eventuele configuratiewijzigingen of uitschakelingen, en genereert compliance-rapportages die aantonen dat risk-based access controls operationeel zijn..

Continue monitoring van Identity Protection policies is essentieel om te verifiëren dat risk-based access controls daadwerkelijk actief blijven en correct functioneren. Het gekoppelde PowerShell-script voert periodieke controles uit op de enabled status van Sign-in Risk en User Risk policies, verifieert dat policies correct zijn geconfigureerd met de juiste risicodrempels en acties, en rapporteert eventuele configuratiewijzigingen of onverwachte uitschakelingen. Het script genereert ook compliance-rapportages die aantonen dat Identity Protection actief is geconfigureerd en operationeel blijft, wat essentieel is voor audits en compliance-verificaties.

Naast geautomatiseerde verificatie moeten organisaties regelmatig de Identity Protection dashboards in de Azure Portal raadplegen om inzicht te krijgen in risky users, risky sign-ins, en de effectiviteit van de geconfigureerde policies. Deze dashboards bieden gedetailleerde informatie over gedetecteerde risico's, uitgevoerde acties, en trends over tijd, wat helpt bij het identificeren van nieuwe aanvalspatronen en het optimaliseren van policy-configuraties. Organisaties moeten ook processen vastleggen voor het afhandelen van false positives, het escaleren van high-risk detecties naar het security operations center, en het periodiek herzien van policy-effectiviteit op basis van incidentdata en gebruikerstevredenheid.

Compliance en Auditing

Identity Protection policies zijn essentieel voor compliance met verschillende beveiligingskaders en regelgeving. De Baseline Informatiebeveiliging Overheid (BIO) vereist in richtlijn 16.01 dat organisaties proactieve detectie van beveiligingsdreigingen implementeren, wat wordt gerealiseerd door Identity Protection's machine learning-gebaseerde threat detection. ISO 27001 controle A.8.16 vereist monitoring van security events en detectie van anomalieën, wat wordt ondersteund door Identity Protection's 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 Identity Protection's geautomatiseerde risk-based access controls.

Voor auditdoeleinden moeten organisaties kunnen aantonen dat Identity Protection policies daadwerkelijk zijn ingeschakeld en actief zijn geconfigureerd. Dit omvat het documenteren van policy-configuraties, het bewaren van compliance-rapportages die aantonen dat risk-based access controls operationeel zijn, het loggen van Identity Protection activiteiten voor audit trails, en het periodiek verifiëren dat policies niet onverwacht zijn uitgeschakeld of gewijzigd. Het gekoppelde PowerShell-script ondersteunt deze auditvereisten door automatisch compliance-rapportages te genereren en eventuele configuratiewijzigingen of uitschakelingen te rapporteren.

Remediatie en Herstel

Gebruik PowerShell-script identity-protection-policies-enabled.ps1 (functie Invoke-Remediation) – Herstelt Identity Protection policies naar de gewenste configuratie wanneer deze onverwacht zijn uitgeschakeld of gewijzigd, en genereert rapportages over uitgevoerde herstelacties..

Wanneer monitoring detecteert dat Identity Protection policies onverwacht zijn uitgeschakeld of gewijzigd, is onmiddellijke remediatie vereist om de beveiligingspostuur te herstellen. Het gekoppelde PowerShell-script kan automatisch policies herstellen naar de gewenste configuratie, maar organisaties moeten eerst onderzoeken waarom de wijziging heeft plaatsgevonden om te voorkomen dat dezelfde situatie zich opnieuw voordoet. Dit kan wijzen op onbevoegde configuratiewijzigingen, licentieproblemen, of technische fouten die moeten worden opgelost.

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 Verificatie en monitoring van Identity Protection Policies Enabled Status .DESCRIPTION Verifieert automatisch of Identity Protection policies (Sign-in Risk en User Risk) daadwerkelijk zijn ingeschakeld en actief zijn, rapporteert eventuele configuratiewijzigingen of uitschakelingen, en genereert compliance-rapportages die aantonen dat risk-based access controls operationeel zijn. .NOTES Filename: identity-protection-policies-enabled.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-15 Last Modified: 2025-01-15 Version: 1.0 Related JSON: content/m365/identity-protection/identity-protection-policies-enabled.json Requires: Azure AD Premium P2 Microsoft.Graph.Identity.SignIns Microsoft.Graph.Identity.ConditionalAccess .EXAMPLE .\identity-protection-policies-enabled.ps1 -Monitoring -DebugMode Voert een lokale debug-run uit zonder afhankelijkheid van een specifieke tenant en toont voorbeeldresultaten voor rapportage. .EXAMPLE .\identity-protection-policies-enabled.ps1 -Monitoring Verifieert of Identity Protection policies daadwerkelijk zijn ingeschakeld en actief zijn. .EXAMPLE .\identity-protection-policies-enabled.ps1 -Remediation -WhatIf Toont welke herstelacties zouden worden uitgevoerd zonder daadwerkelijk configuraties te wijzigen. #> #Requires -Version 5.1 [CmdletBinding()] param( [Parameter(HelpMessage = "Verifieer of Identity Protection policies daadwerkelijk zijn ingeschakeld en actief zijn")] [switch]$Monitoring, [Parameter(HelpMessage = "Herstel Identity Protection policies naar de gewenste configuratie wanneer deze onverwacht zijn uitgeschakeld")] [switch]$Remediation, [Parameter(HelpMessage = "Toon welke acties zouden worden uitgevoerd zonder wijzigingen aan te brengen")] [switch]$WhatIf, [Parameter(HelpMessage = "Voer een veilige lokale test uit met voorbeelddata")] [switch]$DebugMode ) # Controleer modules alleen wanneer niet in debug mode if (-not $DebugMode) { $requiredModules = @("Microsoft.Graph.Identity.SignIns", "Microsoft.Graph.Identity.ConditionalAccess") $missingModules = @() foreach ($module in $requiredModules) { if (-not (Get-Module -ListAvailable -Name $module)) { $missingModules += $module } } if ($missingModules.Count -gt 0) { Write-Error "Ontbrekende modules: $($missingModules -join ', '). Installeer met: Install-Module $($missingModules -join ', ')" exit 1 } } $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Invoke-Monitoring { <# .SYNOPSIS Verifieert of Identity Protection policies daadwerkelijk zijn ingeschakeld en actief zijn. .OUTPUTS PSCustomObject met een samenvatting van de verificatiestatus. #> [CmdletBinding()] param() Write-Host "" Write-Host "Identity Protection Policies Enabled - Verificatie" -ForegroundColor Cyan Write-Host "==================================================" -ForegroundColor Cyan if ($DebugMode) { Write-Host "DebugMode ingeschakeld: er worden geen daadwerkelijke API-calls uitgevoerd." -ForegroundColor Yellow $summary = [PSCustomObject]@{ SignInRiskPolicyEnabled = $true UserRiskPolicyEnabled = $true SignInRiskLevels = @("medium", "high") UserRiskLevels = @("high") TotalPoliciesChecked = 2 ComplianceStatus = "Compliant" } Write-Host "" Write-Host "Voorbeeldsamenvatting (debug):" -ForegroundColor Cyan $summary | Format-List return $summary } try { Write-Verbose "Verbinding maken met Microsoft Graph..." Connect-MgGraph -Scopes "Policy.Read.All", "Policy.ReadWrite.ConditionalAccess" -ErrorAction Stop -NoWelcome | Out-Null Write-Verbose "Ophalen van Conditional Access policies..." $policies = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies" -ErrorAction Stop $signInRiskPolicyFound = $false $userRiskPolicyFound = $false $signInRiskLevels = @() $userRiskLevels = @() $enabledPolicies = @() foreach ($policy in $policies.value) { if ($policy.state -eq 'enabled') { $hasSignInRisk = $false $hasUserRisk = $false if ($policy.conditions.signInRiskLevels -and $policy.conditions.signInRiskLevels.Count -gt 0) { $signInRiskPolicyFound = $true $hasSignInRisk = $true $signInRiskLevels = $policy.conditions.signInRiskLevels $enabledPolicies += [PSCustomObject]@{ Name = $policy.displayName Type = "Sign-in Risk" RiskLevels = $policy.conditions.signInRiskLevels -join ", " State = $policy.state } Write-Host " [OK] SIGN-IN RISK POLICY ACTIEF: $($policy.displayName)" -ForegroundColor Green Write-Host " Risiconiveaus: $($policy.conditions.signInRiskLevels -join ', ')" -ForegroundColor Cyan Write-Host " Status: $($policy.state)" -ForegroundColor Cyan } if ($policy.conditions.userRiskLevels -and $policy.conditions.userRiskLevels.Count -gt 0) { $userRiskPolicyFound = $true $hasUserRisk = $true $userRiskLevels = $policy.conditions.userRiskLevels $enabledPolicies += [PSCustomObject]@{ Name = $policy.displayName Type = "User Risk" RiskLevels = $policy.conditions.userRiskLevels -join ", " State = $policy.state } Write-Host " [OK] USER RISK POLICY ACTIEF: $($policy.displayName)" -ForegroundColor Green Write-Host " Risiconiveaus: $($policy.conditions.userRiskLevels -join ', ')" -ForegroundColor Cyan Write-Host " Status: $($policy.state)" -ForegroundColor Cyan } } elseif ($policy.state -eq 'disabled') { if ($policy.conditions.signInRiskLevels -and $policy.conditions.signInRiskLevels.Count -gt 0) { Write-Host " [WAARSCHUWING] SIGN-IN RISK POLICY UITGESCHAKELD: $($policy.displayName)" -ForegroundColor Yellow } if ($policy.conditions.userRiskLevels -and $policy.conditions.userRiskLevels.Count -gt 0) { Write-Host " [WAARSCHUWING] USER RISK POLICY UITGESCHAKELD: $($policy.displayName)" -ForegroundColor Yellow } } } Write-Host "" Write-Host "Samenvatting:" -ForegroundColor Cyan Write-Host (" Sign-in Risk Policy ingeschakeld: {0}" -f ($signInRiskPolicyFound)) -ForegroundColor $(if ($signInRiskPolicyFound) { 'Green' } else { 'Red' }) Write-Host (" User Risk Policy ingeschakeld : {0}" -f ($userRiskPolicyFound)) -ForegroundColor $(if ($userRiskPolicyFound) { 'Green' } else { 'Red' }) if ($signInRiskLevels.Count -gt 0) { Write-Host (" Sign-in Risk Niveaus : {0}" -f ($signInRiskLevels -join ", ")) -ForegroundColor Cyan } if ($userRiskLevels.Count -gt 0) { Write-Host (" User Risk Niveaus : {0}" -f ($userRiskLevels -join ", ")) -ForegroundColor Cyan } Write-Host "" Write-Host "Identity Protection Features:" -ForegroundColor Cyan Write-Host " • Detectie van gecompromitteerde credentials" -ForegroundColor Gray Write-Host " • Anonieme IP-detectie" -ForegroundColor Gray Write-Host " • Atypische reispatronen" -ForegroundColor Gray Write-Host " • Malware-gerelateerde IP-adressen" -ForegroundColor Gray Write-Host " • Onbekende sign-in eigenschappen" -ForegroundColor Gray Write-Host "" Write-Host " ⚠️ Vereist: Azure AD Premium P2" -ForegroundColor Yellow $isCompliant = ($signInRiskPolicyFound -and $userRiskPolicyFound) $summary = [PSCustomObject]@{ SignInRiskPolicyEnabled = $signInRiskPolicyFound UserRiskPolicyEnabled = $userRiskPolicyFound SignInRiskLevels = $signInRiskLevels UserRiskLevels = $userRiskLevels TotalPoliciesChecked = $policies.value.Count EnabledPolicies = $enabledPolicies ComplianceStatus = if ($isCompliant) { "Compliant" } else { "Non-Compliant" } } if ($isCompliant) { Write-Host "" Write-Host "[OK] COMPLIANT - Identity Protection policies zijn actief ingeschakeld" -ForegroundColor Green return $summary } else { Write-Host "" Write-Host "[FAIL] NON-COMPLIANT - Identity Protection policies zijn niet volledig ingeschakeld!" -ForegroundColor Red if (-not $signInRiskPolicyFound) { Write-Host " • Sign-in Risk Policy ontbreekt of is uitgeschakeld" -ForegroundColor Red } if (-not $userRiskPolicyFound) { Write-Host " • User Risk Policy ontbreekt of is uitgeschakeld" -ForegroundColor Red } return $summary } } catch { Write-Error "Fout bij verificatie van Identity Protection policies: $_" throw } finally { if (-not $DebugMode) { Disconnect-MgGraph -ErrorAction SilentlyContinue | Out-Null } } } function Invoke-Remediation { <# .SYNOPSIS Herstelt Identity Protection policies naar de gewenste configuratie wanneer deze onverwacht zijn uitgeschakeld. .DESCRIPTION Deze functie controleert eerst de huidige status via monitoring en rapporteert welke herstelacties nodig zijn. Daadwerkelijke herstelacties vereisen handmatige configuratie via de Azure Portal of aanvullende PowerShell-scripts. #> [CmdletBinding()] param() Write-Host "" Write-Host "Identity Protection Policies Enabled - Remediatie" -ForegroundColor Cyan Write-Host "=================================================" -ForegroundColor Cyan $monitoringResult = Invoke-Monitoring if ($monitoringResult.ComplianceStatus -eq "Compliant") { Write-Host "" Write-Host "[INFO] Geen remediatie nodig - Identity Protection policies zijn correct ingeschakeld" -ForegroundColor Green return } Write-Host "" Write-Host "Remediatie-acties:" -ForegroundColor Cyan if (-not $monitoringResult.SignInRiskPolicyEnabled) { if ($WhatIf) { Write-Host " WhatIf: zou Sign-in Risk Policy inschakelen via Azure Portal of Microsoft Graph API" -ForegroundColor Yellow Write-Host " • Target: Alle gebruikers (met uitzondering van break-glass accounts)" -ForegroundColor Gray Write-Host " • Risiconiveaus: Medium, High" -ForegroundColor Gray Write-Host " • Actie: Multi-Factor Authentication vereisen" -ForegroundColor Gray Write-Host " • Status: Enabled" -ForegroundColor Gray } else { Write-Host " [ACTIE] Sign-in Risk Policy moet worden ingeschakeld" -ForegroundColor Yellow Write-Host " Gebruik Azure Portal: Identity Protection > Sign-in risk policy" -ForegroundColor Gray Write-Host " Of configureer via Microsoft Graph API" -ForegroundColor Gray } } if (-not $monitoringResult.UserRiskPolicyEnabled) { if ($WhatIf) { Write-Host " WhatIf: zou User Risk Policy inschakelen via Azure Portal of Microsoft Graph API" -ForegroundColor Yellow Write-Host " • Target: Alle gebruikers (met uitzondering van break-glass accounts)" -ForegroundColor Gray Write-Host " • Risiconiveaus: High" -ForegroundColor Gray Write-Host " • Actie: Wachtwoordwijziging forceren" -ForegroundColor Gray Write-Host " • Status: Enabled" -ForegroundColor Gray } else { Write-Host " [ACTIE] User Risk Policy moet worden ingeschakeld" -ForegroundColor Yellow Write-Host " Gebruik Azure Portal: Identity Protection > User risk policy" -ForegroundColor Gray Write-Host " Of configureer via Microsoft Graph API" -ForegroundColor Gray } } Write-Host "" Write-Host "[INFO] Voor daadwerkelijke configuratie, raadpleeg de Azure Portal of gebruik" -ForegroundColor Yellow Write-Host " Microsoft Graph API met de juiste policy-definities." -ForegroundColor Yellow Write-Host "" Write-Host "Referenties:" -ForegroundColor Cyan Write-Host " • Microsoft Learn: https://learn.microsoft.com/nl-nl/azure/active-directory/identity-protection/" -ForegroundColor Gray Write-Host " • Graph API: https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies" -ForegroundColor Gray } try { Write-Host "" Write-Host "========================================" -ForegroundColor Cyan Write-Host "Identity Protection Policies Enabled" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan if ($Monitoring) { $result = Invoke-Monitoring if ($DebugMode) { return $result } } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "" Write-Host "Geen modus opgegeven. Gebruik een van de volgende opties:" -ForegroundColor Yellow Write-Host " -Monitoring Verifieer of Identity Protection policies daadwerkelijk zijn ingeschakeld." -ForegroundColor Yellow Write-Host " -Remediation Toon herstelacties voor uitgeschakelde policies." -ForegroundColor Yellow Write-Host " -DebugMode Gebruik voorbeelddata voor een veilige lokale test." -ForegroundColor Yellow Write-Host " -WhatIf Toon remediatieacties zonder configuraties te wijzigen." -ForegroundColor Yellow } } catch { Write-Error "Fout in identity-protection-policies-enabled.ps1: $_" throw } finally { Write-Host "" Write-Host "========================================" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
Critical: Critical - zonder actieve Identity Protection policies blijven moderne aanvalsmethoden zoals credential stuffing, password spraying en account takeover grotendeels onopgemerkt, wat kan leiden tot ongeautoriseerde toegang tot gevoelige gegevens, datalekken en niet-naleving van compliance-eisen.

Management Samenvatting

Schakel Identity Protection policies in en verifieer periodiek dat deze actief blijven. Configureer Sign-in Risk policy voor Medium/High risk met MFA-uitdaging en User Risk policy voor High risk met wachtwoordwijziging. Vereist Azure AD Premium P2. Voldoet aan CIS 1.1.9 L2, BIO 16.01, ISO 27001 A.8.16 en NIS2 Artikel 21. Implementatie: 6u technisch + 4u organisatorisch werk.