Dedicated Servers & VPS22. Mai 2026 1 Aufruf

Configurer die Windows Server-Firewall auf einem VPS

Configurer die Windows Server-Firewall auf einem VPS

Die Windows Server-Firewall auf einem VPS konfigurieren

5 Schritte zur Sicherung Ihrer Windows VPS-Firewall

  1. Den Status überprüfen: Get-NetFirewallProfile | Select Name, Enabled in PowerShell.

  2. Für alle 3 Profile aktivieren: Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True.

  3. Eine eingehende Regel erstellen über die Schnittstelle wf.msc oder New-NetFirewallRule in PowerShell.

  4. RDP (3389) nur auf Ihre Quell-IP beschränken.

  5. Logs aktivieren, um blockierte Verbindungen zu protokollieren.


🛡️ Warum die Windows Server-Firewall auf einem VPS kritisch ist

Ein Windows VPS ist direkt im Internet exponiert. Ohne korrekt konfigurierte Firewall kann jeder versuchen, sich mit Ihren offenen Ports zu verbinden.

Netzwerkfirewall vs. OS-Firewall: zwei separate Schichten.

Bei OuiHeberg verfügt Ihr Windows VPS über eine Netzwerkfirewall auf Infrastrukturebene. Diese Firewall ersetzt jedoch nicht die Windows Defender Firewall: Sie arbeitet auf OS-Ebene, Regel für Regel, Programm für Programm. Beide müssen aktiv sein.

Risiken, wenn die Windows-Firewall deaktiviert ist:

  • RDP (Port 3389) für alle Scan-Bots exponiert: kontinuierliche Brute-Force-Angriffe.

  • SQL Server (1433), WinRM (5985/5986) ohne Einschränkungen zugänglich.

  • Keine Sichtbarkeit über blockierten Verkehr (keine Logs).

Die 3 Netzwerkprofile: Welches gilt für einen VPS?

Profil

Wann es aktiv wird

Auf einem VPS

Domäne

Maschine, die einer AD-Domäne beigetreten ist

Selten aktiv

Privat

Vertrauenswürdiges Netzwerk (LAN)

Möglich je nach Netzwerkkonfiguration

Öffentlich

Unbekanntes Netzwerk / Internet

Standardmäßig aktiv auf einem VPS

Auf einem Standalone-VPS gilt das Profil Öffentlich. Aktivieren Sie die Regeln für alle 3 Profile, um nichts dem Zufall zu überlassen.


🔍 Den Status der Firewall vor Beginn überprüfen

Immer mit einer Bestandsaufnahme beginnen. Melden Sie sich per RDP an, öffnen Sie PowerShell als Administrator.

Über PowerShell: vollständiger Status der 3 Profile:

Get-NetFirewallProfile | Select Name, Enabled, DefaultInboundAction, DefaultOutboundAction
BildErwartetes Ergebnis: Enabled = True für alle 3 Profile. Wenn eines auf False steht, aktivieren Sie es sofort.

Über die grafische Benutzeroberfläche:

Systemsteuerung → System und Sicherheit → Windows Defender Firewall → überprüfen Sie, dass jedes Profil "Aktiviert" anzeigt.

Firewall aktivieren, wenn sie deaktiviert ist:

Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True

Überprüfen Sie die Standardaktionen (empfohlen):

Set-NetFirewallProfile -Profile Domain,Private,Public `
  -DefaultInboundAction Block `
  -DefaultOutboundAction Allow

Standardmäßig den gesamten eingehenden Verkehr blockieren und nur das zulassen, was Sie ausdrücklich definieren: das ist die richtige Sicherheitsstrategie.


🖱️ Eine Firewall-Regel erstellen (GUI-Methode)

Bild🖥️ Zugriff auf die Windows Defender Firewall mit erweiterter Sicherheit

Zwei mögliche Wege:

  • Windows-Tastewf.msc eingeben → Eingabetaste.

  • Systemsteuerung → System und Sicherheit → Windows Defender Firewall → Erweiterte Einstellungen.

Die Schnittstelle zeigt 3 Abschnitte an: Eingehende Verkehrsregeln, Ausgehende Verkehrsregeln, Verbindungs-Sicherheitsregeln.

Bild

➡️ Eine eingehende Regel erstellen

  1. Rechtsklick auf Eingehende VerkehrsregelnNeue Regel.

  2. Wählen Sie den Typ: Port, Programm, Vordefiniert oder Benutzerdefiniert.

  3. Protokoll (TCP/UDP) und Portnummer angeben.

  4. Aktion: Verbindung zulassen oder Blockieren.

  5. Die betroffenen Profile auswählen (Domäne, Privat, Öffentlich).

  6. Die Regel eindeutig benennen (z. B.: Allow-HTTP-80-Inbound).

