Anti-Phishing Beleidsregels: Geavanceerde Bescherming Tegen Phishing-aanvallen

💼 Management Samenvatting

Anti-phishing beleidsregels vormen de eerste verdedigingslinie tegen geavanceerde phishing-aanvallen die gericht zijn op het stelen van inloggegevens, het compromitteren van accounts en het uitvoeren van business email compromise (BEC) aanvallen. Deze beleidsregels combineren machine learning, spoof intelligence, impersonation detection en mailbox intelligence in een gelaagde verdedigingsstrategie die bescherming biedt tegen zowel bekende als onbekende phishing-technieken.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
20u (tech: 8u)
Van toepassing op:
M365
Exchange Online
Defender voor Office 365
SharePoint
OneDrive
Teams

Phishing-aanvallen zijn de meest voorkomende aanvalsvector voor security breaches, waarbij meer dan 90% van alle succesvolle cyberaanvallen begint met een phishing email. Moderne phishing-aanvallen gebruiken geavanceerde technieken die traditionele spamfilters omzeilen: executive impersonation waarbij aanvallers zich voordoen als directieleden en wire transfers aanvragen (gemiddeld €50.000+ verlies per incident), domain spoofing waarbij fake sender domains worden gebruikt die visueel lijken op legitieme organisaties (bijvoorbeeld microsft.com in plaats van microsoft.com), lookalike domains die gebruikmaken van karaktervervangingen (micros0ft.com met een nul in plaats van de letter O), compromised legitimate accounts die phishing emails versturen vanuit vertrouwde accounts, en credential harvesting via geavanceerde fake login pages die perfect lijken op echte Microsoft 365 inlogpagina's. Zonder adequate anti-phishing bescherming slagen deze aanvallen regelmatig met catastrofale gevolgen: financiële verliezen door wire fraud, account takeovers die leiden tot data breaches, malware distributie via phishing links, en aanzienlijke reputatieschade. Anti-phishing beleidsregels gebruiken geavanceerde machine learning algoritmes, real-time threat intelligence, spoof intelligence die sender authenticatie verifieert, en mailbox intelligence die unusual sender patterns detecteert om deze dreigingen proactief te blokkeren voordat ze gebruikers bereiken.

PowerShell Modules Vereist
Primary API: Exchange Online PowerShell
Connection: Connect-ExchangeOnline
Required Modules: ExchangeOnlineManagement

Implementatie

Anti-phishing beleidsregels configureren een comprehensive set van geïntegreerde beschermingslagen die samenwerken om phishing-aanvallen te detecteren en te blokkeren. De configuratie omvat zes primaire componenten: (1) User Impersonation Protection - configureert bescherming voor specifieke high-value targets zoals executives, finance team, IT admins en andere gevoelige gebruikers waarbij emails die deze gebruikers proberen te impersoneren worden gedetecteerd en geblokkeerd, met configuratie van impersonation sensitivity levels en action modes zoals Quarantine, Move to Junk, of Deliver with warning banner, (2) Domain Impersonation Protection - configureert bescherming voor company domains en vertrouwde partner domains waarbij emails van lookalike of gespoofed domains worden geblokkeerd, met support voor zowel exacte domain matches als fuzzy matching voor lookalike detection, (3) Mailbox Intelligence - activeert machine learning gebaseerde detectie die unusual sender patterns identificeert door email history per gebruiker te analyseren en afwijkingen te detecteren in sender behavior, timing, en content patterns, (4) Spoof Intelligence - configureert detectie van gespoofed internal senders waarbij aanvallers proberen te doen alsof ze van binnen de organisatie komen door SPF, DKIM en DMARC records te verifiëren en afwijkingen te detecteren, (5) Advanced Settings - configureert aanvullende detectie parameters zoals unusual character detection voor lookalike domains met speciale tekens, unusual percentage thresholds voor impersonation detection, en safety tips die visual warnings tonen bij suspicious emails, en (6) Action Configuration - definieert welke acties worden ondernomen bij detected phishing: Quarantine voor high confidence phishing (aanbevolen), Move to Junk voor medium confidence, Deliver with warning banner voor low confidence maar suspicious emails, of Deliver normally voor false positives. Alle beleidsregels worden geconfigureerd via Microsoft 365 Defender portal onder Email & collaboration → Threat policies → Anti-phishing, of via PowerShell met ExchangeOnlineManagement module. De beleidsregels werken samen met andere ATP components zoals Safe Links en Safe Attachments voor comprehensive multi-layer protection.

