Übersicht
Dieser Artikel erläutert die Konfiguration der Windows Defender Firewall (ehemals Windows Firewall) unter Windows Server. Behandelt werden das Design von Profilen (Domäne, Privat, Öffentlich), die Optimierung von Richtlinien für eingehende und ausgehende Verbindungen, die Protokollierung sowie zentrale Verwaltung über GPOs und Skripte.
Variablenreferenz
| Variable | Beispiel | Beschreibung |
|---|---|---|
<<SERVER_NAME>> |
SRV-CORE01 |
Zielservername |
<<LOG_PATH>> |
C:\FirewallLogs\pfirewall.log |
Pfad für Firewall-Protokolle |
<<OU_NAME>> |
Servers |
Name der OU |
Schritt 1: Verständnis und Design der Profile
Die Windows Defender Firewall besteht aus drei Profilen:
| Profil | Zweck | Typische Umgebung |
|---|---|---|
| Domäne | Für Netzwerke, die Mitglied einer AD-Domäne sind | LAN, VPN |
| Privat | Für vertrauenswürdige, unabhängige Netzwerke | Testumgebungen |
| Öffentlich | Für nicht vertrauenswürdige Netzwerke | WLAN, Lab-Systeme |
Zur Überprüfung des aktuellen Profils:
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Schritt 2: Standardrichtlinien konfigurieren
Standardmäßig blockiert die Firewall eingehenden Verkehr und erlaubt ausgehenden.
Diese Standardeinstellung kann angepasst werden:
Set-NetFirewallProfile -Profile Domain,Private,Public `
-DefaultInboundAction Block `
-DefaultOutboundAction Allow `
-NotifyOnListen True
Tipp: In sicherheitskritischen Umgebungen empfiehlt sich
-DefaultOutboundAction Block, kombiniert mit expliziten Ausnahmeregeln (z. B. für DNS, NTP, WSUS).
Schritt 3: Verwaltung von Firewallregeln
Anzeige und Filterung
Get-NetFirewallRule
Get-NetFirewallRule | Where-Object DisplayName -Like "*RDP*"
Get-NetFirewallRule | Where-Object Enabled -eq "True"
Neue Regeln erstellen
# Eingehend RDP (TCP/3389) erlauben
New-NetFirewallRule -DisplayName "Allow RDP (Domain)" `
-Direction Inbound -Protocol TCP -LocalPort 3389 `
-Action Allow -Profile Domain
# Ausgehend NTP (UDP/123) erlauben
New-NetFirewallRule -DisplayName "Allow NTP Outbound" `
-Direction Outbound -Protocol UDP -LocalPort 123 `
-Action Allow -Profile Domain,Private,Public
Parameterübersicht
| Parameter | Beispiel | Beschreibung |
|---|---|---|
-Direction |
Inbound / Outbound |
Kommunikationsrichtung |
-Action |
Allow / Block |
Verhalten bei Übereinstimmung |
-Protocol |
TCP, UDP, ICMPv4, Any |
Protokolltyp |
-LocalPort |
80, 1024-2048 |
Lokale Ports |
-RemoteAddress |
192.168.0.0/24, Any |
Remote-IP oder Netz |
-Program |
C:\App\App.exe |
Anwendungspfad |
-Profile |
Domain,Private |
Gültige Profile |
Beispiel: HTTP nur von bestimmter IP erlauben
New-NetFirewallRule -DisplayName "Allow HTTP from Trusted IP" `
-Direction Inbound -Protocol TCP -LocalPort 80 `
-RemoteAddress 192.168.1.100 `
-Action Allow -Profile Domain,Private
Beispiel: Programmbezogene Regel
New-NetFirewallRule -DisplayName "Allow Outbound for App.exe" `
-Direction Outbound -Program "C:\Program Files\App\App.exe" `
-Action Allow -Profile Domain,Private,Public
Beispiel: Service-bezogene Regel
New-NetFirewallRule -DisplayName "Allow Service XYZ Inbound" `
-Direction Inbound -Service "W32Time" `
-Action Allow -Profile Domain,Private
Beispiel: WLAN-Ausgang blockieren
New-NetFirewallRule -DisplayName "Block Outbound on Wireless" `
-Direction Outbound -InterfaceType Wireless `
-Action Block -Profile Public
Regeln bearbeiten, deaktivieren oder löschen
Disable-NetFirewallRule -DisplayName "Allow RDP (Domain)"
Enable-NetFirewallRule -DisplayName "Allow RDP (Domain)"
Remove-NetFirewallRule -DisplayName "Allow RDP (Domain)"
Export/Import
netsh advfirewall export "C:\Backup\FirewallPolicy.wfw"
netsh advfirewall import "C:\Backup\FirewallPolicy.wfw"
Schritt 4: Protokollierung und Überwachung
Set-NetFirewallProfile -Profile Domain,Private,Public `
-LogAllowed True -LogBlocked True `
-LogFileName "<<LOG_PATH>>" -LogMaxSizeKilobytes 32767
Protokoll live einsehen:
Get-Content "<<LOG_PATH>>" -Tail 20 -Wait
Hinweis: Aktivierte Erlaubnisprotokollierung kann große Logmengen erzeugen. Es empfiehlt sich Rotation und Archivierung.
Schritt 5: Zentrale Verwaltung mit GPO
Neues GPO erstellen und konfigurieren
$gpo = New-GPO -Name "Firewall-Policy-Domain"
Set-GPRegistryValue -Name $gpo.DisplayName `
-Key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" `
-ValueName "EnableLogging" -Type DWord -Value 1
Weitere Werte:
Set-GPRegistryValue -Name $gpo.DisplayName `
-Key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\Logging" `
-ValueName "LogFilePath" -Type String -Value "%systemroot%\system32\logfiles\firewall\pfirewall.log"
GPO mit OU verknüpfen
Import-Module ActiveDirectory
$gpo = Get-GPO -Name "Firewall-Policy-Domain"
$ou = Get-ADOrganizationalUnit -LDAPFilter '(name=<<OU_NAME>>)' |
Select-Object -First 1
New-GPLink -Name $gpo.DisplayName -Target $ou.DistinguishedName -LinkEnabled Yes
Schritt 6: Überprüfung und Fehlersuche
Get-NetFirewallRule | Where-Object Enabled -eq "True" |
Select-Object DisplayName, Direction, Action, Profile
Test-NetConnection -ComputerName <<SERVER_NAME>> -Port 3389
Fazit
Die Windows Defender Firewall bietet robuste Schutzmechanismen für Serverumgebungen. Mit klar definierten Profilen, zentral verwalteten Regeln und aussagekräftiger Protokollierung lässt sich eine zuverlässige und überprüfbare Sicherheitsarchitektur aufbauen. In Verbindung mit GPOs und PowerShell wird eine konsistente, automatisierte Verwaltung über das gesamte Netzwerk hinweg ermöglicht.
