VPS

Iptables Tutorial: VPS mit der Linux-Firewall absichern

VPS·22. März 2026·29 Min. Lesezeit

Suchen Sie ein umfassendes iptables-Tutorial? Dieser Artikel zeigt Ihnen, wie Sie iptables auf einem Ubuntu-System installieren und verwenden, um Ihr Netzwerk zu schuetzen.

iptables ist ein Linux-Befehlszeilen-Firewall-Dienstprogramm, das Richtlinienketten verwendet, um Datenverkehr zu erlauben oder zu blockieren. Wenn eine Verbindung versucht, sich auf Ihrem System zu etablieren, sucht iptables in seiner Liste nach einer passenden Regel. Findet es keine, greift es auf die Standardaktion zurueck.

iptables ist auf den meisten Linux-Distributionen vorinstalliert. Falls nicht, fuehren Sie folgenden Befehl zur Installation aus:

Iptables ist ein Firewall-Programm fuer Linux. Es ueberwacht den Datenverkehr von und zu Ihrem Server mithilfe von Tabellen. Diese Tabellen enthalten Regelsammlungen, sogenannte Ketten, die eingehende und ausgehende Datenpakete filtern.

Wie funktioniert Iptables?

Wenn ein Paket einer Regel entspricht, wird ihm ein Ziel zugewiesen, das eine andere Kette oder einer dieser speziellen Werte sein kann:

Dieses Tutorial hilft Ihnen zu verstehen, wie iptables funktioniert und wie Sie es zum Schutz Ihres VPS verwenden.Wie Iptables funktioniertDer gesamte Netzwerkverkehr besteht aus Paketen. iptables identifiziert diese Pakete und prueft sie gegen eine Reihe von Regeln, fuehrt dann die entsprechende Aktion aus.

iptables filtert Pakete basierend auf:- Tabellen

: Tabellen sind Dateien, die aehnliche Aktionen zusammenfassen. Eine Tabelle besteht aus mehreren Ketten.- Ketten

: Eine Kette ist eine Reihe von Regeln. Wenn ein Paket empfangen wird, findet iptables die entsprechende Tabelle und filtert es durch die Regelkette, bis eine Uebereinstimmung gefunden wird.

- Regeln: Eine Regel ist eine Anweisung, die dem System sagt, was mit einem Paket zu tun ist. Regeln koennen einen Pakettyp blockieren oder an einen anderen Typ weiterleiten.

- Ziele: Ein Ziel ist die Entscheidung, die getroffen wird, wenn ein Paket einer Regel entspricht. Ziele sind ACCEPT, DROP, REJECT oder QUEUE.

Die drei Standardketten von iptables sind:- INPUT: Kontrolliert eingehende Pakete an den Server.- FORWARD: Filtert Pakete, die an einen anderen Ort weitergeleitet werden.

- OUTPUT: Filtert Pakete, die den Server verlassen.

Lassen Sie uns nun einige praktische iptables-Befehle erkunden.Aktuellen Iptables-Status ueberpruefen

Um den aktuellen Status der iptables-Konfiguration zu ueberpruefen, fuehren Sie aus:

Wir werden dieses iptables-Tutorial in drei Schritte unterteilen. Zuerst lernen Sie, wie Sie das Tool unter Ubuntu installieren. Zweitens zeigen wir Ihnen, wie Sie die Regeln definieren. Zuletzt fuehren wir Sie durch das Vornehmen dauerhafter Aenderungen in iptables.

1. Iptables installieren

Iptables ist auf den meisten Linux-Distributionen vorinstalliert. Wenn Sie es jedoch nicht standardmaessig auf Ihrem Ubuntu/Debian-System haben, folgen Sie den nachstehenden Schritten:

Der Parameter -L listet alle Regeln auf, waehrend -v detaillierte Informationen liefert.

Datenverkehr auf Localhost aktivieren

```bash

sudo apt-get update

sudo apt-get install iptables

```

Dies ist essenziell, damit Anwendungen, die mit dem Localhost kommunizieren, korrekt funktionieren.

