Zero Hour Auto Purge Teams

πŸ’Ό Management Samenvatting

Deze security regelen waarborgt de correcte configuratie van beveiligingsinstellingen op Windows endpoints.

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

Deze instelling is onderdeel van de Windows security baseline en beschermt tegen bekende aanvalsvectoren door het afdwingen van veilige configuraties.

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

Implementatie

Dit regelen configureert nul hour auto purge teams via Microsoft Intune apparaat configuratie beleid of compliance policies om Windows endpoints te beveiligen volgens security best practices.

Vereisten

m365

Implementatie

Gebruik PowerShell-script zero-hour-auto-purge-teams.ps1 (functie Invoke-Monitoring) – Monitoren.

monitoring

Gebruik PowerShell-script zero-hour-auto-purge-teams.ps1 (functie Invoke-Monitoring) – Controleren.

Remediatie

Gebruik PowerShell-script zero-hour-auto-purge-teams.ps1 (functie Invoke-Remediation) – Herstellen.

Compliance en Auditing

Beleid documentatie

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 Zero-Hour Auto Purge (ZAP) .DESCRIPTION Enables ZAP to automatically remove malicious emails post-delivery .NOTES NL Baseline v2.0 #> #Requires -Version 5.1 #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param([switch]$Monitoring, [switch]$Remediation, [switch]$Revert, [switch]$WhatIf) $ErrorActionPreference = 'Stop' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Zero-Hour Auto Purge (ZAP)" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Invoke-Monitoring { try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop $policies = Get-HostedContentFilterPolicy -ErrorAction Stop $result = @{ total = $policies.Count; zapEnabled = 0; zapDisabled = 0 } foreach ($policy in $policies) { $zapEnabled = $policy.ZapEnabled if ($zapEnabled) { $result.zapEnabled++ Write-Host " [OK] ZAP ENABLED: $($policy.Name)" -ForegroundColor Green } else { $result.zapDisabled++ Write-Host " [FAIL] ZAP DISABLED: $($policy.Name)" -ForegroundColor Red } } Write-Host "`n Summary: $($result.zapEnabled)/$($result.total) policies enabled" -ForegroundColor Cyan Write-Host "`n ZAP Functionality:" -ForegroundColor Cyan Write-Host " β€’ Removes phishing emails after delivery" -ForegroundColor Gray Write-Host " β€’ Removes malware after delivery" -ForegroundColor Gray Write-Host " β€’ Moves to Junk/Quarantine automatically" -ForegroundColor Gray if ($result.zapDisabled -eq 0) { Write-Host "`n[OK] COMPLIANT - ZAP enabled on all policies" -ForegroundColor Green exit 0 } else { Write-Host "`n[FAIL] NON-COMPLIANT - Some policies without ZAP!" -ForegroundColor Red exit 1 } } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } function Invoke-Remediation { try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop $policies = Get-HostedContentFilterPolicy | Where-Object { -not $_.ZapEnabled } if ($policies.Count -eq 0) { Write-Host " [OK] ZAP already enabled on all policies" -ForegroundColor Green exit 0 } foreach ($policy in $policies) { Set-HostedContentFilterPolicy -Identity $policy.Name -ZapEnabled $true -ErrorAction Stop Write-Host " [OK] Enabled ZAP for: $($policy.Name)" -ForegroundColor Green } Write-Host "`n[OK] ZAP enabled on $($policies.Count) policies" -ForegroundColor Green exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } function Invoke-Revert { try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop $policies = Get-HostedContentFilterPolicy | Where-Object { $_.ZapEnabled } foreach ($policy in $policies) { Set-HostedContentFilterPolicy -Identity $policy.Name -ZapEnabled $false -ErrorAction Stop Write-Host " ⚠️ Disabled ZAP for: $($policy.Name)" -ForegroundColor Yellow } exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Use: -Monitoring | -Remediation | -Revert" -ForegroundColor Yellow } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: No auth tracking.

Management Samenvatting

Schakel in audit logging.