Connection Filter Safe List

πŸ’Ό 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 connection filter safe list via Microsoft Intune apparaat configuratie beleid of compliance policies om Windows endpoints te beveiligen volgens security best practices.

Vereisten

m365

Implementatie

Gebruik PowerShell-script connection-filter-safe-list.ps1 (functie Invoke-Monitoring) – Monitoren.

monitoring

Gebruik PowerShell-script connection-filter-safe-list.ps1 (functie Invoke-Monitoring) – Controleren.

Remediatie

Gebruik PowerShell-script connection-filter-safe-list.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 Connection Filter Safe List Review .DESCRIPTION Ensures the "Safe List" feature is disabled in connection filter. Safe List allows subscribed mailing lists to bypass filtering - security risk. .NOTES Filename: connection-filter-safe-list.ps1 Author: Nederlandse Baseline voor Veilige Cloud .EXAMPLE .\connection-filter-safe-list.ps1 -Monitoring Check if safe list is disabled #> #Requires -Version 5.1 #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param( [Parameter(Mandatory = $false)] [switch]$Monitoring, [Parameter(Mandatory = $false)] [switch]$Remediation, [Parameter(Mandatory = $false)] [switch]$Revert, [switch]$WhatIf ) $ErrorActionPreference = 'Stop' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Connection Filter Safe List" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Invoke-Monitoring { try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop Write-Host "Checking connection filter safe list..." -ForegroundColor Gray $policy = Get-HostedConnectionFilterPolicy -ErrorAction Stop $safeListEnabled = $policy.EnableSafeList if ($safeListEnabled) { Write-Host " [FAIL] SAFE LIST: ENABLED (Security Risk!)" -ForegroundColor Red Write-Host " Known senders bypass ALL filtering" -ForegroundColor Red Write-Host "`n[FAIL] NON-COMPLIANT" -ForegroundColor Red exit 1 } else { Write-Host " [OK] SAFE LIST: DISABLED (Secure)" -ForegroundColor Green Write-Host "`n[OK] COMPLIANT" -ForegroundColor Green exit 0 } } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red exit 2 } } function Invoke-Remediation { try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop $policy = Get-HostedConnectionFilterPolicy if (-not $policy.EnableSafeList) { Write-Host " [OK] Safe list already disabled" -ForegroundColor Green exit 0 } Write-Host "Disabling safe list..." -ForegroundColor Gray Set-HostedConnectionFilterPolicy -Identity $policy.Name -EnableSafeList $false -ErrorAction Stop Write-Host "`n[OK] Safe list disabled" -ForegroundColor Green Write-Host "All mail now subject to proper filtering" -ForegroundColor Cyan exit 0 } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red exit 2 } } function Invoke-Revert { try { Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop $policy = Get-HostedConnectionFilterPolicy Set-HostedConnectionFilterPolicy -Identity $policy.Name -EnableSafeList $true -ErrorAction Stop Write-Host " ⚠️ Safe list enabled" -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.