Zum Inhalt springen
sw
en

Tippe um zu suchen

IT-Security (Business)

Windows Firewall – Konfiguration & Verwaltung

Windows Defender Firewall verstehen, Regeln per GUI und PowerShell verwalten, Profile richtig einsetzen und Firewall-Logs auswerten.

8 Min Lesezeit Fortgeschritten Zuletzt aktualisiert:

Warum die Windows Firewall mehr kann als du denkst

Die Windows Defender Firewall ist in jedem Windows-Client und -Server eingebaut – und wird trotzdem oft unterschätzt. In der Praxis sieht man häufig zwei Extreme: Entweder läuft sie unkonfiguriert auf Standardeinstellungen, oder sie wird für eine Drittanbieter-Lösung komplett deaktiviert. Beides ist suboptimal.

Dabei ist die Windows Firewall ein vollwertiger stateful Packet Filter, der auf dem Endpoint direkt agiert – also genau dort, wo du Angreifern den letzten Riegel vorschieben kannst. Selbst wenn ein Angreifer es ins interne Netzwerk schafft (z. B. über ein kompromittiertes Gerät), verhindert eine gut konfigurierte Endpoint-Firewall die laterale Ausbreitung.

Für den IT-Alltag im KMU bedeutet das: verstehen, wie Profile funktionieren, kritische Ports gezielt freigeben, unnötige Regeln aufräumen und Logs im Blick behalten.

Die drei Netzwerkprofile

Windows entscheidet automatisch, welches Profil aktiv ist – basierend darauf, ob der PC in einer Domäne eingebunden ist und ob das Netzwerk als vertrauenswürdig eingestuft wird.

ProfilWann aktivTypische Restriktion
DomänePC ist in einer AD-Domäne eingebunden und kann den DC erreichenModerat – Vertrauen in Domäneninfrastruktur
PrivatManuell als “privat/heimisch” markiertes NetzwerkModerat – Netzwerk gilt als vertrauenswürdig
ÖffentlichUnbekanntes Netzwerk (z. B. Hotel-WLAN, Hotspot)Restriktiv – blockiert standardmässig eingehende Verbindungen

Mehrere Netzwerkadapter können gleichzeitig aktiv sein und verschiedene Profile tragen. Ein Laptop kann also gleichzeitig “Domäne” (LAN-Kabel) und “Öffentlich” (WLAN) haben.

Firewall öffnen – welches Tool wann

Es gibt drei Wege, die Windows Firewall zu öffnen:

# Einfache Oberfläche (nur An/Aus + Ausnahmen)
firewall.cpl

# Erweiterte Konsole mit allen Regeln
wf.msc

# Direkt aus dem Run-Dialog
# Win + R, dann einen der obigen Befehle

Für den Alltag wirst du hauptsächlich wf.msc verwenden – das ist die Windows Defender Firewall mit erweiterter Sicherheit. Dort siehst du alle eingehenden und ausgehenden Regeln, kannst sie nach Profil filtern und neue erstellen.

Die einfache firewall.cpl ist für Enduser gedacht und zeigt nur grob, ob die Firewall aktiv ist und welche Apps Ausnahmen haben.

Regeln per PowerShell verwalten

Für Skripte, Remote-Verwaltung und Dokumentation ist PowerShell der bessere Weg. Das Modul NetSecurity ist standardmässig verfügbar.

Firewall global aktivieren/deaktivieren

# Alle Profile aktivieren (Standardzustand)
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

# Alle Profile deaktivieren (nur in absoluten Ausnahmefällen!)
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

Eingehende Regel erstellen (Port öffnen)

# RDP-Zugriff nur im Domänenprofil erlauben
New-NetFirewallRule `
  -DisplayName "RDP eingehend (Domäne)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 3389 `
  -Action Allow `
  -Profile Domain

# Webserver-Port für alle Profile
New-NetFirewallRule `
  -DisplayName "HTTP eingehend" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 80 `
  -Action Allow `
  -Profile Domain,Private,Public

Ausgehende Regel erstellen

Ausgehende Regeln werden oft vergessen – standardmässig ist alles ausgehend erlaubt. In sicherheitskritischen Umgebungen kann man ausgehenden Traffic einschränken:

