Firewall

Last change on 2023-03-03 • Created on 2020-03-25 • ID: RO-316FA

Einführung

Hetzner Online hat mit der stateless Firewall eine kostenlose Sicherheitslösung für Ihre Dedicated Root Server implementiert. Sie haben in Ihrer Administrationsoberfläche Robot im Reiter Firewall Ihres Servers die Möglichkeit, Filterregeln für Ihren eingehenden und ausgehenden Datenverkehr zu definieren.

Die Firewall dient dazu, den Netzwerkzugriff basierend auf von Ihnen festgelegten Regeln zu beschränken. Sie überwacht den laufenden Datenverkehr und entscheidet anhand der Regeln, ob bestimmte Netzwerkpakete durchgelassen werden oder nicht. Auf diese Weise lassen sich unerlaubte Zugriffe unterbinden.

Insgesamt gilt: Die Funktion einer Firewall besteht nicht darin, Angriffe zu erkennen. Sie soll ausschließlich Regeln für die Netzwerkkommunikation umsetzen. Hetzner Online bietet Ihnen so neben dem DDoS-Schutz eine ergänzende Möglichkeit, Ihre Dedicated Root Server vor Gefahren aus dem Internet abzusichern.

Die Firewall für Dedicated Root Server im Robot wird auf dem Switch-Port konfiguriert. Standardmäßig filtert die Firewall nur IPv4-Datenverkehr, ein zusätzlicher IPv6-Filter kann über die Option IPv6-Pakete filtern aktiviert werden.

Wie aktiviere ich die Firewall?

Sie können die Firewall im Robot unter Hauptfunktionen -> Server -> Server auswählen -> Firewall aktivieren. Wird diese aktiviert und es sind noch keine Firewall Regeln hinterlegt, wird jeglicher eingehender Traffic blockiert.

Das Aktivieren der Firewall wird direkt umgesetzt und am Switch konfiguriert. Die Konfiguration dauert ca. 20 – 30 Sekunden.

Firewall aktiv

Firewall-Regeln

Pro Richtung können maximal 10 Regeln gesetzt werden.

Parameter

  • Name: Der Name kann frei vergeben werden. Lediglich Sonderzeichen sind nicht erlaubt
  • IP-Version: IPv4, IPv6 oder keine Angabe (*)
  • Protokoll: Auswahl des Protokolls (z.B. TCP oder UDP)
  • Ziel-IP und Quell-IP: IP-Adressen können entweder als Einzel-IPs oder als Subnetz in CIDR Notation angegeben werden (z.B. <192.168.0.1> oder <192.168.0.0/30>). Da die Firewall auf dem Switch-Port konfiguriert wird, gilt die Regel ohne Angabe der Ziel-IP für alle IP-Adressen des Servers.
  • Ziel-Port und Quell-Port: Die Ziel- und Quell-Ports können als Einzel-Port oder als Bereich angegeben werden (z.B. 80 oder 32768-65535).
  • TCP-Flags: TCP-Flags (syn, fin, rst, psh, urg) können einzeln oder als logische Kombination (| für logisches Oder = mindestens eines der Flags muss gesetzt sein; & für logisches Und = alle Flags müssen gesetzt sein) angegeben werden.
  • Aktion: Die Aktion definiert, was mit Paketen geschehen soll, die auf die Regel zutreffen, also ob das Paket verworfen werden soll (discard) oder an den Server weitergeleitet (accept) werden soll.

Priorisierung

Die Regeln werden genau in der Reihenfolge angelegt, wie sie im Robot definiert werden, und der Reihe nach von oben nach unten abgearbeitet. Sie können die Reihenfolge nachträglich über die grünen Pfeile am Ende der Regel ändern.

Trifft Regel #1 nicht zu, wird Regel #2 geprüft. Trifft diese ebenfalls nicht zu wird Regel #3 geprüft. Sobald eine Regel zutrifft, wird die Abarbeitung der Regeln beendet und das Paket entsprechend der definierten Aktion entweder verworfen oder weitergeleitet. Somit werden bei zutreffender Regel alle nachfolgenden Regeln nicht beachtet. Trifft keine der Regeln zu, wird das Paket verworfen.