```bash

sudo iptables -L -v

```

Hier wird die Option `-L` verwendet, um alle Regeln aufzulisten, und `-v` dient dazu, die Informationen detaillierter anzuzeigen.

Sie erhalten ein aehnliches Ergebnis wie das Folgende:

```plaintext

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

```

Jetzt haben Sie die Linux-iptables-Firewall installiert. An diesem Punkt werden Sie feststellen, dass alle Ketten auf ACCEPT gesetzt sind und keine Regeln haben. Dies ist nicht sicher, da jedes Paket ungehindert passieren kann.

Datenverkehr blockieren

Um Datenverkehr von einer bestimmten IP-Adresse abzulehnen:

Eine Regel zu definieren bedeutet, sie zur Kette hinzuzufuegen. Dazu muessen Sie die Option `-A` (Append) direkt nach dem iptables-Befehl einfuegen, wie folgt:

```bash

sudo iptables -A

```

Dies teilt iptables mit, dass Sie neue Regeln zu einer Kette hinzufuegen. Anschliessend koennen Sie den Befehl mit anderen Optionen kombinieren, wie:

- `-i` (Schnittstelle): Die Netzwerkschnittstelle, deren Datenverkehr Sie filtern moechten, wie eth0, lo, ppp0 usw.

- `-p` (Protokoll): Das Netzwerkprotokoll, ueber das Ihr Filterprozess ausgefuehrt wird. Es kann tcp, udp, udplite, icmp, sctp, icmpv6 und mehr sein. Alternativ koennen Sie "all" schreiben, um alle Protokolle auszuwaehlen.

Oder einen Portbereich blockieren:

- `--dport` (Zielport): Die Zielportnummer eines Protokolls, wie 22 (SSH), 443 (https) usw.

- `-j` (Ziel): Der Name des Ziels (ACCEPT, DROP, RETURN). Sie muessen dies jedes Mal einfuegen, wenn Sie eine neue Regel erstellen.

Wenn Sie alle diese Parameter verwenden moechten, muessen Sie den Befehl in dieser Reihenfolge schreiben:

```bash

sudo iptables -A <cadena> -i <interfaz> -p <protocolo (tcp/udp)> -s <origen> --dport <número de puerto> -j <destino>

```

Sobald Sie die grundlegende Syntax verstehen, koennen Sie damit beginnen, die Firewall zu konfigurieren, um Ihrem Server mehr Sicherheit zu verleihen. Fuer dieses iptables-Tutorial verwenden wir die Kette "INPUT" als Beispiel.

Datenverkehr auflocalhost

Um den Datenverkehr auflocalhost aktivieren, geben Sie folgenden Befehl ein:

```bash

sudo iptables -A INPUT -i lo -j ACCEPT

```

Fuer dieses iptables-Tutorial verwenden wir "lo" oder die Loopback-Schnittstelle. Sie wird fuer alle Kommunikationen auflocalhostDie aktuellen Regeln werden automatisch gespeichert. Um zukuenftige Aenderungen zu speichern, fuehren Sie aus:

Verbindungen auf den Ports HTTP, SSH und SSL aktivieren

Als naechstes moechten wir, dass die Verbindungen http (Port 80), https (Port 443) und ssh (Port 22) wie gewohnt funktionieren. Dazu muessen wir das Protokoll (-p) und den entsprechenden Port (--dport) angeben. Sie koennen diese Befehle nacheinander ausfuehren:

```bash

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

ACCEPT

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

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

```

Es ist Zeit zu ueberpruefen, ob die Regeln in iptables hinzugefuegt wurden:

```bash

sudo iptables -L -v

```

Es sollte die folgenden Ergebnisse zurueckgeben, was bedeutet, dass alle TCP-Protokollverbindungen von den angegebenen Ports akzeptiert werden:

```plaintext

La aceptación del puerto de destino en iptables que consiste en http, https y ssh

```

Pakete nach Quelle filtern