# HTTPS ausgehend erlauben (bei restriktivem Outbound-Default)
New-NetFirewallRule `
  -DisplayName "HTTPS ausgehend" `
  -Direction Outbound `
  -Protocol TCP `
  -RemotePort 443 `
  -Action Allow

# Applikation sperren (z.B. unerwünschtes Programm)
New-NetFirewallRule `
  -DisplayName "Blockiere FooApp ausgehend" `
  -Direction Outbound `
  -Program "C:\Program Files\FooApp\foo.exe" `
  -Action Block

Regeln abfragen und auflisten

# Alle aktiven Regeln anzeigen
Get-NetFirewallRule | Where-Object { $_.Enabled -eq "True" } |
  Select-Object DisplayName, Direction, Action, Profile |
  Sort-Object Direction

# Regel nach Name suchen
Get-NetFirewallRule -DisplayName "*RDP*"

# Alle Regeln auf einem bestimmten Port finden
Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 3389 } |
  Get-NetFirewallRule |
  Select-Object DisplayName, Direction, Action, Enabled

Regeln ändern, deaktivieren und löschen

# Regel deaktivieren (bleibt erhalten, greift aber nicht mehr)
Disable-NetFirewallRule -DisplayName "RDP eingehend (Domäne)"

# Regel wieder aktivieren
Enable-NetFirewallRule -DisplayName "RDP eingehend (Domäne)"

# Regel dauerhaft löschen
Remove-NetFirewallRule -DisplayName "RDP eingehend (Domäne)"

# Remote-IP-Adresse einer Regel anpassen
Set-NetFirewallRule -DisplayName "Allow Web 80" -RemoteAddress 192.168.10.0/24

Firewall auf Remotecomputer verwalten

# Regeln eines Remotecomputers abfragen (WinRM muss aktiv sein)
Get-NetFirewallRule -CimSession RemotePC01

# Regel auf Remotecomputer löschen
$session = New-CimSession -ComputerName RemotePC01
Remove-NetFirewallRule -DisplayName "Alte Testregel" -CimSession $session -Confirm

Regeln über GPO verteilen

Im KMU-Umfeld mit Active Directory ist GPO der richtige Weg, Firewall-Regeln an viele Maschinen auszurollen – anstatt auf jedem PC einzeln.

Pfad in der Gruppenrichtlinie: Computerkonfiguration → Richtlinien → Windows-Einstellungen → Sicherheitseinstellungen → Windows-Firewall mit erweiterter Sicherheit

Dort kannst du Regeln direkt in der vertrauten wf.msc-Oberfläche erstellen – nur eben im GPO-Kontext. Sie werden dann beim nächsten gpupdate an alle betroffenen Maschinen verteilt.

Per PowerShell kannst du Regeln auch direkt in ein GPO schreiben:

# Regel direkt in ein GPO schreiben (ohne Caching)
New-NetFirewallRule `
  -DisplayName "RDP intern" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 3389 `
  -Action Allow `
  -Profile Domain `
  -PolicyStore "contoso.com\Firewall-Basisregeln"

Firewall-Logging aktivieren und auswerten

Standardmässig protokolliert die Windows Firewall gar nichts. Für Troubleshooting und Security-Monitoring solltest du das Logging aktivieren.

Logging aktivieren (GUI)

  1. wf.msc öffnen
  2. Rechtsklick auf “Windows Defender Firewall mit erweiterter Sicherheit (Lokal)” → Eigenschaften
  3. Tab des gewünschten Profils wählen (Domäne / Privat / Öffentlich)
  4. Unter “Protokollierung” → “Anpassen”
  5. “Verworfene Pakete protokollieren” und/oder “Erfolgreiche Verbindungen protokollieren” auf “Ja” setzen
  6. Dateigrösse auf mindestens 20 MB erhöhen (Standard: 4 MB – zu klein!)

Logging aktivieren (PowerShell)

# Logging für alle Profile konfigurieren
Set-NetFirewallProfile -Profile Domain,Private,Public `
  -LogFileName "%windir%\system32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 20480 `
  -LogAllowed True `
  -LogBlocked True

Standardpfad: %systemroot%\system32\LogFiles\Firewall\pfirewall.log

Empfehlung: Separate Log-Dateien pro Profil verwenden – das erleichtert die Auswertung erheblich:

  • pfirewall_Domain.log
  • pfirewall_Private.log
  • pfirewall_Public.log

Log-Datei lesen

Das Log-Format ist eine einfache Textdatei mit durch Leerzeichen getrennten Feldern:

#Version: 1.5
#Software: Microsoft Windows Firewall
#Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path

2026-06-23 08:12:34 DROP TCP 192.168.1.100 10.0.0.5 54321 3389 52 S 1234567 0 65535 - - - RECEIVE
2026-06-23 08:12:35 ALLOW TCP 10.0.0.5 192.168.1.100 3389 54321 52 SA 0 1234568 65535 - - - SEND

Wichtige Felder:

  • action: ALLOW oder DROP
  • src-ip / dst-ip: Quell- und Ziel-IP
  • src-port / dst-port: Quell- und Zielport
  • path: RECEIVE (eingehend) oder SEND (ausgehend)

Konnektivität testen

Bevor du anfängst Regeln zu debuggen, prüfe zunächst, ob der Port überhaupt erreichbar ist:

# Port-Test von Windows aus (ersetzt Telnet-Test)
Test-NetConnection -ComputerName 192.168.1.10 -Port 443

# Schnellcheck ohne Name resolution
Test-NetConnection -ComputerName 192.168.1.10 -Port 3389 -InformationLevel Quiet
# Gibt True zurück wenn erreichbar, False wenn nicht

# Mehrere Ports auf einmal testen (Skript)
$ports = 80, 443, 3389, 445
$ports | ForEach-Object {
    $result = Test-NetConnection -ComputerName "server01" -Port $_ -WarningAction SilentlyContinue
    [PSCustomObject]@{
        Port = $_
        Erreichbar = $result.TcpTestSucceeded
    }
}

Troubleshooting: Typische Probleme

App kommt nicht durch die Firewall

  1. Prüfen ob eine blockierende Regel existiert:
    Get-NetFirewallRule -Action Block -Enabled True | Where-Object { $_.Direction -eq "Inbound" }
  2. Log-Datei auf DROP-Einträge für die betreffende IP/Port prüfen
  3. Profil des Netzwerkadapters prüfen:
    Get-NetConnectionProfile
  4. Temporär alle Profile deaktivieren und prüfen ob das Problem weg ist (zum Eingrenzen)

Regel greift nicht, obwohl sie existiert

  • Prüfen ob Regel im richtigen Profil ist (Domäne / Privat / Öffentlich)
  • GPO-Regeln können lokale Regeln überschreiben: rsop.msc oder gpresult /h report.html
  • Mehrere Regeln können sich widersprechen – Reihenfolge: Block-Regeln haben keine spezifische Priorität, aber explizite Block-Regeln gewinnen gegen Allow-Regeln für denselben Traffic

Firewall-Log-Datei wird nicht erstellt

Das passiert, wenn der Ordner fehlt oder die Berechtigungen falsch gesetzt sind:

# Ordner erstellen falls nicht vorhanden
New-Item -ItemType Directory -Path "$env:windir\System32\LogFiles\Firewall" -Force

# Berechtigungen prüfen (mpssvc braucht FullControl)
$logPath = "$env:windir\System32\LogFiles\Firewall"
(Get-ACL -Path $logPath).Access |
  Where-Object { $_.IdentityReference -like "*mpssvc*" } |
  Format-Table IdentityReference, FileSystemRights

Firewall-Konfiguration exportieren und importieren

Vor grösseren Änderungen oder als Teil der Dokumentation empfiehlt sich ein Export:

# Aktuelle Firewall-Konfiguration exportieren (alle Regeln + Profile)
netsh advfirewall export "C:\Backup\firewall-config-$(Get-Date -Format 'yyyy-MM-dd').wfw"

# Konfiguration wiederherstellen
netsh advfirewall import "C:\Backup\firewall-config-2026-06-23.wfw"

Das .wfw-Format enthält alle Regeln, Profilkonfigurationen und Logging-Einstellungen. Ideal für Disaster Recovery oder als Baseline-Sicherung.

Zusammenspiel mit anderen Sicherheitsmassnahmen

Die Windows Firewall ist eine Schicht in einem mehrschichtigen Sicherheitskonzept:

  • GPO: Firewall-Regeln zentral per GPO verteilen – die empfohlene Methode im AD-Umfeld
  • Intune/Endpoint Manager: Für Modern-Managed-Geräte ohne AD – Firewall-Policies direkt über Intune deployen
  • BitLocker: Schützt Daten auf dem Gerät, Firewall schützt Netzwerkzugriff – beides ergänzt sich
  • IT-Security Grundlagen KMU: Überblick über weitere Massnahmen, die die Firewall ergänzen

Weiterlernen

Kommentare

Frage, Verbesserungsvorschlag oder eigene Erfahrung zu diesem Artikel? Schreib einen Kommentar. Neue Beiträge erscheinen nach kurzer Moderation.

  • Lade Kommentare …
Kommentar schreiben