Vereisten en Voorbereiding

Voor het configureren van comprehensive anti-phishing beleidsregels zijn de volgende voorwaarden en voorbereidingen vereist: Microsoft Defender voor Office 365 Plan 1 of Plan 2 licentie (onderdeel van M365 E5 of standalone licentie) voor toegang tot geavanceerde anti-phishing features zoals mailbox intelligence en spoof intelligence, Exchange Administrator of Security Administrator rol voor policy configuratie en management, PowerShell 5.1+ met ExchangeOnlineManagement module versie 3.0 of hoger voor automation en bulk configuratie, comprehensive security policy documentatie die beschrijft welke protection levels nodig zijn voor verschillende user groups en welke users als priority accounts moeten worden beschermd, priority accounts lijst met identificatie van executives, finance team, IT admins, HR team en andere high-value targets die stricter impersonation protection nodig hebben, domain inventory met overzicht van alle company domains en vertrouwde partner domains die moeten worden beschermd tegen impersonation, user communication plan om gebruikers te informeren over phishing warning banners, quarantined emails, en hoe ze kunnen rapporteren over false positives, security team email adres voor phishing incident notifications en escalaties, testing plan om te valideren dat business-critical emails en legitieme senders niet false positive worden geblokkeerd, incident response procedures voor hoe security team reageert op detected phishing attempts en compromised accounts, quarterly review proces voor evaluatie van policy effectiveness, false positive rates, en emerging threat patterns, en compliance mapping documentatie die beschrijft hoe anti-phishing policies voldoen aan NIS2, ISO 27001, BIO en AVG requirements.

Daarnaast is het essentieel om vooraf een risicoanalyse uit te voeren die identificeert welke gebruikers en processen het meest kwetsbaar zijn voor phishing-aanvallen. Executives en finance teams zijn primaire targets voor business email compromise aanvallen, IT admins zijn targets voor account takeover pogingen, en HR teams ontvangen vaak phishing emails met malware attachments. Deze risicoanalyse vormt de basis voor het definiëren van priority account protection en het instellen van stricter policy settings voor high-risk gebruikers. Ook moet worden bepaald welke domains kritiek zijn voor de organisatie en bescherming nodig hebben tegen impersonation, inclusief zowel primaire company domains als subdomains die worden gebruikt voor externe communicatie.

Implementatie van Anti-Phishing Beleidsregels

Gebruik PowerShell-script anti-phishing-policies.ps1 (functie Invoke-Remediation) – PowerShell script voor automatische configuratie van comprehensive anti-phishing policies met user impersonation protection, domain impersonation protection, mailbox intelligence, spoof intelligence en advanced settings.

Implementatie van anti-phishing beleidsregels via Microsoft 365 Defender portal begint met het navigeren naar security.microsoft.com → Email & collaboration → Threat policies → Anti-phishing. Klik op 'Create' om een nieuwe anti-phishing policy aan te maken met de naam 'Anti-Phishing - Company Wide' of een vergelijkbare beschrijvende naam. Configureer vervolgens de zes primaire beschermingscomponenten:

Stap 1: User Impersonation Protection - In de sectie 'Impersonation protection' klik op 'Edit' en configureer 'Protect specific users'. Voeg alle executives, finance team members, IT admins, HR team en andere high-value targets toe aan de protected users lijst. Stel de 'Impersonation protection action' in op 'Quarantine' voor high confidence phishing (aanbevolen) of 'Move to Junk' voor medium confidence. Configureer 'Mailbox intelligence' door deze optie in te schakelen, wat machine learning gebaseerde detectie activeert die unusual sender patterns identificeert op basis van historische email data per gebruiker. Deze intelligentie detecteert afwijkingen in sender behavior, timing patterns, en content characteristics die wijzen op impersonation pogingen.