⬅️ Eine ausgehende Regel erstellen

Die meisten Anleitungen hören bei den eingehenden Regeln auf. Das ist ein Fehler.

  1. Rechtsklick auf Ausgehende VerkehrsregelnNeue Regel.

  2. Der gleiche Prozess wie bei einer eingehenden Regel.

  3. Nützlich, um einen Prozess oder eine spezifische Ziel-IP zu blockieren.

Konkretes Beispiel: blockieren Sie ausgehende Verbindungen zu einem verdächtigen Port oder einer IP, ohne den restlichen Verkehr zu beeinträchtigen.

🔧 Den Regeltyp festlegen

Typ

Verwendung

Port

Ein spezifischen TCP- oder UDP-Port öffnen/blockieren

Programm

Ein ausführbares Programm (.exe) zulassen/blockieren

Vordefiniert

Aktivieren Sie eine integrierte Windows-Regelgruppe (RDP, Datei- und Druckfreigabe…)

Benutzerdefiniert

Vollständige Kontrolle: Port + Programm + Quell-/Ziel-IP-Adresse


⚡ Eine Firewall-Regel erstellen (PowerShell-Methode)

PowerShell ist die bevorzugte Methode auf einem VPS: skriptfähig, reproduzierbar, auditierbar. Alle untenstehenden Befehle erfordern eine erhöhte (Administrator) PowerShell-Sitzung.

💻 Wesentliche Befehle New-NetFirewallRule

Grundstruktur:

New-NetFirewallRule `
  -DisplayName "Beschreibender Name" `
  -Direction Inbound `          # oder Outbound
  -Protocol TCP `
  -LocalPort 80 `
  -Action Allow `               # oder Block
  -Profile Public,Private,Domain `
  -Enabled True

🔒 RDP (Port 3389) sichern: auf eine IP beschränken

RDP niemals für das gesamte Internet offen lassen. Beschränken Sie es auf Ihre feste IP oder Ihren VPN-Bereich.

# RDP für alle blockieren
New-NetFirewallRule `
  -DisplayName "Block-RDP-All" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 3389 `
  -Action Block `
  -Profile Any

# RDP nur von Ihrer IP zulassen
New-NetFirewallRule `
  -DisplayName "Allow-RDP-MyIP" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 3389 `
  -RemoteAddress "203.0.113.10" `
  -Action Allow `
  -Profile Any

⚠️ Anwendungsreihenfolge: Erstellen Sie zuerst die Regel Allow mit Ihrer IP, dann die Regel Block. Im Zweifelsfall testen Sie von einer anderen offenen RDP-Sitzung, bevor Sie die erste schließen.

🌐 HTTP/HTTPS öffnen (Ports 80 und 443)

New-NetFirewallRule `
  -DisplayName "Allow-HTTP-HTTPS-Inbound" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort @(80, 443) `
  -Action Allow `
  -Profile Any

🗄️ SQL Server öffnen (Port 1433): auf ein Subnetz beschränken

SQL Server darf niemals dem Internet ausgesetzt werden. Beschränken Sie es auf Ihr Anwendungs-Subnetz.

New-NetFirewallRule `
  -DisplayName "Allow-SQLServer-LAN" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 1433 `
  -RemoteAddress "10.0.0.0/24" `
  -Action Allow `
  -Profile Any

🔌 WinRM (5985/5986) für die Remoteverwaltung öffnen

WinRM ermöglicht die Remoteverwaltung von PowerShell. Muss unbedingt auf eine Verwaltungs-IP beschränkt werden.

# WinRM HTTP (5985) und HTTPS (5986)
New-NetFirewallRule `
  -DisplayName "Allow-WinRM-Management" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort @(5985, 5986) `
  -RemoteAddress "203.0.113.10" `
  -Action Allow `
  -Profile Any

🚫 Einen spezifischen Port oder eine IP blockieren

# Einen eingehenden Port blockieren
New-NetFirewallRule `
  -DisplayName "Block-Port-8080-Inbound" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 8080 `
  -Action Block `
  -Profile Any