Iptables ermoeglicht es Ihnen, Pakete anhand einer IP-Adresse oder eines IP-Adressbereichs zu filtern. Sie muessen es nach der Option `-s` angeben. Um beispielsweise Pakete von 192.168.1.3 zu akzeptieren, waere der Befehl:

```bash

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

```

Sie koennen auch Pakete von einer bestimmten IP-Adresse ablehnen, indem Sie das Ziel ACCEPT durch DROP ersetzen.

```bash

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

```

Wenn Sie Pakete aus einem IP-Adressbereich ablehnen moechten, muessen Sie die Option `-m` und das Modul iprange verwenden. Geben Sie dann den IP-Adressbereich mit --src-range an. Denken Sie daran, ein Bindestrich muss den IP-Adressbereich ohne Leerzeichen trennen, so:

```bash

sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j DROP

```

Das Filtern von Paketen nach ihren Quellen ist entscheidend, wenn Sie ein Intrusion Detection and Prevention System (IDS/IPS) wie Suricata verwenden. Dieses Tool ueberwacht das Netzwerk Ihres VPS und benachrichtigt Sie ueber boesartigen Datenverkehr.

Das IDS/IPS zeigt die Urspruenge boesartiger Pakete an, die Sie zur Sperrliste von iptables hinzufuegen koennen. Lesen Sie unseren Artikel, um mehr ueber die Konfiguration von Suricata unter Ubuntu zu erfahren.

Allen anderen Datenverkehr blockieren

Es ist entscheidend, das Ziel DROP fuer allen anderen Datenverkehr zu verwenden, nachdem Sie --dport-Regeln definiert haben. Dies verhindert, dass eine nicht autorisierte Verbindung ueber andere offene Ports auf den Server zugreift. Geben Sie dazu einfach ein:

```bash

sudo iptables -A INPUT -j DROP

```

Jetzt wird die Verbindung ausserhalb der angegebenen Ports blockiert.

Regeln loeschen

Wenn Sie alle Regeln loeschen und von vorne beginnen moechten, koennen Sie die Option -F (flush) verwenden:

```bash

sudo iptables -F

```

Dieser Befehl loescht alle aktuellen Regeln. Um jedoch eine bestimmte Regel zu loeschen, muessen Sie die Option -D verwenden. Zuerst muessen Sie alle verfuegbaren Regeln anzeigen, indem Sie folgenden Befehl eingeben:

```bash

sudo iptables -L --line-numbers

```

Sie erhalten eine Liste von Regeln mit Nummern:

```plaintext

Cadena INPUT (política ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 192.168.0.4 anywhere

2 ACCEPT tcp -- anywhere anywhere tcp dpt:https

3 ACCEPT tcp -- anywhere anywhere tcp dpt:http

4 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh

```

Um eine Regel zu loeschen, geben Sie die entsprechende Kette und die Nummer aus der Liste ein. Nehmen wir an, fuer dieses iptables-Tutorial moechten wir die Regel Nummer drei der Kette "INPUT" entfernen. Der Befehl waere:

```bash

sudo iptables -D INPUT 3

```

Alternativ, wenn Sie nur den eingehenden Datenverkehr filtern muessen, koennen Sie die VPS-Firewall von Holy verwenden. Waehlen Sie Ihren VPS und navigieren Sie zum Firewall-Bereich:

Fazit

Iptables ist ein leistungsstarkes Firewall-Programm, mit dem Sie Ihren Linux-Server oder VPS schuetzen koennen. Das Beste daran ist, dass Sie verschiedene Regeln nach Ihren Vorstellungen definieren koennen.

In diesem iptables-Tutorial haben Sie gelernt, wie Sie das Tool installieren und verwenden. Nun hoffen wir, dass Sie Ihre Regelsammlungen verwalten koennen, um eingehende und ausgehende Pakete zu filtern.

Es ist Zeit, es selbst auszuprobieren und viel Erfolg!

Hast du noch Fragen?

Komm mit uns ins Gespräch und wir melden uns so schnell wie möglich bei dir!

Support kontaktieren