Regel Priorisierung

Hetzner Dienste freigeben

Über die Checkbox Hetzner Services können Sie ohne zusätzliche Konfiguration alle wichtigen Infrastrukturdienste von Hetzner Online freigeben. Wenn diese Option aktiviert ist, werden Dienste wie beispielsweise das Hetzner Rescue-System, DNS, Storage Boxen, System Monitor(SysMon) nicht blockiert, sondern direkt freigegeben.

Bitte beachten Sie, dass die Infrastrukturdienste nur für eingehende Pakete freigeschaltet werden können. Sollten Sie auch ausgehende Pakete filtern, sind zusätzliche Regeln nötig, um die Antwortpakete Ihres Server zu den Hetzner-Diensten zu erlauben. Weitere Informationen finden Sie unter Hinweise zu stateless Firewall.

IPv6-Filter

Der IPv6-Filter kann über die Checkbox "IPv6-Filter" aktiviert werden.

Bitte beachten Sie, dass bei Aktivierung des IPv6-Filters sämtlicher IPv6 Traffic blockiert wird, wenn noch keine Regeln für IPv6 Pakete angelegt wurden.

Wenn Sie bei einer Regel keine IP-Version angeben, dann gilt die Regel sowohl für IPv4 als auch für IPv6.

Einschränkungen IPv6

  • Es ist nicht möglich, das Protokoll ICMPv6 zu filtern. ICMPv6 Traffic vom und zum Server ist immer erlaubt. Es ist notwendig, ICMPv6 standardmäßig zuzulassen, da ICMPv6 ein wichtiges Hilfsprotokoll ist und für den Betrieb von IPv6 zwingend erforderlich ist.
  • Bei Regeln mit IP-Version IPv6 oder keiner Angabe der IP-Version kann nicht auf Ziel- und Quell-IP-Adresse gefiltert werden.
  • Ohne Angabe der IP-Version kann nicht auf ein bestimmtes Protokoll gefiltert werden.

Hinweise zu stateless Firewall

Bei einer stateless Firewall wird die Entscheidung, was mit einem Paket passieren soll, immer nur anhand eines Paketes getroffen. Die Firewall merkt sich somit nicht, ob ein Paket zu einer bestehenden Verbindung gehört. Dies hat zur Folge, dass ohne zusätzliche Regeln vom Server ausgehende Verbindungen, und bei Filterung von ausgehenden Paketen auch zum Server eingehende Verbindungen, nicht mehr funktionieren, da die jeweiligen Antwortpakete in Gegenrichtung den Filter nicht mehr passieren können.

Eingehende Richtung

Ohne zusätzliche Regel können alle zum Server eingehenden Antwort-Pakete die Firewall nicht passieren.

Um generell alle Antworten auf TCP-Verbindungen zuzulassen, kann folgende Regel verwendet werden:

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: 32768-65535 (Ephemeral Port Range)
 Protokol: tcp
 TCP-Flags: ack
 Aktion: accept

Die Regel kann natürlich auch durch Angabe von IP-Adressen und TCP-Ports restriktiver gestalten werden.

Beispiel

In der Firewall sind folgende Regeln definiert:

Eingehend: Nur HTTP Pakete erlaubt

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: 80
 Protokol: tcp
 TCP-Flags: keine Angabe
 Aktion: accept

Ausgehend: Alles erlaubt

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: keine Angabe
 Protokol: *
 TCP-Flags: keine Angabe
 Aktion: accept

Der Server 1.2.3.4 baut eine Verbindung zum externen Webserver 4.3.2.1 auf und sendet folgendes TCP-Paket:

 Quell-IP: 1.2.3.4
 Ziel-IP: 4.3.2.1
 Quell-Port: 44563 (zufälliger Port aus der Ephemeral Port Range)
 Ziel-Port: 80
 Protokol: tcp
 TCP-Flags: syn

Dieses ausgehende Paket wird von der Firewall nicht blockiert, da im Beispiel nur eingehende Verbindungen gefiltert werden.

