Windows-Firewall-Konfiguration

Ü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.