Wie man die Windows Server-Firewall verwendet

Bevor wir direkt zur Konfiguration der Firewall übergehen, ein paar Worte zum Standardverhalten. Anders als bei Ubuntu, wo die Standard-UFW-Firewall zunächst inaktiv ist, ist bei Windows Server die Firewall zunächst aktiviert. Folgende Logik wird implementiert: Blockieren Sie alle eingehenden Verbindungen, außer die explizit erlaubten (zum Beispiel ist RDP standardmäßig erlaubt). Ausgehende Verbindungen sind erlaubt, außer den explizit verbotenen.
Die Windows-Firewall ermöglicht es, verschiedene Profile mit unterschiedlichen Regeln zu erstellen und bei Bedarf schnell zwischen ihnen zu wechseln. Standardmäßig werden drei Profile erstellt:
- Domänenprofil,
- Privates Profil,
- Öffentliches Profil.
Das Domänenprofil ist für Computer und Server vorgesehen, die innerhalb einer AD (Active Directory) Domäne arbeiten. Das private Profil ist geeignet für Systeme, die sich in einem geschützten Netzwerksegment befinden. Das öffentliche Profil ist anwendbar für die Arbeit in öffentlichen Netzwerken mit dem maximalen Grad an externen Bedrohungen.
Der Systemadministrator kann vorab einen Satz von Regeln für jedes Profil auswählen, der für jedes der aufgelisteten Szenarien am effektivsten ist. Dies hilft, den Server einfach durch Umschalten des Firewall-Profils vor Angriffen zu schützen. Bitte beachten Sie, dass der Satz von Regeln für jedes Profil je nach aktueller Rolle des Servers unterschiedlich sein kann.
Es gibt mehrere Möglichkeiten, Firewall-Regeln zu verwalten. Der einfachste Weg, dies zu tun, ist die Verwendung der WF (Windows Firewall mit erweiterter Sicherheit) Konsole. Die Verwaltung ist auch möglich mit GPMC (Group Policy Management Console) oder durch PowerShell-Befehle. Beginnen wir mit der letzten Methode.
Regelverwaltung über Powershell
Viele Anleitungen zur Einrichtung einer Firewall mit Powershell beinhalten die netsh firewall und netsh advfirewall firewall Befehle. Beide Befehle sind jedoch seit langer Zeit veraltet, daher empfehlen wir die Verwendung einer moderneren Methode. Mit Powershell, ab Version 5.1, enthält ein eingebautes Modul NetSecurity viele native Powershell-Befehle (Cmdlets). Sie können diese auflisten, indem Sie den folgenden Befehl verwenden:
Get-Command -Module NetSecurity
Jedes der aufgelisteten Cmdlets hilft Ihnen, alle Parameter der Firewall flexibel zu verwalten. Zuerst sehen wir uns an, welchen Befehl Sie verwenden können, um die Firewall zu aktivieren oder zu deaktivieren:
Set-NetFirewallProfile -All -Enabled True
In diesem Befehl bedeutet das Argument -All, dass alle verfügbaren Profile angewendet werden sollen. Stattdessen können Sie ein bestimmtes Profil festlegen, beispielsweise -Profile Private. Um die Firewall vollständig zu deaktivieren, verwenden Sie denselben Befehl; ändern Sie einfach den Wert von -Enabled zu False:
Set-NetFirewallProfile -All -Enabled False
Wenn die Firewall aktiviert ist, gelten alle Regeln für alle Netzwerkschnittstellen im System. In diesem Fall ist es möglich, ein Profil für eine bestimmte Schnittstelle zu deaktivieren, indem man das Cmdlet Set-NetFirewallProfile verwendet:
Set-NetFirewallProfile -Name Public -DisabledInterfaceAliases "Ethernet0"
Mit demselben Cmdlet können Sie auch andere Profileinstellungen ändern, insbesondere das Logging aktivieren und dessen Parameter, wie die Größe und den Pfad zur Logdatei, konfigurieren.
Cmdlets mit NetFirewallRule im Namen sind für die Verwaltung von Firewall-Regeln verantwortlich. In diesem Fall arbeitet ein separates Cmdlet für jede Aktion. Zum Beispiel müssen Sie für das Erstellen einer neuen Regel den Befehl New-NetFirewallRule verwenden und zum Löschen einer Regel Remove-NetFirewallRule. Das ist einfach zu merken und allgemein sehr logisch.
Angenommen, Sie möchten die Möglichkeit einschränken, eine RDP-Verbindung zu einem Server von einer bestimmten IP-Adresse (zum Beispiel 10.0.0.2) herzustellen:
New-NetFirewallRule -DisplayName "AllowRDP" -RemoteAddress 10.0.0.2 -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow
Aber was ist, wenn Sie Verbindungen zum Server nicht von einer bestimmten Adresse, sondern von einer Adressreihe zulassen müssen? In diesem Fall müssen Sie folgendermaßen vorgehen: Definieren Sie zuerst eine Variable und weisen Sie ihr die Werte des Adressbereichs zu, und geben Sie dann eine Variable anstelle einer bestimmten Adresse an. Wir weisen der Variable $allowedips den Bereich 10.0.0.2-10.0.0.254 zu:
$allowedips = @("10.0.0.2-10.0.0.254")
Jetzt können Sie die Regel anwenden:
New-NetFirewallRule -DisplayName "AllowRDP" -RemoteAddress $allowedips -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow
Stellen Sie sich vor, Sie haben nicht einen bestimmten Adressbereich, sondern ein dediziertes Register von Adressen, die eine unbegrenzte RDP-Verbindung zum Server erhalten müssen. Um zu vermeiden, dass Sie Regeln einzeln erstellen müssen, können Sie sie in eine Textdatei laden (eine Adresse pro Zeile) und dann alle Werte in eine Variable setzen. Und auch, wie in der vorherigen Regel, geben Sie diese Variable als Wert -RemoteAddress an. Zum Beispiel haben wir die Liste der Adressen in die Datei C:\Users\Administrator\Downloads\AllowedIPs.txt heruntergeladen
Lesen Sie die Datei und setzen Sie ihren Inhalt in die Variable $allowedlist:
$allowedlist = Get-Content C:\Users\Administrator\Downloads\AllowedIPs.txt
Erstellen Sie eine Regel:
New-NetFirewallRule -DisplayName "AllowRDP" -RemoteAddress $allowedlist -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow
Das ist eine sehr praktische Möglichkeit, die Windows-Firewall mit anderen Systemen zu automatisieren. Beispielsweise können Sie automatisch eine Liste von IP-Adressen sammeln, die legitimen Nutzern zugewiesen wurden, und nur Verbindungen zu Unternehmenssystemen von diesen Adressen zulassen. Solche Lösungen erleichtern das Leben erheblich und es wird deutlich weniger Zeit für die Verwaltung von Berechtigungen aufgewendet.
Powershell hat leistungsfähige Werkzeuge zum einfachen Anzeigen von Daten. Wenn Sie sehen möchten, welche Firewall-Regeln derzeit für eingehende Verbindungen aktiviert sind, können Sie diesen Befehl verwenden:
Get-NetFirewallRule -Action Allow -Enabled True -Direction Inbound |
Format-Table -Property Name,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled,Profile,Direction,Action
Regelverwaltung über WF
Die zweite Möglichkeit, die Firewall zu konfigurieren, ist die Standard-Konsole der Windows Defender Firewall mit erweiterter Sicherheit. Um sie zu nutzen, drücken Sie einfach die Tastenkombination Win + R und geben Sie den Befehl wf.msc ein.
Das sich öffnende Konsolenfenster lässt sich in drei Abschnitte unterteilen. Der linke Abschnitt ermöglicht es dem Systemadministrator, die Bearbeitung von ausgehenden oder eingehenden Verkehrsregeln, Verbindungs-Sicherheitsregeln und Überwachungseinstellungen auszuwählen. Der mittlere Abschnitt zeigt die Regeln oder Einstellungen selbst an. Der rechte Abschnitt zeigt die verfügbaren Aktionen an, je nachdem, welche Regeln oder Einstellungen ausgewählt wurden.

