So konfigurieren Sie die Windows Server-Firewall

So konfigurieren Sie die Windows Server-Firewall

A
Admin
17 min read

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:

  1. Die Regel ist deaktiviert → Aktivieren Sie sie
  2. Falsches Protokoll → Überprüfen Sie TCP vs UDP
  3. Falsches Profil → Überprüfen Sie, ob das richtige Profil aktiv ist
  4. Der Dienst lauscht nicht → Starten Sie die Anwendung
  5. 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:

  1. Halten Sie die Firewall aktiviert — Immer
  2. Öffnen Sie nur das Notwendige — Prinzip der minimalen Berechtigung
  3. Verwenden Sie PowerShell — Schneller und skriptbar
  4. Dokumentieren Sie Ihre Regeln — Erleichtert die Wartung
  5. 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