Stap 2: Domain Impersonation Protection - In dezelfde sectie configureer 'Protect specific domains' en voeg alle company domains toe die bescherming nodig hebben tegen impersonation. Dit omvat zowel primaire domains (bijvoorbeeld company.nl) als subdomains die worden gebruikt voor externe communicatie. Stel de 'Domain impersonation action' in op 'Quarantine' voor high confidence of 'Move to Junk' voor medium confidence. Deze bescherming detecteert lookalike domains die gebruikmaken van karaktervervangingen (bijvoorbeeld cijfer 0 in plaats van letter O, of cyrillische karakters die visueel identiek zijn aan Latijnse letters) en blokkeert emails van deze domains voordat ze gebruikers bereiken.

Stap 3: Spoof Intelligence - Activeer 'Spoof intelligence' door deze optie in te schakelen. Deze feature verifieert SPF, DKIM en DMARC records voor alle inkomende emails en detecteert wanneer aanvallers proberen te doen alsof ze van binnen de organisatie komen door deze authenticatie records te omzeilen. Spoof intelligence werkt samen met mailbox intelligence om een comprehensive beeld te krijgen van de authenticiteit van de sender. Configureer de 'Spoof action' op 'Quarantine' voor detected spoofing attempts.

Stap 4: Advanced Settings - In de sectie 'Advanced settings' activeer 'Unusual characters' om lookalike domains te detecteren die gebruikmaken van speciale tekens of karaktervervangingen. Stel de 'Unusual percentage of impersonation' threshold in op 30% (aanbevolen) of een andere waarde die past bij de organisatie. Deze threshold bepaalt wanneer een email als impersonation wordt gemarkeerd op basis van het percentage van impersonation indicatoren. Configureer ook 'Safety tips' door deze optie in te schakelen, wat visual warnings toont bij suspicious emails zodat gebruikers alert zijn en kunnen rapporteren over potentiële phishing pogingen.

Stap 5: Action Configuration - In de sectie 'Actions' selecteer de gewenste actie voor detected phishing emails. Voor 'High confidence phishing' selecteer 'Quarantine' (aanbevolen) om deze emails volledig te blokkeren. Voor 'Phishing' selecteer 'Quarantine' of 'Move to Junk' afhankelijk van de gewenste balans tussen security en user experience. Voor 'Spoof' selecteer 'Quarantine' om gespoofed emails te blokkeren. Optioneel kan 'Deliver with warning banner' worden geselecteerd voor low confidence maar suspicious emails, waarbij de email wordt afgeleverd maar met een duidelijke waarschuwing die gebruikers informeert over het potentiële risico.

Stap 6: Policy Assignment - In de sectie 'Applied to' selecteer 'All users' voor company-wide protection, of maak specifieke assignments voor verschillende user groups. Voor priority accounts kan een separate 'Anti-Phishing - Priority Accounts' policy worden gemaakt met stricter settings zoals hogere sensitivity thresholds en altijd Quarantine action. Deze priority policy heeft voorrang over de company-wide policy voor toegewezen gebruikers.

Na configuratie moet de policy worden getest om te valideren dat legitieme emails niet false positive worden geblokkeerd. Verzend test emails van externe senders naar protected users, test impersonation scenarios met safe test domains, en verifieer dat warning banners correct worden getoond. Monitor de quarantined items regelmatig tijdens de eerste weken na implementatie om false positives te identificeren en whitelist entries toe te voegen indien nodig.

Monitoring en Effectiviteit Meting

Gebruik PowerShell-script anti-phishing-policies.ps1 (functie Invoke-Monitoring) – Controleert of anti-phishing policies zijn geconfigureerd en rapporteert status van impersonation protection, domain protection, mailbox intelligence, spoof intelligence en detected phishing attempts.

Continue monitoring van anti-phishing beleidsregels is essentieel om de effectiviteit te meten, false positives te identificeren, en emerging threat patterns te detecteren. Start met het Microsoft 365 Defender portal dashboard onder Email & collaboration → Threat policies → Anti-phishing → Overview, waar een overzicht wordt getoond van alle geconfigureerde policies, detection statistics, en recente phishing attempts. Review quarantined phishing emails regelmatig via Security.microsoft.com → Threat management → Review → Quarantine, filter op 'Phishing' om alle geblokkeerde phishing emails te zien, en analyseer de detection reasons om te begrijpen waarom emails zijn geblokkeerd (impersonation, spoofing, mailbox intelligence, etc.).

