For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/de/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/de/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/de/guides/bare-metal-cloud/dedicated-servers/firewall-linux-iptable.md.
Zum Inhalt springen

iptables auf einem Dedicated Server mit Linux konfigurieren

Als Markdown ansehen

Sichern Sie Ihren Dedicated Server, indem Sie Firewall-Regeln mit iptables konfigurieren, um den Netzwerkverkehr unter Linux zu filtern

Ziel

Ihr Dedicated Server ist mit einer Firewall ausgestattet. Firewalls errichten eine Barriere zwischen einem vertrauenswürdigen und einem nicht vertrauenswürdigen Netzwerk. Firewalls definieren Regeln, die sowohl zugelassenen als auch blockierten Traffic steuern. Das für Linux-Systeme entwickelte Firewall-Programm ist iptables.

Erfahren Sie, wie Sie einen Dedicated Server mit iptables absichern.

Warning

OVHcloud stellt Ihnen Dienstleistungen zur Verfügung, für deren Konfiguration und Verwaltung Sie die alleinige Verantwortung tragen. Es liegt somit bei Ihnen, sicherzustellen, dass diese ordnungsgemäß funktionieren.

Diese Anleitung soll Sie bei allgemeinen Aufgaben bestmöglich unterstützen. Dennoch empfehlen wir Ihnen, einen spezialisierten Dienstleister zu kontaktieren und/oder sich mit unserer Community auszutauschen, wenn Sie Schwierigkeiten oder Zweifel hinsichtlich der Verwaltung, Nutzung oder Sicherheit eines Servers haben.

Voraussetzungen

  • Sie verfügen über einen Dedicated Server in Ihrem OVHcloud Account.
  • Sie haben administrativen Zugriff (root/sudo) über SSH auf Ihren Server.

In der praktischen Anwendung

Info

Diese Anleitung führt die Befehle für eine Ubuntu-Server-Distribution auf.

Diese Anleitung ist allgemein gehalten. Je nach verwendeter Distribution und/oder verwendetem Betriebssystem müssen Sie einige Befehle möglicherweise anpassen. In einigen Tipps wird die Verwendung von Tools von Drittanbietern empfohlen. Wenn Sie Fragen zu deren Verwendung haben, lesen Sie bitte die offizielle Dokumentation dieser Tools.

Die meisten der in dieser Anleitung beschriebenen Regeln setzen voraus, dass Ihr iptables standardmäßig so konfiguriert ist, dass eingehender Traffic verworfen wird (DROP), und dass Sie eingehenden Traffic selektiv zulassen. Wenn Sie eine andere Art von Konfiguration einrichten möchten, empfehlen wir Ihnen, die weiterführende Dokumentation zu konsultieren.

Schritt 1: Ihr System aktualisieren

Die Entwickler von Distributionen und Betriebssystemen stellen häufig Updates für Softwarepakete bereit, sehr oft aus Sicherheitsgründen. Ihre Distribution oder Ihr Betriebssystem auf dem neuesten Stand zu halten, ist für die Sicherheit Ihres Servers unerlässlich.

Weitere Informationen finden Sie in unserer Anleitung Dedicated Server absichern.

Schritt 2: Die iptables-Firewall unter Ubuntu installieren

Info

Es gibt zwei verschiedene Versionen von iptables: für IPv4 und für IPv6. Die Regeln, die wir in diesem Tutorial zu iptables unter Linux behandeln, betreffen IPv4. Um iptables für IPv6 zu konfigurieren, müssen Sie das Dienstprogramm ip6tables verwenden. Diese beiden Protokolle funktionieren nicht zusammen und müssen unabhängig voneinander konfiguriert werden.

iptables ist auf den meisten Linux-Systemen standardmäßig installiert. Um sicherzustellen, dass iptables installiert ist, verwenden Sie folgenden Befehl:

sudo apt install iptables

In der Regel ist ein iptables-Befehl wie folgt aufgebaut:

sudo iptables [option] CHAIN_rule [-j target]

Hier eine Liste einiger gängiger iptables-Optionen:

  • -A --append: Fügt einer Kette eine Regel hinzu (am Ende).
  • -C --check: Sucht nach einer Regel, die den Anforderungen der Kette entspricht.
  • -D --delete: Entfernt die angegebenen Regeln aus einer Kette.
  • -F --flush: Löscht alle Regeln.
  • -I --insert: Fügt einer Kette an einer bestimmten Position eine Regel hinzu.
  • -L --list: Zeigt alle Regeln einer Kette an.
  • -N --new-chain: Erstellt eine neue Kette.
  • -v --verbose: Zeigt bei Verwendung einer Listenoption mehr Informationen an.
  • -X --delete-chain: Löscht die angegebene Kette.

Schritt 3: Den aktuellen Status von iptables prüfen

Um alle aktuellen Regeln auf Ihrem Server anzuzeigen, geben Sie folgenden Befehl im Terminalfenster ein:

sudo iptables -L

Das System zeigt den Status Ihrer Ketten an.

Die Ausgabe listet drei Ketten auf:

Ausgabe von sudo iptables -L mit den Ketten INPUT, FORWARD und OUTPUT

Schritt 4: Traffic auf localhost zulassen

Um Traffic von Ihrem eigenen System (dem localhost) zuzulassen, fügen Sie der INPUT-Kette eine Regel hinzu, indem Sie Folgendes eingeben:

sudo iptables -A INPUT -i lo -j ACCEPT

Dieser Befehl konfiguriert die Firewall so, dass sie Traffic für die Schnittstelle (-i) localhost (lo) akzeptiert. Ab sofort passiert alles, was von Ihrem System kommt, Ihre Firewall. Sie müssen diese Regel festlegen, damit Anwendungen mit der localhost-Schnittstelle kommunizieren können.

Schritt 5: Traffic auf bestimmten Ports zulassen

Diese Regeln lassen Traffic auf den verschiedenen Ports zu, die Sie mit den unten aufgeführten Befehlen angeben. Ein Port ist ein Endpunkt der Kommunikation, der für einen bestimmten Datentyp festgelegt ist.

Um HTTP-Webtraffic zuzulassen, geben Sie folgenden Befehl ein:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Um ausschließlich eingehenden SSH-Traffic (Secure Shell) zuzulassen, geben Sie Folgendes ein (beachten Sie, dass wir den Standard-SSH-Port 22 verwenden. Wenn Ihre Portnummer abweicht, passen Sie die Befehle entsprechend an):

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Um HTTPS-Internettraffic zuzulassen, geben Sie folgenden Befehl ein:

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Die Optionen funktionieren wie folgt:

  • -p: Prüft das angegebene Protokoll (tcp).
  • --dport: Gibt den Zielport an.
  • -j jump: Führt die Aktion aus.
Warning

Wenn Sie den Zugriff auf Ihren Server verlieren, können Sie jederzeit das KVM/IPMI-Tool verwenden, um wieder darauf zuzugreifen und Ihre Konfiguration zu ändern oder Ihre Regeln zu löschen.

Weitere Informationen zum Zugriff auf dieses Tool finden Sie in unserer Anleitung Verwendung der IPMI-Konsole für Dedicated Server.

Schritt 6: Traffic nach IP-Adresse steuern

Verwenden Sie folgenden Befehl, um Traffic von einer bestimmten IP-Adresse zu akzeptieren.

sudo iptables -A INPUT -s your_IP_address_to_authorise -j ACCEPT

Ersetzen Sie die IP-Adresse im Befehl durch die IP-Adresse, die Sie autorisieren möchten.

Sie können Traffic von einer IP-Adresse auch blockieren:

sudo iptables -A INPUT -s your_IP_address_to_block -j DROP

Ersetzen Sie die IP-Adresse im Befehl durch die IP-Adresse, die Sie blockieren möchten.

