Introduction
Sécuriser Windows est un challenge et une nécessité. Pour un ordinateur personnel il est malheureusement rare de voir des configurations d’endurcissement avancées implémentées, qui sont devenues pourtant de réelles nécessités. On décrit plus bas un exemple d’automatisation de sécurisations (partie MS Defender, via script Powershell). Ce type de script est réutilisable pour de nombreuses applications.
Mise en place
On va activer deux options d’intérêt de Microsoft Defender via script Powershell :
- AllowDatagramProcessingOnWinServer (Spécifie s’il faut activer l’inspection des connexions UDP sous Windows)
- AllowNetworkProtectionOnWinServer (Spécifie s’il faut autoriser la protection du réseau à être définie sur Activé ou sur Mode Audit)
(1) Etape de prérequis : on vérifie de disposer des privilèges admin:
function Test-AdminPriv {
# Check if running with administrative privileges
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Warning "This function requires administrative privileges. Please run PowerShell as an administrator."
exit 1
}
}
(2) on vérifie la configuration préalable:
function Test-Get-MpPreference-AllowDatagramProcessingOnWinServer{ # Get Windows Defender preferences $mpPreference = Get-MpPreference # Check if the AllowDatagramProcessingOnWinServer option is enabled if ($mpPreference.AllowDatagramProcessingOnWinServer -eq 1) { Write-Host "Get-MpPreference : AllowDatagramProcessingOnWinServer option is currently enabled in Windows Defender." } else { Write-Host "Get-MpPreference : AllowDatagramProcessingOnWinServer option is currently disabled in Windows Defender." } }
(3)Finalement, on met en place la configuration via -MpPreference et active les fonctions :
function Set-MpPreference-AllowDatagramProcessingOnWinServer{ try { # Set Windows Defender preference Set-MpPreference -EnableNetworkProtection Enabled Write-Host "Set-MpPreference : EnableNetworkProtection Enabled" Set-MpPreference -AllowDatagramProcessingOnWinServer $true $real_status = (Get-MpPreference).AllowDatagramProcessingOnWinServer Write-Host "Set-MpPreference : AllowDatagramProcessingOnWinServer option set to $real_status in Windows Defender." } catch { Write-Error "Set-MpPreference : Failed to set AllowDatagramProcessingOnWinServer option to $true in Windows Defender. Error: $_" } } Test-AdminPriv Test-Get-MpPreference-AllowDatagramProcessingOnWinServer Set-MpPreference-AllowDatagramProcessingOnWinServer
Nota : on répétera le processus avec l’option AllowNetworkProtectionOnWinServer