# Eine spezifische Quell-IP blockieren (eingehend)
New-NetFirewallRule `
  -DisplayName "Block-IP-Suspect" `
  -Direction Inbound `
  -RemoteAddress "198.51.100.42" `
  -Action Block `
  -Profile Any

# Eine ausgehende Verbindung zu einer IP blockieren
New-NetFirewallRule `
  -DisplayName "Block-Outbound-IP" `
  -Direction Outbound `
  -RemoteAddress "198.51.100.42" `
  -Action Block `
  -Profile Any

📋 Vordefinierte Windows Server-Regeln, die Sie kennen sollten

Windows Server enthält Gruppen von einsatzbereiten Regeln. Aktivieren Sie sie gruppenweise anstatt Regel für Regel.

Nützliche Gruppen:

Gruppe

Verwendung

Remote Desktop

Erlauben Sie RDP-Verbindungen

File and Printer Sharing

SMB-Netzwerkfreigabe

Windows Management Instrumentation (WMI)

Remote WMI-Verwaltung

Windows Remote Management

PowerShell Remoting / WinRM

Core Networking

Grundlegender Netzwerkverkehr (DNS, DHCP, ICMP)

Network Discovery

Netzwerkerkennung

Aktivieren Sie eine gesamte Gruppe mit netsh:

netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
netsh advfirewall firewall set rule group="Windows Remote Management" new enable=Yes
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes

Aktivieren Sie eine Gruppe mit PowerShell:

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"

📝 Die Protokollierung der Firewall aktivieren

Ohne Logs ist es unmöglich, eine Blockierung zu diagnostizieren oder einen Eindringversuch zu erkennen.

Warum protokollieren:

  • Identifizieren Sie, welche Regel eine legitime Verbindung blockiert.

  • Scans von Ports oder Brute-Force-Versuche erkennen.

  • Die Anforderungen an die Sicherheitsprüfung erfüllen.

Logs über PowerShell aktivieren (alle Profile):