Gebruik Threat Explorer voor gedetailleerde analyse van phishing attempts: Navigate naar Security.microsoft.com → Threat Explorer, filter op 'Phishing' of 'Impersonation' om alle detected phishing attempts te zien, analyseer sender patterns om trends te identificeren (bijvoorbeeld welke domains worden geïmiteerd, welke executives worden geïmpersoneerd), review click-through rates om te zien hoeveel gebruikers phishing links proberen te openen ondanks warnings, en exporteer data voor trendanalyse over meerdere maanden. Monitor mailbox intelligence alerts via Security.microsoft.com → Email & collaboration → Threat policies → Anti-phishing → Mailbox intelligence, waar unusual sender patterns worden getoond die wijzen op potentiële compromised accounts of impersonation pogingen.

Analyseer spoof intelligence detections via Security.microsoft.com → Email & collaboration → Threat policies → Anti-phishing → Spoof intelligence, waar detected spoofed senders worden getoond met details over welke SPF, DKIM of DMARC checks zijn gefaald. Review false positives regelmatig door quarantined items te analyseren en te identificeren welke legitieme senders false positive zijn gemarkeerd. Voeg deze senders toe aan allowed senders lijst of adjust policy thresholds indien nodig. Meet policy effectiveness door detection rates te tracken: aantal detected phishing attempts per maand, percentage van phishing emails die worden geblokkeerd voordat ze gebruikers bereiken, aantal false positives en impact op business operations, en user click-through rates op phishing links (lager is beter).

Voer quarterly reviews uit waarbij policy effectiveness wordt geëvalueerd, policy settings worden getuned op basis van threat landscape changes, priority account protection wordt gecontroleerd om te verifiëren dat executives adequate protection hebben, en threat intelligence wordt geüpdatet met nieuwe phishing patterns en techniques. Document alle bevindingen in een anti-phishing effectiveness rapport dat wordt gedeeld met security team, management en compliance officers.

Remediatie en Troubleshooting

Gebruik PowerShell-script anti-phishing-policies.ps1 (functie Invoke-Remediation) – Herstelt ontbrekende anti-phishing policies of configureert comprehensive anti-phishing protection volgens best practices.

Voor problemen met anti-phishing beleidsregels zijn verschillende remediatiestrategieën beschikbaar. Bij ontbrekende anti-phishing policies moet eerst worden geïdentificeerd welke policies ontbreken via het monitoring script, waarna ontbrekende policies worden geconfigureerd via de portal of PowerShell script. Verifieer policy assignments om te zorgen dat alle users correcte anti-phishing policies hebben toegewezen, en test policies na configuratie om te valideren dat protection werkt zoals verwacht.

Bij false positive blocking moeten quarantined items worden gereviewd om legitieme emails te identificeren die false positive zijn geblokkeerd. Voeg legitieme senders toe aan allowed senders lijst in de anti-phishing policy, of adjust policy thresholds door sensitivity levels te verlagen indien te veel false positives optreden. Create policy exceptions voor business-critical senders die regelmatig false positive zijn, en document false positives in een log voor policy tuning en trendanalyse.

Voor insufficient protection moet de detection effectiveness worden geanalyseerd om gaps te identificeren. Enable additional protection features zoals real-time URL scanning in Safe Links, upgrade naar stricter policies door van Move to Junk naar Quarantine te switchen voor betere security, implement priority account protection met stricter policies voor executives, en review mailbox intelligence settings om te zorgen dat unusual sender patterns correct worden gedetecteerd. Bij policy conflicts moeten overlapping policies worden geïdentificeerd en conflicts worden opgelost door policy priority te bepalen en policy hierarchy te documenteren.

Compliance en Framework Mapping