Standardmäßig werden die globalen Firewall-Einstellungen angezeigt, insbesondere die aktiven Profile und kurze Informationen über die aktuelle Logik der Firewall. Wenn Sie einmal einen Satz von Einstellungen erstellen, können Sie ihn leicht auf einen anderen Server klonen oder ihn sogar auf viele kontrollierte Server gleichzeitig anwenden, zum Beispiel innerhalb einer Domäne. Dazu können Sie die Optionen zum Import und Export von Einstellungen nutzen.
Wenn Sie auf den Punkt Export policy klicken, lädt das System alle Regeln in eine spezielle Datei mit WFW-Erweiterung herunter. Diese Datei kann auf einem anderen Server in dieselbe Konsole importiert werden. Auch die Regeln aus dieser Datei können als Teil der Gruppenrichtlinieneinstellungen mit dem aktuellen Satz von Regeln zusammengeführt werden, über die entsprechende Systemkonsole. Aber zuerst werfen wir einen Blick auf die Benutzeroberfläche und erstellen eine einzelne Regel für eingehenden Datenverkehr.
Klicken Sie mit der rechten Maustaste auf Inbound Rules und wählen Sie New Rule:

Als nächstes gibt es 4 mögliche Optionen für die Regelarbeit. Die Windows-Firewall kann so konfiguriert werden, dass sie mit einer bestimmten Anwendung arbeitet. Dies ist sehr praktisch, wenn eine Anwendung zufällige Ports innerhalb eines bestimmten Bereichs öffnen kann. Also, anstatt den Verkehr auf Portbereiche zu beschränken, können Sie eine bestimmte Anwendung wählen und die Firewall wird dafür sorgen, dass die angewendeten Regeln eingehalten werden.
Die zweite Option eignet sich, um den Zugriff auf einen bestimmten Port oder eine Reihe von Ports zu erlauben oder zu verweigern. Die einfachste Option, aber sie berücksichtigt nicht, welche Anwendung den angegebenen Port verwenden wird. Die dritte Option (Vordefiniert) wird eine Dropdown-Liste mit typischen Einstellungssätzen freischalten. Das kann viel Zeit bei der Durchführung von Standardaufgaben sparen.
Und schließlich gibt die letzte Option (Benutzerdefiniert) dem Administrator die Möglichkeit, eine beliebige Regel mit beliebigen Kombinationen der verfügbaren Parameter zu erstellen. Sie sollten jedoch sehr vorsichtig sein, um nicht versehentlich Ihren Remote-Zugriff auf den Server zu blockieren. Als Beispiel zeigen wir, wie eine Regel erstellt wird, die Verbindungen auf Port 7777 erlaubt, auf dem ein vorgestarteter Dienst läuft. Wählen Sie den Punkt Port aus:

