So konfigurieren Sie die Windows Server-Firewall
Einführung
Die Windows-Firewall (Windows Defender Firewall) ist die erste Verteidigungslinie Ihres Servers. Sie kontrolliert den ein- und ausgehenden Netzwerkverkehr, indem sie Verbindungen gemäß festgelegten Regeln erlaubt oder blockiert.
Warum die Firewall konfigurieren?
- Sicherheit — Unbefugte Zugriffe blockieren
- Kontrolle — Genau festlegen, welche Dienste zugänglich sind
- Schutz — Angriffsfläche des Servers reduzieren
- Compliance — Einhaltung bewährter Sicherheitspraktiken
Was Sie lernen werden
- Zugriff auf die Windows-Firewall und Navigation
- Öffnen und Schließen von Ports
- Erstellen benutzerdefinierter Regeln
- Konfiguration über die grafische Benutzeroberfläche und PowerShell
- Anwendung bewährter Sicherheitspraktiken
Zugriff auf die Windows-Firewall
Mehrere Methoden, um auf die Windows Server-Firewall zuzugreifen:
Methode 1: Windows-Suche (schnell)
1. Drücken Sie die Windows-Taste
2. Geben Sie "Windows Defender Firewall mit erweiterter Sicherheit" ein
3. Klicken Sie auf das Ergebnis
Oder geben Sie einfach ein: wf.msc
Methode 2: Ausführen (Win + R)
1. Drücken Sie Windows + R
2. Geben Sie ein: wf.msc
3. Drücken Sie die Eingabetaste
Methode 3: Systemsteuerung
1. Systemsteuerung
2. System und Sicherheit
3. Windows Defender Firewall
4. Erweiterte Einstellungen (linke Spalte)
Methode 4: Server-Manager
1. Öffnen Sie den Server-Manager
2. Werkzeuge (Tools)
3. Windows Defender Firewall mit erweiterter Sicherheit
Methode 5: PowerShell
# Öffnen Sie die grafische Benutzeroberfläche
wf.msc
# Oder verwalten Sie direkt über die Befehlszeile
Get-NetFirewallRule
Die Benutzeroberfläche verstehen
Die Benutzeroberfläche der Windows-Firewall ist in mehrere Abschnitte unterteilt:
┌─────────────────────────────────────────────────────────────────┐
│ Windows Defender Firewall mit erweiterten Funktionen │
├──────────────────┬──────────────────────────────────────────────┤
│ │ │
│ ▼ Eingehende │ [Regelliste] │
│ Regeln │ │
│ │ Name | Gruppe | Profil | Aktiviert | Aktion │
│ │ ───────────────────────────────────────── │
│ ▼ Ausgehende │ Regel 1... │
│ Regeln │ Regel 2... │
│ │ Regel 3... │
│ │ │
│ ▼ Sicherheits- │ │
│ verbindungs- │ │
│ regeln │ │
│ │ │
│ ▼ Analyse │ │
│ │ │
└──────────────────┴──────────────────────────────────────────────┘
Hauptabschnitte
| Abschnitt | Beschreibung |
|---|---|
| Eingehende Regeln | Kontrolliert die Verbindungen ZU Ihrem Server |
| Ausgehende Regeln | Kontrolliert die Verbindungen VON Ihrem Server |
| Sicherheitsregeln für Verbindungen | IPsec und Authentifizierung |
| Analyse | Überwachung der aktiven Regeln |
Regelzustände
| Symbol | Bedeutung |
|---|---|
| ✅ Grün | Regel aktiviert - Erlaubt den Verkehr |
| ✅ Grün mit Kreis | Regel aktiviert - Blockiert den Verkehr |
| ⬜ Grau | Regel deaktiviert |
Ein Port öffnen (grafische Benutzeroberfläche)
Schritt für Schritt: Einen TCP-Port öffnen
Beispiel: Öffnen Sie den Port 25565 (Minecraft)
Schritt 1: Zugriff auf die eingehenden Regeln
1. Öffnen Sie die Firewall (wf.msc)
2. Klicken Sie im linken Bereich auf "Eingehende Regeln"
3. Klicken Sie im rechten Bereich auf "Neue Regel..."
Schritt 2: Regeltyp
○ Programm
● Port ← Wählen Sie diese Option
○ Vorgedefiniert
○ Benutzerdefiniert
→ Klicken Sie auf "Weiter"
Schritt 3: Protokoll und Ports
● TCP ← Für die meisten Dienste
○ UDP ← Für bestimmte Spiele/VoIP
○ Alle lokalen Ports
● Bestimmte lokale Ports: 25565
→ Klicken Sie auf "Weiter"
Schritt 4: Aktion
● Verbindung erlauben ← Wählen Sie diese Option
○ Erlauben, wenn sicher
○ Verbindung blockieren
→ Klicken Sie auf "Weiter"
Schritt 5: Profile
☑ Domäne ← Unternehmensnetzwerk (Active Directory)
☑ Privat ← Vertrauenswürdiges Netzwerk
☑ Öffentlich ← Internet / Unzuverlässiges Netzwerk
→ Aktivieren Sie alle drei für einen Server
→ Klicken Sie auf "Weiter"
Schritt 6: Regelname
Name: Minecraft Server (TCP 25565)
Beschreibung: Erlaubt Verbindungen zum Minecraft-Server
→ Klicken Sie auf "Fertigstellen"
✅ Der TCP-Port 25565 ist jetzt geöffnet!
Ein UDP-Port öffnen
Gleiche Vorgehensweise, aber wählen Sie UDP in Schritt 3.
Beispiel: Öffnen Sie den UDP-Port 19132 (Minecraft Bedrock)
Schritt 3:
○ TCP
● UDP ← Wählen Sie UDP
Bestimmte lokale Ports: 19132
Ein Portbereich öffnen
Um mehrere aufeinanderfolgende Ports zu öffnen:
Schritt 3:
Bestimmte lokale Ports: 27015-27030
→ Öffnet alle Ports von 27015 bis 27030
Mehrere nicht aufeinanderfolgende Ports öffnen
Schritt 3:
Bestimmte lokale Ports: 80, 443, 8080
→ Öffnet die Ports 80, 443 und 8080
Ein Port schließen
Methode 1: Eine vorhandene Regel deaktivieren
1. Öffnen Sie die Firewall (wf.msc)
2. Eingehende Regeln
3. Finden Sie die betroffene Regel
4. Rechtsklick → "Regel deaktivieren"
Methode 2: Eine Regel löschen
1. Öffnen Sie die Firewall (wf.msc)
2. Eingehende Regeln
3. Finden Sie die betroffene Regel
4. Rechtsklick → "Löschen"
5. Bestätigen Sie die Löschung
Methode 3: Eine Blockierungsregel erstellen
Um einen Port explizit zu blockieren:
1. Neue Regel → Port
2. TCP oder UDP → Portnummer
3. ● Verbindung blockieren ← Wählen Sie diese Option
4. Alle Profile
5. Benennen: "Blockieren Port XXXX"
⚠️ Hinweis: Standardmäßig blockiert Windows alles, was nicht ausdrücklich erlaubt ist (im eingehenden Modus). Das Löschen einer Erlaubungsregel reicht normalerweise aus.
Konfiguration mit PowerShell
PowerShell bietet eine schnellere und skriptbare Verwaltung der Firewall.
Grundbefehle
Den Status der Firewall anzeigen
# Allgemeiner Status
Get-NetFirewallProfile
# Status nach Profil
Get-NetFirewallProfile -Profile Domain,Public,Private | Format-Table Name, Enabled
Firewall aktivieren/deaktivieren
# Firewall deaktivieren (NICHT EMPFOHLEN)
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
# Firewall aktivieren
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Ein Port mit PowerShell öffnen
Grundsyntax
New-NetFirewallRule -DisplayName "NAME" -Direction Inbound -Protocol TCP -LocalPort PORT -Action Allow
Konkrete Beispiele
# Öffnen Sie den Port 80 (HTTP)
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
# Öffnen Sie den Port 443 (HTTPS)
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
# Öffnen Sie den TCP-Port 25565 (Minecraft Java)
New-NetFirewallRule -DisplayName "Minecraft Java" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
# Öffnen Sie den UDP-Port 19132 (Minecraft Bedrock)
New-NetFirewallRule -DisplayName "Minecraft Bedrock" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow
# Öffnen Sie einen Portbereich
New-NetFirewallRule -DisplayName "Spielports" -Direction Inbound -Protocol UDP -LocalPort 27015-27030 -Action Allow
# Öffnen Sie mehrere Ports
New-NetFirewallRule -DisplayName "Webports" -Direction Inbound -Protocol TCP -LocalPort 80,443,8080 -Action Allow
TCP und UDP gleichzeitig öffnen
# Port 7777 TCP und UDP (ARK, usw.)
New-NetFirewallRule -DisplayName "ARK Server TCP" -Direction Inbound -Protocol TCP -LocalPort 7777 -Action Allow
New-NetFirewallRule -DisplayName "ARK Server UDP" -Direction Inbound -Protocol UDP -LocalPort 7777 -Action Allow
Eine Regel schließen/löschen
# Nach Namen löschen
Remove-NetFirewallRule -DisplayName "Minecraft Java"
# Eine Regel deaktivieren (ohne sie zu löschen)
Disable-NetFirewallRule -DisplayName "Minecraft Java"
# Eine Regel reaktivieren
Enable-NetFirewallRule -DisplayName "Minecraft Java"
Regeln auflisten
# Alle eingehenden Regeln
Get-NetFirewallRule -Direction Inbound | Format-Table DisplayName, Enabled, Action
# Nur aktive Regeln
Get-NetFirewallRule -Direction Inbound -Enabled True | Format-Table DisplayName, Action
# Eine Regel nach Namen suchen
Get-NetFirewallRule -DisplayName "*Minecraft*"
# Details einer Regel anzeigen
Get-NetFirewallRule -DisplayName "Minecraft Java" | Get-NetFirewallPortFilter
Ein Port blockieren
# Blockieren Sie den Port 23 (Telnet)
New-NetFirewallRule -DisplayName "Block Telnet" -Direction Inbound -Protocol TCP -LocalPort 23 -Action Block
Nach IP einschränken
# Nur eine bestimmte IP erlauben
New-NetFirewallRule -DisplayName "RDP Restricted" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 86.123.45.67 -Action Allow
# Einen IP-Bereich erlauben
New-NetFirewallRule -DisplayName "Büro Netzwerk" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 192.168.1.0/24 -Action Allow
# Mehrere IPs erlauben
New-NetFirewallRule -DisplayName "Nur Admins" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 86.123.45.67,91.234.56.78 -Action Allow
Vollständiges Skript: Webserver-Konfiguration
# Firewall-Konfigurationsskript für Webserver
# Als Administrator ausführen
Write-Host "Konfiguration der Firewall für den Webserver..." -ForegroundColor Green
# HTTP
New-NetFirewallRule -DisplayName "HTTP (80)" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
Write-Host "✓ Port 80 (HTTP) geöffnet" -ForegroundColor Cyan
# HTTPS
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Write-Host "✓ Port 443 (HTTPS) geöffnet" -ForegroundColor Cyan
# FTP (optional)
New-NetFirewallRule -DisplayName "FTP (21)" -Direction Inbound -Protocol TCP -LocalPort 21 -Action Allow
New-NetFirewallRule -DisplayName "FTP Passiv" -Direction Inbound -Protocol TCP -LocalPort 50000-50100 -Action Allow
Write-Host "✓ FTP-Ports geöffnet" -ForegroundColor Cyan
# MySQL (nur lokal - Sicherheit)
New-NetFirewallRule -DisplayName "MySQL Lokal" -Direction Inbound -Protocol TCP -LocalPort 3306 -RemoteAddress 127.0.0.1 -Action Allow
Write-Host "✓ MySQL (nur lokal)" -ForegroundColor Cyan
Write-Host "`nKonfiguration abgeschlossen!" -ForegroundColor Green
Konfiguration mit CMD (netsh)
Für diejenigen, die die klassische Eingabeaufforderung bevorzugen.
Grundsyntax
netsh advfirewall firewall add rule name="NAME" dir=in action=allow protocol=TCP localport=PORT
Ein Port öffnen
:: Öffnen Sie den TCP-Port 80
netsh advfirewall firewall add rule name="HTTP" dir=in action=allow protocol=TCP localport=80
:: Öffnen Sie den TCP-Port 443
netsh advfirewall firewall add rule name="HTTPS" dir=in action=allow protocol=TCP localport=443
:: Öffnen Sie den TCP-Port 25565 (Minecraft)
netsh advfirewall firewall add rule name="Minecraft" dir=in action=allow protocol=TCP localport=25565
:: Öffnen Sie den UDP-Port 19132
netsh advfirewall firewall add rule name="Minecraft Bedrock" dir=in action=allow protocol=UDP localport=19132
:: Öffnen Sie einen Portbereich
netsh advfirewall firewall add rule name="Spielports" dir=in action=allow protocol=UDP localport=27015-27030
Eine Regel schließen/löschen
:: Löschen Sie eine Regel nach Namen
netsh advfirewall firewall delete rule name="Minecraft"
:: Löschen nach Port
netsh advfirewall firewall delete rule name=all protocol=TCP localport=25565
Regeln auflisten
:: Alle Regeln
netsh advfirewall firewall show rule name=all
:: Nur eingehende Regeln
netsh advfirewall firewall show rule name=all dir=in
:: Eine Regel suchen
netsh advfirewall firewall show rule name="Minecraft"
Firewall aktivieren/deaktivieren
:: Deaktivieren (NICHT EMPFOHLEN)
netsh advfirewall set allprofiles state off
:: Aktivieren
netsh advfirewall set allprofiles state on
:: Nur das öffentliche Profil aktivieren
netsh advfirewall set publicprofile state on
Nach IP einschränken
:: Nur eine IP erlauben
netsh advfirewall firewall add rule name="RDP Restricted" dir=in action=allow protocol=TCP localport=3389 remoteip=86.123.45.67
Regeln für Anwendungen
Sie können eine Anwendung anstelle eines Ports zulassen.
Über die grafische Benutzeroberfläche
1. Neue Regel
2. ● Programm ← Wählen Sie diese Option
3. Durchsuchen → Wählen Sie die ausführbare Datei aus
Beispiel: C:\Minecraft\server.jar
4. Verbindung erlauben
5. Alle Profile
6. Regel benennen
Über PowerShell
# Eine Anwendung erlauben
New-NetFirewallRule -DisplayName "Minecraft Server" -Direction Inbound -Program "C:\Minecraft\server.jar" -Action Allow
# Java erlauben (für alle Java-Server)
New-NetFirewallRule -DisplayName "Java" -Direction Inbound -Program "C:\Program Files\Java\jdk-21\bin\java.exe" -Action Allow
Über CMD
netsh advfirewall firewall add rule name="Minecraft Server" dir=in action=allow program="C:\Minecraft\server.jar"
Zu konfigurierende gängige Ports
Schnellreferenztabelle
Webdienste
| Dienst | Port | Protokoll | PowerShell-Befehl |
|---|---|---|---|
| HTTP | 80 | TCP | New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow |
| HTTPS | 443 | TCP | New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow |
| HTTP Alt | 8080 | TCP | New-NetFirewallRule -DisplayName "HTTP Alt" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow |
Fernzugriff
| Dienst | Port | Protokoll | PowerShell-Befehl |
|---|---|---|---|
| RDP | 3389 | TCP | New-NetFirewallRule -DisplayName "RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow |
| SSH | 22 | TCP | New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow |
| VNC | 5900 | TCP | New-NetFirewallRule -DisplayName "VNC" -Direction Inbound -Protocol TCP -LocalPort 5900 -Action Allow |
Dateiübertragung
| Dienst | Port | Protokoll | PowerShell-Befehl |
|---|---|---|---|
| FTP | 21 | TCP | New-NetFirewallRule -DisplayName "FTP" -Direction Inbound -Protocol TCP -LocalPort 21 -Action Allow |
| Passives FTP | 50000-50100 | TCP | New-NetFirewallRule -DisplayName "FTP Passiv" -Direction Inbound -Protocol TCP -LocalPort 50000-50100 -Action Allow |
| SFTP | 22 | TCP | (Gleich wie SSH) |
| FTPS | 990 | TCP | New-NetFirewallRule -DisplayName "FTPS" -Direction Inbound -Protocol TCP -LocalPort 990 -Action Allow |
Datenbanken
| Dienst | Port | Protokoll | PowerShell-Befehl |
|---|---|---|---|
| MySQL | 3306 | TCP | New-NetFirewallRule -DisplayName "MySQL" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow |
| PostgreSQL | 5432 | TCP | New-NetFirewallRule -DisplayName "PostgreSQL" -Direction Inbound -Protocol TCP -LocalPort 5432 -Action Allow |
| SQL Server | 1433 | TCP | New-NetFirewallRule -DisplayName "SQL Server" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow |
| MongoDB | 27017 | TCP | New-NetFirewallRule -DisplayName "MongoDB" -Direction Inbound -Protocol TCP -LocalPort 27017 -Action Allow |
| Redis | 6379 | TCP | New-NetFirewallRule -DisplayName "Redis" -Direction Inbound -Protocol TCP -LocalPort 6379 -Action Allow |
Spiele-Server
| Spiel | Port(e) | Protokoll | PowerShell-Befehl |
|---|---|---|---|
| Minecraft Java | 25565 | TCP | New-NetFirewallRule -DisplayName "Minecraft" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow |
| Minecraft Bedrock | 19132 | UDP | New-NetFirewallRule -DisplayName "Minecraft Bedrock" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow |
| FiveM (GTA) | 30120 | TCP/UDP | Siehe Skript unten |
| Rust | 28015 | TCP/UDP | Siehe Skript unten |
| ARK | 7777-7778 | TCP/UDP | Siehe Skript unten |
| Valheim | 2456-2458 | UDP | New-NetFirewallRule -DisplayName "Valheim" -Direction Inbound -Protocol UDP -LocalPort 2456-2458 -Action Allow |
| CS2 | 27015 | TCP/UDP | Siehe Skript unten |
| Palworld | 8211 | UDP | New-NetFirewallRule -DisplayName "Palworld" -Direction Inbound -Protocol UDP -LocalPort 8211 -Action Allow |
| Terraria | 7777 | TCP | New-NetFirewallRule -DisplayName "Terraria" -Direction Inbound -Protocol TCP -LocalPort 7777 -Action Allow |
Bereitgestellte Skripte
Skript: Minecraft Java-Server
# Minecraft Java Edition
New-NetFirewallRule -DisplayName "Minecraft Java TCP" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft Java UDP" -Direction Inbound -Protocol UDP -LocalPort 25565 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft RCON" -Direction Inbound -Protocol TCP -LocalPort 25575 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft Query" -Direction Inbound -Protocol UDP -LocalPort 25565 -Action Allow
Write-Host "Ports Minecraft geöffnet: 25565 (TCP/UDP), 25575 (RCON)" -ForegroundColor Green
Skript: FiveM-Server (GTA RP)
# FiveM-Server
New-NetFirewallRule -DisplayName "FiveM TCP" -Direction Inbound -Protocol TCP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM UDP" -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM HTTP" -Direction Inbound -Protocol TCP -LocalPort 40120 -Action Allow
Write-Host "Ports FiveM geöffnet: 30120 (TCP/UDP), 40120 (HTTP)" -ForegroundColor Green
Skript: Rust-Server
# Rust Dedicated Server
New-NetFirewallRule -DisplayName "Rust Game TCP" -Direction Inbound -Protocol TCP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust Game UDP" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust RCON" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow
New-NetFirewallRule -DisplayName "Rust App" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action Allow
Write-Host "Ports Rust geöffnet: 28015, 28016 (RCON), 28082 (App)" -ForegroundColor Green
Skript: ARK-Server
# ARK: Survival Evolved
New-NetFirewallRule -DisplayName "ARK Game UDP" -Direction Inbound -Protocol UDP -LocalPort 7777-7778 -Action Allow
New-NetFirewallRule -DisplayName "ARK Query UDP" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "ARK RCON TCP" -Direction Inbound -Protocol TCP -LocalPort 27020 -Action Allow
Write-Host "Ports ARK geöffnet: 7777-7778, 27015, 27020" -ForegroundColor Green
Skript: CS2 / CSGO-Server
# Counter-Strike 2
New-NetFirewallRule -DisplayName "CS2 Game TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "CS2 Game UDP" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "CS2 RCON" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "CS2 Steam" -Direction Inbound -Protocol UDP -LocalPort 27020 -Action Allow
Write-Host "Ports CS2 geöffnet: 27015 (TCP/UDP), 27020" -ForegroundColor Green
Firewall-Profile
Windows verwendet drei Firewall-Profile je nach Netzwerktyp.
Die drei Profile
| Profil | Beschreibung | Verwendung |
|---|---|---|
| Domäne | Netzwerk mit Active Directory | Unternehmen |
| Privat | Vertrauenswürdiges Netzwerk | Zu Hause, Büro |
| Öffentlich | Unzuverlässiges Netzwerk | Internet, öffentliches WLAN |
Welches Profil für einen Server?
Für einen VPS oder dedizierten Server, der über das Internet zugänglich ist:
→ Verwenden Sie das Profil "Öffentlich" oder "Alle Profile"
Eine Regel nach Profil konfigurieren
Grafische Benutzeroberfläche
Beim Erstellen der Regel (Schritt 5):
☐ Domäne
☐ Privat
☑ Öffentlich ← Für einen Internet-Server
PowerShell
# Regel nur für das öffentliche Profil
New-NetFirewallRule -DisplayName "Webserver" -Direction Inbound -Protocol TCP -LocalPort 80 -Profile Public -Action Allow
# Regel für alle Profile
New-NetFirewallRule -DisplayName "Webserver" -Direction Inbound -Protocol TCP -LocalPort 80 -Profile Any -Action Allow
Aktives Profil anzeigen
# Sehen Sie, welches Profil aktiv ist
Get-NetConnectionProfile
# Beispielergebnis:
# Name : Netzwerk
# NetworkCategory : Öffentlich ← Aktives Profil
Profil einer Verbindung ändern
# Auf privates Profil umstellen
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Private
# Auf öffentliches Profil umstellen
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Public
Sicherheitsbest Practices
✅ Zu tun
| Praxis | Beschreibung |
|---|---|
| Prinzip der minimalen Berechtigung | Öffnen Sie nur die unbedingt notwendigen Ports |
| Regeln klar benennen | "Minecraft Server TCP 25565" anstelle von "Regel1" |
| Regeln dokumentieren | Halten Sie fest, was geöffnet ist und warum |
| Wenn möglich nach IP einschränken | Beschränken Sie den RDP-Zugriff auf Ihre feste IP |
| Verwenden Sie nicht standardmäßige Ports | Ändern Sie den RDP-Port von 3389 auf einen anderen |
| Regelmäßig auditieren | Überprüfen Sie regelmäßig die aktiven Regeln |
| Firewall aktiviert lassen | Nie dauerhaft "deaktivieren zum Testen" |
❌ Zu vermeiden
| Schlechte Praxis | Risiko |
|---|---|
| Firewall deaktivieren | Server ist allen Angriffen ausgesetzt |
| Alle Ports öffnen | Maximale Angriffsfläche |
| Zu großzügige Regeln | Unbefugte Zugriffe |
| Ausgehende Regeln ignorieren | Datenexfiltration möglich |
| Keine Dokumentation | Unmöglich, die Sicherheit aufrechtzuerhalten |
Empfohlene sichere Konfiguration
# 1. Stellen Sie sicher, dass die Firewall aktiviert ist
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
# 2. Standardrichtlinie: eingehend blockieren, ausgehend erlauben
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultOutboundAction Allow
# 3. Aktivieren Sie die Protokollierung
Set-NetFirewallProfile -Profile Domain,Public,Private -LogBlocked True -LogAllowed False -LogFileName %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log
# 4. RDP nach IP einschränken (ersetzen Sie durch Ihre IP)
Remove-NetFirewallRule -DisplayName "Remote Desktop*" -ErrorAction SilentlyContinue
New-NetFirewallRule -DisplayName "RDP Restricted" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress IHRE.IP.ADRESSE -Action Allow
Audit aktiver Regeln
# Exportieren Sie alle aktiven Regeln
Get-NetFirewallRule -Enabled True -Direction Inbound |
Select-Object DisplayName, Profile, Action |
Export-Csv -Path "C:\firewall_rules.csv" -NoTypeInformation
# Zeigen Sie die Regeln an, die alles erlauben
Get-NetFirewallRule -Enabled True -Direction Inbound -Action Allow |
Where-Object { $_.Profile -eq "Any" } |
Format-Table DisplayName, Profile
Fehlerbehebung
Problem: Der Port scheint trotz der Regel geschlossen zu sein
Überprüfungen:
# 1. Überprüfen Sie, ob die Regel existiert und aktiv ist
Get-NetFirewallRule -DisplayName "*RegelName*" | Format-Table DisplayName, Enabled, Action
# 2. Überprüfen Sie den zugehörigen Port
Get-NetFirewallRule -DisplayName "RegelName" | Get-NetFirewallPortFilter
# 3. Überprüfen Sie, ob der Dienst auf dem Port lauscht
netstat -an | findstr "25565"
# 4. Lokal testen
Test-NetConnection -ComputerName localhost -Port 25565
Häufige Lösungen:
- Die Regel ist deaktiviert → Aktivieren Sie sie
- Falsches Protokoll → Überprüfen Sie TCP vs UDP
- Falsches Profil → Überprüfen Sie, ob das richtige Profil aktiv ist
- Der Dienst lauscht nicht → Starten Sie die Anwendung
- Host-Firewall → Überprüfen Sie die Firewall des Hosting-Panels
Problem: "Zugriff verweigert" beim Erstellen der Regel
Lösung:
Führen Sie PowerShell oder CMD als Administrator aus:
1. Rechtsklick auf PowerShell
2. "Als Administrator ausführen"
Problem: Zu viele Regeln, schwer zu verwalten
Lösung: Exportieren und bereinigen
# Exportieren Sie alle Regeln
netsh advfirewall export "C:\firewall_backup.wfw"
# Sehen Sie sich die deaktivierten Regeln an (Kandidaten zur Löschung)
Get-NetFirewallRule -Enabled False | Format-Table DisplayName
# Löschen Sie die deaktivierten Regeln
Get-NetFirewallRule -Enabled False | Remove-NetFirewallRule
Problem: Die Standardkonfiguration wiederherstellen
# Setzen Sie die Firewall zurück (ACHTUNG: Löscht alle benutzerdefinierten Regeln)
netsh advfirewall reset
# Oder über die Benutzeroberfläche:
# Windows-Firewall → "Einstellungen auf Standard zurücksetzen"
Testen, ob ein Port geöffnet ist
Von einem anderen Computer aus:
# PowerShell
Test-NetConnection -ComputerName IP_DES_SERVERS -Port 25565
# Erwartetes Ergebnis:
# TcpTestSucceeded : True ← Port geöffnet
# TcpTestSucceeded : False ← Port geschlossen
Von Internet aus:
Verwenden Sie ein Online-Tool wie:
Firewall-Protokolle
Protokollierung aktivieren:
# Aktivieren Sie die Protokollierung
Set-NetFirewallProfile -Profile Domain,Public,Private -LogBlocked True -LogMaxSizeKilobytes 4096
# Speicherort der Protokolle
%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log
Protokolle analysieren:
# Zeigen Sie die letzten blockierten Einträge an
Get-Content "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" -Tail 50 | Where-Object { $_ -match "DROP" }
Schnellreferenz
Wichtige PowerShell-Befehle
# Öffnen Sie einen TCP-Port
New-NetFirewallRule -DisplayName "NAME" -Direction Inbound -Protocol TCP -LocalPort PORT -Action Allow
# Öffnen Sie einen UDP-Port
New-NetFirewallRule -DisplayName "NAME" -Direction Inbound -Protocol UDP -LocalPort PORT -Action Allow
# Löschen Sie eine Regel
Remove-NetFirewallRule -DisplayName "NAME"
# Aktive Regeln auflisten
Get-NetFirewallRule -Enabled True -Direction Inbound | Format-Table DisplayName, Action
# Eine Regel deaktivieren
Disable-NetFirewallRule -DisplayName "NAME"
# Eine Regel aktivieren
Enable-NetFirewallRule -DisplayName "NAME"
Wichtige CMD-Befehle
:: Öffnen Sie einen Port
netsh advfirewall firewall add rule name="NAME" dir=in action=allow protocol=TCP localport=PORT
:: Löschen Sie eine Regel
netsh advfirewall firewall delete rule name="NAME"
:: Regeln auflisten
netsh advfirewall firewall show rule name=all dir=in
:: Firewall aktivieren
netsh advfirewall set allprofiles state on
Fazit
Die Windows Server-Firewall ist ein leistungsstarkes Werkzeug zur Sicherung Ihres Servers. Wichtige Punkte, die Sie beachten sollten:
- Halten Sie die Firewall aktiviert — Immer
- Öffnen Sie nur das Notwendige — Prinzip der minimalen Berechtigung
- Verwenden Sie PowerShell — Schneller und skriptbar
- Dokumentieren Sie Ihre Regeln — Erleichtert die Wartung
- Regelmäßig auditieren — Überprüfen Sie die aktiven Regeln
Empfohlene nächste Schritte:
- Sichern Sie den RDP-Zugriff (Port ändern, nach IP einschränken)
- Konfigurieren Sie die Protokolle der Firewall
- Erstellen Sie ein Konfigurationsskript für Ihre Server
- Richten Sie eine regelmäßige Überprüfungspolitik ein