Anti-phishing beleidsregels vormen een critical component van email security en zijn essentieel voor compliance met verschillende security frameworks. CIS Microsoft 365 Foundations Benchmark - control 2.4 (Zorg ervoor dat Anti-Phishing policy is geconfigureerd met impersonation protection), control 2.5 (Mailbox intelligence is ingeschakeld), en control 2.6 (Spoof intelligence is ingeschakeld). BIO Baseline Informatiebeveiliging Overheid - Thema 13.02.03 (Phishing bescherming - Impersonation detection, spoof intelligence en mailbox intelligence), Thema 13.02.01 (Email beveiligingscontroles - Multi-layer phishing protection), en Thema 12.05 (Identity management - Bescherming tegen credential harvesting). ISO 27001:2022 A.8.16 (Security event monitoring - Phishing threat detection en response), A.13.2.1 (Information transfer beleidsregels - Email security controls tegen phishing), en A.7.4 (Human resource security - User awareness en phishing training). NIS2 Artikel 21 (Cybersecurity risicobeheer - Threat detection en prevention maatregelen tegen phishing) en Artikel 23 (Incident response - Phishing detection capabilities). AVG Artikel 32 (Beveiliging van verwerking - Bescherming tegen phishing die kan leiden tot data breaches). Anti-phishing policies moeten worden behandeld als critical security controls die regelmatig worden gereviewd, getest en geüpdatet op basis van emerging phishing threats. Alle policy wijzigingen moeten worden gelogd voor audit doeleinden en policy effectiveness moet worden gemeten via phishing detection rates, false positive rates, en user click-through rates.

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 Anti-Phishing Policies: Geavanceerde Bescherming tegen Phishing-aanvallen .DESCRIPTION Configureert comprehensive anti-phishing policies in Microsoft Defender voor Office 365 inclusief user impersonation protection, domain impersonation protection, mailbox intelligence, spoof intelligence en advanced settings voor lookalike domain detection. Implementeert een gelaagde verdedigingsstrategie tegen phishing-aanvallen. .NOTES Filename: anti-phishing-policies.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-15 Last Modified: 2025-01-15 Version: 1.0 Related JSON: content/m365/defender-email/anti-phishing-policies.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\anti-phishing-policies.ps1 -Monitoring Controleert of alle anti-phishing policies zijn geconfigureerd .EXAMPLE .\anti-phishing-policies.ps1 -Remediation Configureert comprehensive anti-phishing policies volgens best practices #> #Requires -Version 5.1 #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param( [Parameter()] [switch]$WhatIf, [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Connect-RequiredServices { <# .SYNOPSIS Verbindt met benodigde Microsoft services #> [CmdletBinding()] param() Write-Verbose "Verbinding maken met Exchange Online..." try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop Write-Verbose "Verbonden met Exchange Online" } catch { Write-Error "Kon niet verbinden met Exchange Online: $_" throw } } function Test-AntiPhishingPolicies { <# .SYNOPSIS Test of anti-phishing policies correct zijn geconfigureerd .OUTPUTS PSCustomObject met compliance resultaten #> [CmdletBinding()] param() Write-Verbose "Controleren van anti-phishing policies..." try { $policies = Get-AntiPhishPolicy -ErrorAction Stop $rules = Get-AntiPhishRule -ErrorAction Stop $results = @{ IsCompliant = $false TotalPolicies = $policies.Count EnabledPolicies = 0 PoliciesWithUserProtection = 0 PoliciesWithDomainProtection = 0 PoliciesWithMailboxIntelligence = 0 PoliciesWithSpoofIntelligence = 0 PoliciesWithAdvancedSettings = 0 PolicyDetails = @() MissingFeatures = @() } if ($policies.Count -eq 0) { Write-Host " ❌ Geen anti-phishing policies gevonden" -ForegroundColor Red $results.MissingFeatures += "Geen anti-phishing policies geconfigureerd" return $results } Write-Host "`n Anti-Phishing Policies:" -ForegroundColor Cyan foreach ($policy in $policies) { $policyInfo = @{ Name = $policy.Identity Enabled = $policy.Enabled UserProtection = $policy.EnableTargetedUserProtection DomainProtection = $policy.EnableTargetedDomainsProtection OrganizationDomainProtection = $policy.EnableOrganizationDomainsProtection MailboxIntelligence = $policy.EnableMailboxIntelligenceProtection SpoofIntelligence = $policy.EnableSpoofIntelligence SimilarUsersSafetyTips = $policy.EnableSimilarUsersSafetyTips SimilarDomainsSafetyTips = $policy.EnableSimilarDomainsSafetyTips UnusualCharactersSafetyTips = $policy.EnableUnusualCharactersSafetyTips PhishThresholdLevel = $policy.PhishThresholdLevel ActionForHighConfidencePhishing = $policy.HighConfidencePhishAction ActionForPhishing = $policy.PhishAction ActionForSpoof = $policy.SpoofAction } if ($policy.Enabled) { $results.EnabledPolicies++ Write-Host " ✅ ENABLED: $($policy.Identity)" -ForegroundColor Green if ($policy.EnableTargetedUserProtection) { $results.PoliciesWithUserProtection++ Write-Host " User Impersonation Protection: ✅" -ForegroundColor Green } else { Write-Host " User Impersonation Protection: ❌" -ForegroundColor Red $results.MissingFeatures += "User impersonation protection niet ingeschakeld in $($policy.Identity)" } if ($policy.EnableTargetedDomainsProtection -or $policy.EnableOrganizationDomainsProtection) { $results.PoliciesWithDomainProtection++ Write-Host " Domain Impersonation Protection: ✅" -ForegroundColor Green } else { Write-Host " Domain Impersonation Protection: ❌" -ForegroundColor Red $results.MissingFeatures += "Domain impersonation protection niet ingeschakeld in $($policy.Identity)" } if ($policy.EnableMailboxIntelligenceProtection) { $results.PoliciesWithMailboxIntelligence++ Write-Host " Mailbox Intelligence: ✅" -ForegroundColor Green } else { Write-Host " Mailbox Intelligence: ❌" -ForegroundColor Red $results.MissingFeatures += "Mailbox intelligence niet ingeschakeld in $($policy.Identity)" } if ($policy.EnableSpoofIntelligence) { $results.PoliciesWithSpoofIntelligence++ Write-Host " Spoof Intelligence: ✅" -ForegroundColor Green } else { Write-Host " Spoof Intelligence: ❌" -ForegroundColor Red $results.MissingFeatures += "Spoof intelligence niet ingeschakeld in $($policy.Identity)" } if ($policy.EnableSimilarUsersSafetyTips -or $policy.EnableSimilarDomainsSafetyTips -or $policy.EnableUnusualCharactersSafetyTips) { $results.PoliciesWithAdvancedSettings++ Write-Host " Advanced Settings (Safety Tips): ✅" -ForegroundColor Green } else { Write-Host " Advanced Settings (Safety Tips): ❌" -ForegroundColor Yellow } Write-Host " Phish Threshold Level: $($policy.PhishThresholdLevel)" -ForegroundColor Gray Write-Host " High Confidence Phishing Action: $($policy.HighConfidencePhishAction)" -ForegroundColor Gray Write-Host " Phishing Action: $($policy.PhishAction)" -ForegroundColor Gray Write-Host " Spoof Action: $($policy.SpoofAction)" -ForegroundColor Gray } else { Write-Host " ⚠️ DISABLED: $($policy.Identity)" -ForegroundColor Yellow $results.MissingFeatures += "Policy $($policy.Identity) is uitgeschakeld" } $results.PolicyDetails += $policyInfo } # Check policy assignments Write-Host "`n Policy Assignments:" -ForegroundColor Cyan foreach ($rule in $rules) { if ($rule.Enabled) { Write-Host " ✅ Rule: $($rule.Identity) -> Policy: $($rule.AntiPhishPolicy)" -ForegroundColor Green } else { Write-Host " ⚠️ Rule: $($rule.Identity) (DISABLED)" -ForegroundColor Yellow } } # Determine compliance $hasRequiredFeatures = ($results.PoliciesWithUserProtection -gt 0) -and ($results.PoliciesWithDomainProtection -gt 0) -and ($results.PoliciesWithMailboxIntelligence -gt 0) -and ($results.PoliciesWithSpoofIntelligence -gt 0) -and ($results.EnabledPolicies -gt 0) $results.IsCompliant = $hasRequiredFeatures return $results } catch { Write-Error "Fout bij controleren van anti-phishing policies: $_" throw } } function Invoke-Monitoring { <# .SYNOPSIS Monitort de compliance status van anti-phishing policies #> [CmdletBinding()] param() Write-Host "`nMonitoring: Anti-Phishing Policies" -ForegroundColor Yellow Write-Host "====================================" -ForegroundColor Yellow $result = Test-AntiPhishingPolicies Write-Host "`nResultaten:" -ForegroundColor Cyan Write-Host " Totaal policies: $($result.TotalPolicies)" -ForegroundColor Cyan Write-Host " Ingeschakelde policies: $($result.EnabledPolicies)" -ForegroundColor Cyan Write-Host " Policies met User Protection: $($result.PoliciesWithUserProtection)" -ForegroundColor $(if ($result.PoliciesWithUserProtection -gt 0) { "Green" } else { "Red" }) Write-Host " Policies met Domain Protection: $($result.PoliciesWithDomainProtection)" -ForegroundColor $(if ($result.PoliciesWithDomainProtection -gt 0) { "Green" } else { "Red" }) Write-Host " Policies met Mailbox Intelligence: $($result.PoliciesWithMailboxIntelligence)" -ForegroundColor $(if ($result.PoliciesWithMailboxIntelligence -gt 0) { "Green" } else { "Red" }) Write-Host " Policies met Spoof Intelligence: $($result.PoliciesWithSpoofIntelligence)" -ForegroundColor $(if ($result.PoliciesWithSpoofIntelligence -gt 0) { "Green" } else { "Red" }) Write-Host " Policies met Advanced Settings: $($result.PoliciesWithAdvancedSettings)" -ForegroundColor $(if ($result.PoliciesWithAdvancedSettings -gt 0) { "Green" } else { "Yellow" }) if ($result.MissingFeatures.Count -gt 0) { Write-Host "`n Ontbrekende features:" -ForegroundColor Red foreach ($feature in $result.MissingFeatures) { Write-Host " - $feature" -ForegroundColor Red } } if ($result.IsCompliant) { Write-Host "`n✅ COMPLIANT - Alle anti-phishing policies zijn correct geconfigureerd" -ForegroundColor Green exit 0 } else { Write-Host "`n❌ NON-COMPLIANT - Actie vereist voor ontbrekende of onjuist geconfigureerde policies" -ForegroundColor Red Write-Host " Gebruik -Remediation om policies te configureren volgens best practices" -ForegroundColor Yellow exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Configureert comprehensive anti-phishing policies volgens best practices #> [CmdletBinding()] param() Write-Host "`nRemediatie: Anti-Phishing Policies Configureren" -ForegroundColor Yellow Write-Host "=================================================" -ForegroundColor Yellow try { Connect-RequiredServices Write-Host "`nConfigureren van anti-phishing policies..." -ForegroundColor Cyan # Check if policy already exists $existingPolicy = Get-AntiPhishPolicy -Identity "Anti-Phishing - Company Wide" -ErrorAction SilentlyContinue if ($existingPolicy) { Write-Host " Policy 'Anti-Phishing - Company Wide' bestaat al" -ForegroundColor Yellow Write-Host " Updaten van bestaande policy..." -ForegroundColor Gray if ($WhatIf) { Write-Host " [WhatIf] Zou policy updaten met comprehensive settings" -ForegroundColor Yellow } else { Set-AntiPhishPolicy -Identity "Anti-Phishing - Company Wide" ` -EnableTargetedUserProtection $true ` -EnableTargetedDomainsProtection $true ` -EnableOrganizationDomainsProtection $true ` -EnableMailboxIntelligence $true ` -EnableMailboxIntelligenceProtection $true ` -EnableSpoofIntelligence $true ` -EnableSimilarUsersSafetyTips $true ` -EnableSimilarDomainsSafetyTips $true ` -EnableUnusualCharactersSafetyTips $true ` -PhishThresholdLevel 2 ` -HighConfidencePhishAction Quarantine ` -PhishAction Quarantine ` -SpoofAction Quarantine ` -Enable $true ` -ErrorAction Stop Write-Host " ✅ Policy bijgewerkt" -ForegroundColor Green } } else { Write-Host " Aanmaken van nieuwe policy 'Anti-Phishing - Company Wide'..." -ForegroundColor Gray if ($WhatIf) { Write-Host " [WhatIf] Zou nieuwe policy aanmaken met comprehensive settings" -ForegroundColor Yellow } else { $policy = New-AntiPhishPolicy -Name "Anti-Phishing - Company Wide" ` -EnableTargetedUserProtection $true ` -EnableTargetedDomainsProtection $true ` -EnableOrganizationDomainsProtection $true ` -EnableMailboxIntelligence $true ` -EnableMailboxIntelligenceProtection $true ` -EnableSpoofIntelligence $true ` -EnableSimilarUsersSafetyTips $true ` -EnableSimilarDomainsSafetyTips $true ` -EnableUnusualCharactersSafetyTips $true ` -PhishThresholdLevel 2 ` -HighConfidencePhishAction Quarantine ` -PhishAction Quarantine ` -SpoofAction Quarantine ` -Enable $true ` -ErrorAction Stop Write-Host " ✅ Policy aangemaakt" -ForegroundColor Green # Create corresponding rule Write-Host " Aanmaken van policy rule..." -ForegroundColor Gray $domains = Get-AcceptedDomain -ErrorAction SilentlyContinue $domainList = $domains | Select-Object -ExpandProperty Name $rule = New-AntiPhishRule -Name "Anti-Phishing - Company Wide Rule" ` -AntiPhishPolicy "Anti-Phishing - Company Wide" ` -RecipientDomainIs $domainList ` -Priority 0 ` -Enabled $true ` -ErrorAction Stop Write-Host " ✅ Rule aangemaakt" -ForegroundColor Green } } Write-Host "`n Configuratie instructies:" -ForegroundColor Cyan Write-Host " 1. Voeg priority accounts toe via Security portal:" -ForegroundColor Yellow Write-Host " Security.microsoft.com > Email & collaboration > Threat policies > Anti-phishing" -ForegroundColor Gray Write-Host " > Edit policy > Impersonation protection > Protect specific users" -ForegroundColor Gray Write-Host " 2. Voeg protected domains toe:" -ForegroundColor Yellow Write-Host " > Protect specific domains > Add company domains" -ForegroundColor Gray Write-Host " 3. Test policies met test emails om false positives te voorkomen" -ForegroundColor Yellow Write-Host " 4. Monitor quarantined items regelmatig" -ForegroundColor Yellow Write-Host "`n✅ Anti-phishing policies geconfigureerd" -ForegroundColor Green Write-Host " Let op: Voeg priority accounts en protected domains handmatig toe via Security portal" -ForegroundColor Yellow exit 0 } catch { Write-Error "Fout bij configureren van anti-phishing policies: $_" Write-Host " Handmatige configuratie: Security Admin Center > Threat policies > Anti-phishing" -ForegroundColor Yellow exit 2 } } # ============================================================================ # MAIN EXECUTION # ============================================================================ try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Anti-Phishing Policies" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan # Execute based on parameters if ($Monitoring) { Connect-RequiredServices Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { # Default: Compliance check Connect-RequiredServices $result = Test-AntiPhishingPolicies if ($result.IsCompliant) { Write-Host "`n✅ COMPLIANT" -ForegroundColor Green } else { Write-Host "`n❌ NON-COMPLIANT" -ForegroundColor Red Write-Host "`nRun met -Monitoring voor gedetailleerde rapportage" -ForegroundColor Yellow Write-Host "Run met -Remediation om policies te configureren" -ForegroundColor Yellow } return $result } } catch { Write-Error "Error: $_" throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder anti-phishing beleidsregels zijn organisaties kwetsbaar voor business email compromise aanvallen, credential harvesting, account takeovers en malware distributie. Phishing is de nummer één aanvalsvector met 90%+ van security breaches die beginnen met een phishing email. Zonder adequate bescherming slagen deze aanvallen regelmatig met catastrofale gevolgen: financiële verliezen, data breaches, en reputatieschade.

Management Samenvatting

Configureer comprehensive anti-phishing policies met user impersonation protection, domain impersonation protection, mailbox intelligence (ML-based unusual sender detection), spoof intelligence (SPF/DKIM/DMARC verificatie), en advanced settings voor lookalike domain detection. Implementeer multi-layer defense strategie. Voldoet aan CIS 2.4-2.6 (L1), BIO 13.02.03, ISO 27001 A.8.16/A.13.2.1, NIS2, AVG Artikel 32. Implementatie: 8 uur technisch + 12 uur voor governance, testing en documentatie. CRITICAL voor phishing protection.