Mit folgendem Befehl können Sie Traffic aus einem IP-Adressbereich zurückweisen:

sudo iptables -A INPUT -m iprange --src-range your_start_IP_address-your_end_IP_address -j REJECT

Die in den Beispielen verwendeten iptables-Optionen funktionieren wie folgt:

  • -m: Lädt ein Match-Modul, hier iprange.
  • iprange: Prüft auf Übereinstimmung mit einem IP-Adressbereich statt mit einer einzelnen Adresse.
  • --src-range: Gibt den IP-Adressbereich an.

Schritt 7: Unerwünschten Traffic verwerfen

Bevor Sie den restlichen Traffic blockieren, lassen Sie die Antworten auf Verbindungen zu, die Ihr Server selbst aufbaut (Paketaktualisierungen, DNS-Anfragen usw.). Ohne diese Regel würden auch diese Antworten blockiert:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Wenn Sie Firewall-Regeln für iptables festlegen, müssen Sie unbefugten Zugriff verhindern, indem Sie den gesamten Traffic auf anderen Ports verwerfen:

sudo iptables -A INPUT -j DROP

Die Option -A fügt der Kette eine neue Regel hinzu. Wenn eine Verbindung über andere als die von Ihnen definierten Ports läuft, wird sie abgebrochen.

Warning

Wenn Sie diesen Befehl eingeben, bevor Sie Schritt 5 ausgeführt haben, blockieren Sie jeglichen Zugriff, einschließlich des aktuellen SSH-Zugriffs. Dies ist besonders problematisch bei einem Rechner, auf den Sie aus der Ferne zugreifen.

Schritt 8: Eine Regel löschen

Um eine Regel zu löschen, verwenden Sie ihre Zeilennummer.

Lassen Sie zunächst alle Regeln anzeigen, indem Sie Folgendes eingeben:

sudo iptables -L --line-numbers
Ausgabe von sudo iptables -L --line-numbers mit den Nummern der Regeln

Suchen Sie die Zeile der Firewall-Regel, die Sie entfernen möchten, und führen Sie diesen Befehl aus:

sudo iptables -D INPUT <Number>

Ersetzen Sie Number durch die Zeilennummer der Regel, die Sie löschen möchten.

Schritt 9: Ihre Änderungen speichern

Beim Neustart des Systems behält iptables die von Ihnen erstellten Regeln nicht bei. Wann immer Sie iptables unter Linux konfigurieren, gelten alle vorgenommenen Änderungen nur bis zum nächsten Neustart.

Auf Ubuntu-basierten Systemen sorgt das Paket iptables-persistent dafür, dass Ihre Regeln beim Systemstart wiederhergestellt werden. Installieren Sie es mit folgendem Befehl:

sudo apt install iptables-persistent
Info

Während der Installation werden Sie gefragt, ob die aktuellen IPv4- und IPv6-Regeln gespeichert werden sollen. Antworten Sie mit Yes, um die soeben erstellten Regeln beizubehalten.

Anschließend können Sie Ihre Regeln jederzeit mit folgendem Befehl speichern:

sudo netfilter-persistent save

Ihre IPv4-Regeln werden in die Datei /etc/iptables/rules.v4 geschrieben (und Ihre IPv6-Regeln in die Datei /etc/iptables/rules.v6).

Beim nächsten Systemstart lädt iptables die Firewall-Regeln automatisch neu.

Sie können nun grundlegende Firewall-Regeln mit iptables für Ihren Linux-Server konfigurieren. Experimentieren Sie ruhig, denn Sie können nicht benötigte Regeln jederzeit löschen oder alle Regeln auf einmal entfernen und von vorn beginnen.

Weiterführende Informationen

Aktivieren und Konfigurieren der Edge Network Firewall

DDoS-Angriffe mit dem Anti-DDoS-Dashboard überwachen

Treten Sie unserer User Community bei.

War diese Seite hilfreich?