Set-NetFirewallProfile -Profile Domain,Private,Public `
  -LogFileName "%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 4096 `
  -LogAllowed True `
  -LogBlocked True

Über netsh aktivieren:

netsh advfirewall set allprofiles logging filename "%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log"
netsh advfirewall set allprofiles logging maxfilesize 4096
netsh advfirewall set allprofiles logging droppedconnections enable
netsh advfirewall set allprofiles logging allowedconnections enable

Wo die Logs zu finden sind:

Standardpfad: C:\Windows\System32\LogFiles\Firewall\pfirewall.log

Logs lesen: Format der Schlüsselspalten:

Spalte

Bedeutung

date / time

Zeitstempel des Ereignisses

action

ALLOW oder DROP

src-ip

Quell-IP

dst-ip

Ziel-IP

src-port

Quellport

dst-port

Zielport

path

Richtung: SEND (ausgehend) oder RECEIVE (eingehend)

Um blockierte Verbindungen schnell in PowerShell zu lesen:

Get-Content "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" |
  Where-Object { $_ -match "DROP" } |
  Select-Object -Last 50

🔎 Auditing und Verwalten vorhandener Regeln

Dies ist der Abschnitt, den Sie bei OVH oder Amen nicht finden werden. Die Verwaltung vorhandener Regeln ist ebenso wichtig wie das Erstellen neuer.

Alle aktiven Regeln auflisten:

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

Aktive Regeln mit den zugehörigen Ports auflisten:

Get-NetFirewallRule | Where-Object { $_.Enabled -eq "True" } |
  ForEach-Object {
    $rule = $_
    $portFilter = $rule | Get-NetFirewallPortFilter
    [PSCustomObject]@{
      Name      = $rule.DisplayName
      Direction = $rule.Direction
      Action    = $rule.Action
      Protocol  = $portFilter.Protocol
      LocalPort = $portFilter.LocalPort
    }
  } | Format-Table -AutoSize

Eine Regel deaktivieren, ohne sie zu löschen:

Disable-NetFirewallRule -DisplayName "Regelname"

Eine Regel reaktivieren:

Enable-NetFirewallRule -DisplayName "Regelname"

Eine Regel dauerhaft löschen:

Remove-NetFirewallRule -DisplayName "Regelname"

Alle Regeln exportieren (Backup):

netsh advfirewall export "C:\Backup\firewall-backup.wfw"

Regeln aus einem Backup importieren:

netsh advfirewall import "C:\Backup\firewall-backup.wfw"

💡 Gute Praxis: Exportieren Sie Ihre Regeln vor größeren Änderungen. Im Falle eines Problems dauert die Wiederherstellung 10 Sekunden.


🚨 Fehlersuche: Verbindung abgelehnt trotz aktiver Regel

Ihre Regel existiert, sie ist aktiviert, aber die Verbindung schlägt trotzdem fehl. Hier sind die 5 häufigsten Szenarien.

🔍 Überprüfen, ob der Port lokal geöffnet ist

# Testen vom Server selbst
[Upload...]
# Testen von einem externen Arbeitsplatz (IP ersetzen)
Test-NetConnection -ComputerName 203.0.113.50 -Port 443 -InformationLevel Detailed

Wenn TcpTestSucceeded : False → der Port ist nicht zugänglich. Wenn True → das Problem liegt woanders (Anwendung, DNS usw.).

⚠️ Konflikt zwischen eingehender und ausgehender Regel

Windows wendet die Regeln Block mit Priorität auf Allow an. Wenn eine allgemeinere Blockregel existiert, überschreibt sie Ihre spezifische Allow-Regel.

Überprüfen Sie die Konfliktregeln:

# Aktive Blockregeln für eingehende Verbindungen
Get-NetFirewallRule -Direction Inbound -Action Block -Enabled True |
  Select-Object DisplayName, Profile

📡 Falsches Netzwerkprofil (Öffentlich vs. Privat)

Ihre Regel wurde für das Profil Privat erstellt, aber Ihr VPS ist im Profil Öffentlich? Sie gilt nicht.

Aktives Profil überprüfen:

Get-NetConnectionProfile | Select-Object Name, NetworkCategory

Profil bei Bedarf korrigieren:

Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Private

🏗️ OuiHeberg Netzwerkfirewall vs. Windows-Firewall: Wer blockiert?

Wenn Test-NetConnection vom Server selbst erfolgreich ist, aber von außen fehlschlägt, kommt die Blockade von der OuiHeberg Netzwerkfirewall, nicht von der Windows Defender Firewall.

Schnelldiagnose:

  1. Vom VPS: Test-NetConnection -ComputerName localhost -Port XXXX → Erfolg = Windows OK.

  2. Von Ihrem Arbeitsplatz: Test-NetConnection -ComputerName <IP_VPS> -Port XXXX → Fehler = Netzwerkfirewall.

In diesem Fall überprüfen Sie die Regeln Ihrer Netzwerkfirewall im OuiHeberg-Kundenbereich.

📋 Logs überprüfen, um die blockierende Regel zu identifizieren

# Suchen Sie nach DROP auf einem spezifischen Port (z. B. 8080)
Get-Content "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" |
  Where-Object { $_ -match "DROP" -and $_ -match "8080" }

Die Spalte path zeigt RECEIVE (eingehend) oder SEND (ausgehend) an. Dies bestätigt die Richtung der Blockade.


✅ Gute Sicherheitspraktiken für Firewalls auf Windows VPS

Prinzip der geringsten Privilegien: alles standardmäßig blockieren.

Beginnen Sie mit DefaultInboundAction Block und öffnen Sie nur die unbedingt notwendigen Ports. Jeder geöffnete Port ist eine Angriffsfläche.

Ändern Sie den RDP-Port (3389 → benutzerdefinierter Port).

Den Port zu ändern ersetzt keine gute Firewallregel, reduziert jedoch den Lärm automatisierter Scans. Ändern Sie den Registrierungsschlüssel und erstellen Sie dann die entsprechende Firewallregel:

# Beispiel: RDP auf Port 54321
New-NetFirewallRule `
  -DisplayName "Allow-RDP-Custom-Port" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 54321 `
  -RemoteAddress "203.0.113.10" `
  -Action Allow `
  -Profile Any

Bitte konsultieren Sie unser RDP-Verbindungsleitfaden für das vollständige Verfahren zur Portänderung.

RDP auf eine IP oder IP-Bereich beschränken.

Wenn Sie eine feste IP haben, ist dies die effektivste Maßnahme. Wenn sich Ihre IP ändert, verwenden Sie ein VPN und erlauben Sie nur den VPN-Bereich.

Deaktivieren Sie nicht verwendete Regeln.

Entfernen Sie sie nicht: Deaktivieren Sie sie. Sie können sie bei Bedarf wieder aktivieren. Überprüfen Sie die aktiven Regeln vierteljährlich.

Regelmäßige Überprüfung der Regeln.

# Monatlicher Export aktiver Regeln
Get-NetFirewallRule | Where-Object { $_.Enabled -eq "True" } |
  Export-Csv "C:\Audit\firewall-rules-$(Get-Date -Format 'yyyy-MM').csv" -NoTypeInformation

📊 Zusammenfassung: Firewall-Checkliste für VPS Windows

Aktion

PowerShell-Befehl / GUI-Standort

Überprüfen Sie den Status der Profile

Get-NetFirewallProfile | Select Name, Enabled

Firewall aktivieren (3 Profile)

Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True

Standardmäßig gesamten eingehenden Verkehr blockieren

Set-NetFirewallProfile -DefaultInboundAction Block

Eingehende Regel erstellen (Port)

New-NetFirewallRule -Direction Inbound -LocalPort XX -Action Allow

Ausgehende Regel erstellen (Port)

New-NetFirewallRule -Direction Outbound -LocalPort XX -Action Block

RDP auf eine IP beschränken

-LocalPort 3389 -RemoteAddress "X.X.X.X" -Action Allow

Logs aktivieren

Set-NetFirewallProfile -LogBlocked True -LogAllowed True

Aktive Regeln auflisten

Get-NetFirewallRule | Where-Object { $_.Enabled -eq "True" }

Eine Regel deaktivieren

Disable-NetFirewallRule -DisplayName "Name"

Eine Regel löschen

Remove-NetFirewallRule -DisplayName "Name"

Regeln exportieren (Backup)

netsh advfirewall export "C:\Backup\fw.wfw"

Port testen

Test-NetConnection -ComputerName localhost -Port XXXX


❓ FAQ

Was ist der Unterschied zwischen Windows Defender Firewall und einer Netzwerkfirewall?

Die Netzwerkfirewall (Infrastruktur-Ebene, bei OuiHeberg) filtert den Verkehr, bevor er Ihr VPS erreicht. Windows Defender Firewall arbeitet auf der OS-Ebene: Sie kontrolliert die Verbindungen programmweise, portweise, mit Regeln pro Netzwerkprofil. Beide sind komplementär: die eine ersetzt nicht die andere.

Wie öffne ich einen Port auf einem VPS Windows Server?

In PowerShell (Administrator):

New-NetFirewallRule -DisplayName "Allow-Port-XXXX" -Direction Inbound -Protocol TCP -LocalPort XXXX -Action Allow -Profile Any

Ersetzen Sie XXXX durch die Portnummer. Wenn der Port von außen nicht erreichbar bleibt, überprüfen Sie auch die Netzwerkfirewall von OuiHeberg in Ihrem Kundenbereich.

Meine Anwendung reagiert nicht, obwohl eine Regel geöffnet ist: Was tun?

Überprüfen Sie in dieser Reihenfolge:

  1. Test-NetConnection -ComputerName localhost -Port XXXX: Wird der Port abgehört?

  2. Entspricht das aktive Netzwerkprofil dem Profil der Regel?

  3. Schreibt eine allgemeinere Block-Regel Ihre Allow-Regel nicht aus?

  4. Kommt die Blockade von der Netzwerkfirewall von OuiHeberg (Test von außen)?

  5. Überprüfen Sie die Logs: Get-Content pfirewall.log | Where-Object { $_ -match "DROP" }

Sollte die Firewall auf allen Profilen (Domain, Privat, Öffentlich) aktiviert sein?

Ja, immer. Auf einem VPS ist das öffentliche Profil normalerweise aktiv. Wenn sich die Netzwerkkonfiguration ändert (Hinzufügen einer Schnittstelle, Beitritt zu einer Domäne), kann ein anderes Profil aktiviert werden. Die Aktivierung aller 3 Profile gewährleistet einen kontinuierlichen Schutz, unabhängig von der Situation.

Wie sichere ich meine Windows Server Firewall-Regeln?

netsh advfirewall export "C:\Backup\firewall-backup.wfw"

Um wiederherzustellen:

netsh advfirewall import "C:\Backup\firewall-backup.wfw"

Planen Sie diesen Export in einer Windows-Taskplanung vor jeder Wartung.

Welchen Port verwendet RDP standardmäßig und wie ändere ich ihn?

RDP verwendet standardmäßig den Port TCP 3389. Um ihn zu ändern:

  1. Ändern Sie den Registrierungsschlüssel: HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp → Wert PortNumber.

  2. Erstellen Sie eine neue Firewall-Regel, die den neuen Port von Ihrer IP erlaubt.

  3. Deaktivieren (oder löschen) Sie die Regel für den Port 3389.

  4. Starten Sie den Dienst TermService neu.

Bitte konsultieren Sie unser RDP-Verbindungsleitfaden für das detaillierte Verfahren.


🔗 Nützliche Quellen