Der Webserver 4.3.2.1 antwortet mit folgendem Paket:

 Quell-IP: 4.3.2.1
 Ziel-IP: 1.2.3.4
 Quell-Port: 80
 Ziel-Port: 44563
 Protokol: tcp
 TCP-Flags: syn & ack

Dieses Paket wird ohne die zusätzliche Regel blockiert, eine Verbindung kann somit nicht aufgebaut werden.

Ausgehende Richtung

Ähnlich wie bei Eingehende Richtung gilt auch für die Gegenrichtung, dass Antwortpakete nicht automatisch freigeschaltet werden.

Wenn nur bestimmte ausgehende Pakete zugelassen sind, werden ohne weitere Regeln auch Antwortpakete vom Server auf Verbindungsanfragen an Server-Dienste die Firewall nicht mehr passieren können.

Sie können auch für die ausgehende Richtung eine allgemeine Regel hinzufügen, um alle Antwortpakete zuzulassen:

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: 32768-65535 (Ephemeral Port Range)
 Protokol: tcp
 TCP-Flags: ack
 Aktion: accept

Bitte beachten Sie, dass hier die Ephemeral Port Range aller Clients beachtet werden muss. Diese kann von der Range des Server abweichen.

Als weitere essentielle Freigabe empfiehlt sich auch, Pakete zum DNS-Dienst zuzulassen. Da die Option Hetzner Services nur bei eingehenden Regeln zur Verfügung steht, muss bei ausgehender Filterung dieser Traffic auch für Hetzner-DNS-Server freigeschaltet werden.

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: 53
 Protokol: udp
 TCP-Flags: keine Angabe
 Aktion: accept
Beispiel

In der Firewall sind folgende Regeln definiert:

Eingehend: Alles erlaubt

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: keine Angabe
 Protokol: *
 TCP-Flags: keine Angabe
 Aktion: accept

Ausgehend:

Nur HTTP und DNS Traffic erlaubt:

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: 80
 Protokol: tcp
 TCP-Flags: keine Angabe
 Aktion: accept
 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: keine Angabe
 Ziel-Port: 53
 Protokol: udp
 TCP-Flags: keine Angabe
 Aktion: accept

Der Client 4.3.2.1 baut eine Verbindung zu Ihrem HTTP Server 1.2.3.4 auf.

 Quell-IP: 4.3.2.1
 Ziel-IP: 1.2.3.4
 Quell-Port: 44563 (zufälliger Port aus der Ephemeral Port Range)
 Ziel-Port: 80
 Protokol: tcp
 TCP-Flags: syn

Dieses Paket kann die Firewall passieren, da eingehend sämtlicher Traffic erlaubt ist.

Der Server möchte mit einem SYN & ACK Paket auf die Verbindungsanfrage antworten:

 Quell-IP: 1.2.3.4
 Ziel-IP: 4.3.2.1
 Quell-Port: 80
 Ziel-Port: 44563
 Protokol: tcp
 TCP-Flags: syn & ack

Dieses Paket kann die Firewall in ausgehender Richtung nicht passieren, da ausgehend nur TCP Traffic zu Port 80 erlaubt ist.

Abhilfe schafft entweder eine allgemeine Regel wie oben beschrieben, oder eine spezielle Regel, um nur Antworten des Webservers zu erlauben:

 Quell-IP: keine Angabe
 Ziel-IP: keine Angabe
 Quell-Port: 80
 Ziel-Port: 32768-65535 (Ephemeral Port Range)
 Protokol: tcp
 TCP-Flags: ack
 Aktion: accept

Firewall-Vorlagen

Über den Button Firewall-Vorlagen in der Serverübersicht (Hauptfunktionen-> Server) können Sie eigene Regelsätze anlegen. Diese Regeln können anschließend über das Drop-Down Menü bei der Firewallkonfiguration der Server eingefügt und konfiguriert werden.

Zusätzlich sind standardmäßig einige Beispiel-Vorlagen für gängige Serverdienste vordefiniert.

API

Die Firewall kann auch über den Robot-Webservice (API) konfiguriert werden.

Table of Contents