In der nächsten Dialogbox können Sie auswählen, welches Protokoll die Regel verwenden wird, und auch die Nummern sowohl einzelner Ports als auch Bereiche angeben:

Als nächstes müssen Sie dem System mitteilen, was mit den Verbindungen geschehen soll, die zu den zuvor angegebenen Ports kommen. Sie können entweder die Verbindung erlauben oder ablehnen. Es besteht außerdem die Möglichkeit, die Verbindung zu erlauben, wenn sie durch IPsec geschützt ist:

Anschließend müssen Sie auswählen, welchem Sicherheitsprofil die von Ihnen erstellte Regel hinzugefügt werden soll. Sie können ein oder mehrere Profile auswählen:

Es bleibt der letzte Schritt, in dem Sie einen spezifischen Namen und eine Beschreibung für die neue Regel festlegen können, danach müssen Sie auf die Schaltfläche Finish klicken:

Die erstellte Regel kann im rechten Abschnitt mit den Elementen Enable Rule und Disable Rule aktiviert oder deaktiviert werden:

Regelverwaltung über GPMC
Diese Methode funktioniert gut, wenn dieselben Firewall-Einstellungen auf mehrere Server verteilt werden sollen. In diesem Fall müssen Sie natürlich berücksichtigen, dass der Server als Domänencontroller fungieren muss. Um zu beginnen, müssen Sie die Group Policy Management Console öffnen, indem Sie die Tastenkombination Win + R drücken und den Befehl gpmc.msc eingeben. Öffnen Sie einen Domänenbaum, klicken Sie dann mit der rechten Maustaste auf Default Domain Policy > Edit

Wählen Sie im linken Abschnitt Computer Configuration > Policies > Administrative Templates > Network > Network Connections > Windows Defender > Firewall > Domain profile aus

Setzen Sie die Richtlinie Windows Defender Firewall: Protect all network connections auf den Status Enabled:

Gehen Sie zu Computer Configuration > Windows Settings > Security Settings und öffnen Sie die Eigenschaften von Windows Firewall with Advanced Security:

Setzen Sie für jede der drei Standard-Profile-Reiter (Domäne, Privat und Öffentlich) den Firewall-Zustand auf On (Empfohlen). Dort können Sie die Logik der Profile nach Wunsch ändern:

In demselben Dialogfeld können Sie die Logging-Option aktivieren, die standardmäßig deaktiviert ist. Damit können Sie nachverfolgen, welche Pakete von der Firewall abgelehnt wurden oder zum Beispiel, welche Verbindungen durch die Firewall-Regeln erlaubt wurden und erfolgreich hergestellt wurden. Sofern nicht anders angegeben, wird die Logdatei hier gespeichert:
%SYSTEMROOT%\System32\logfiles\firewall\pfirewall.log

Wenn Sie die Liste der verfügbaren Optionen in Windows Defender Firewall with Advanced Security erweitern, sehen Sie die bereits bekannte Struktur der oben beschriebenen Konsole. Hier können Sie Regeln für eingehenden und ausgehenden Datenverkehr verwalten sowie Regeln im WFW-Format importieren und exportieren:

Siehe auch:
Aktualisiert: 28.03.2025
Veröffentlicht: 22.07.2024