GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Iptables-Tutorial – Sichern von Ubuntu VPS mit Linux-Firewall

Suchen Sie nach einem vollständigen iptables-Tutorial? Bleiben Sie dran. In diesem Artikel zeigen wir Ihnen, wie Sie iptables auf dem Ubuntu-System installieren und verwenden. Wenn Sie sich mit diesem Linux-Firewall-Tool vertraut machen, können Sie Ihren Linux-VPS über die Befehlszeilenschnittstelle sichern.

Was ist Iptables und wie funktioniert es?

Einfach ausgedrückt ist iptables ein Firewall-Programm für Linux. Es überwacht den Datenverkehr von und zu Ihrem Server mithilfe von Tabellen . Diese Tabellen enthalten Regelsätze , genannt Ketten , das eingehende und ausgehende Datenpakete filtert.

[optin-monster-shortcode id=”fv4lqeko3gylvecpszws”]

Wenn ein Paket entspricht einer Regel , erhält es ein Ziel , die eine andere Kette oder einer dieser speziellen Werte sein kann:

  • AKZEPTIEREN – lässt das Paket passieren.
  • LÖSCHEN – lässt das Paket nicht passieren.
  • ZURÜCK – hindert das Paket daran, eine Kette zu durchlaufen, und weist es an, zur vorherigen Kette zurückzukehren.

In diesem iptables-Tutorial werden wir mit einer der Standardtabellen namens filter arbeiten . Es besteht aus drei Ketten:

  • EINGABE – steuert eingehende Pakete zum Server.
  • WEITER – filtert eingehende Pakete, die woanders weitergeleitet werden.
  • AUSGABE – Pakete filtern, die von Ihrem Server ausgehen.

Bevor wir mit dieser Anleitung beginnen, vergewissern Sie sich, dass Sie über SSH root verfügen oder sudo Zugriff auf Ihren Computer, der auf Ubuntu 16.04 oder höher läuft. Sie können die Verbindung über PuTTY (Windows) oder Terminal Shell (Linux, macOS) herstellen. Wenn Sie Hostinger VPS besitzen, können Sie die SSH-Anmeldedaten auf der Registerkarte „Server“ von hPanel abrufen.

Wichtig! iptables-Regeln gelten nur für ipv4 . Wenn Sie eine Firewall für die ipv6 einrichten möchten Protokoll müssen Sie ip6tables verwenden stattdessen.

So installieren und verwenden Sie die Iptables-Linux-Firewall

Wir werden dieses iptables-Tutorial in drei Schritte unterteilen. Zunächst erfahren Sie, wie Sie das Tool unter Ubuntu installieren. Zweitens zeigen wir Ihnen, wie Sie die Regeln definieren. Zuletzt werden wir Sie anleiten, dauerhafte Änderungen an iptables vorzunehmen.

Schritt 1 – Iptables installieren

Iptables ist in den meisten Linux-Distributionen vorinstalliert. Wenn Sie es jedoch nicht standardmäßig im Ubuntu/Debian-System haben, führen Sie die folgenden Schritte aus:

  1. Verbinden Sie sich über SSH mit Ihrem Server. Wenn Sie es nicht wissen, können Sie unser SSH-Tutorial lesen.
  2. Führen Sie nacheinander den folgenden Befehl aus:
    sudo apt-get update
    sudo apt-get install iptables
  3. Überprüfen Sie den Status Ihrer aktuellen iptables-Konfiguration, indem Sie Folgendes ausführen:
    sudo iptables -L -v

    Hier das-L Option wird verwendet, um alle Regeln aufzulisten, und -v dient zum Anzeigen der Informationen in einem detaillierteren Format. Unten ist die Beispielausgabe:

    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

Sie haben jetzt die Linux-Firewall installiert. An dieser Stelle können Sie feststellen, dass alle Ketten auf AKZEPTIEREN gesetzt sind und haben keine Regeln. Dies ist nicht sicher, da jedes Paket ohne Filterung durchkommen kann.

Mach dir keine Sorgen. Wir erklären Ihnen im nächsten Schritt unseres iptables-Tutorials, wie Sie Regeln definieren.

Schritt 2 – Kettenregeln definieren

Eine Regel zu definieren bedeutet, sie an die Kette anzuhängen. Dazu müssen Sie das -A einfügen Option (Anhängen ) direkt nach dem iptables-Befehl, etwa so:

sudo iptables -A

Es wird iptables darauf aufmerksam machen, dass Sie einer Kette neue Regeln hinzufügen. Dann können Sie den Befehl mit anderen Optionen kombinieren, wie zum Beispiel:

  • -ich (Schnittstelle ) – die Netzwerkschnittstelle, deren Datenverkehr Sie filtern möchten, z. B. eth0, lo, ppp0 usw.
  • -p (Protokoll ) – das Netzwerkprotokoll, in dem Ihr Filterprozess stattfindet. Es kann entweder tcp sein , udp , udplite , icmp , sctp , icmpv6 , und so weiter. Alternativ können Sie alle eingeben jedes Protokoll auszuwählen.
  • -s (Quelle ) – die Adresse, von der der Datenverkehr kommt. Sie können einen Hostnamen oder eine IP-Adresse hinzufügen.
  • –dport (Zielport ) – die Zielportnummer eines Protokolls, z. B. 22 (SSH ), 443 (https ) usw.
  • -j (Ziel ) – der Zielname (ACCEPT , LÖSCHEN , ZURÜCK ). Sie müssen dies jedes Mal einfügen, wenn Sie eine neue Regel erstellen.

Wenn Sie alle verwenden möchten, müssen Sie den Befehl in dieser Reihenfolge schreiben:

sudo iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.>  -j <target>

Sobald Sie die grundlegende Syntax verstanden haben, können Sie mit der Konfiguration der Firewall beginnen, um Ihrem Server mehr Sicherheit zu verleihen. Für dieses iptables-Tutorial verwenden wir die INPUT Kette als Beispiel.

Aktivieren des Datenverkehrs auf Localhost

Um Datenverkehr auf localhost zuzulassen, geben Sie diesen Befehl ein:

sudo iptables -A INPUT -i lo -j ACCEPT

Für dieses iptables-Tutorial verwenden wir lo oder Loopback Schnittstelle. Es wird für die gesamte Kommunikation auf dem Localhost verwendet. Der obige Befehl stellt sicher, dass die Verbindungen zwischen einer Datenbank und einer Webanwendung auf demselben Computer ordnungsgemäß funktionieren.

Aktivieren von Verbindungen auf HTTP-, SSH- und SSL-Port

Als nächstes wollen wir http (Port 80 ), https (Port 443 ) und ssh (Port 22 ) Verbindungen wie gewohnt funktionieren. Dazu müssen wir das Protokoll angeben (-p ) und den entsprechenden Port (–dport ). Sie können diese Befehle nacheinander ausführen:

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 überprüfen, ob die Regeln in iptables angehängt wurden:

sudo iptables -L -v

Es sollte mit den folgenden Ergebnissen zurückkehren, was bedeutet, dass alle TCP-Protokollverbindungen von den angegebenen Ports akzeptiert werden:

Pakete basierend auf der Quelle filtern

Mit Iptables können Sie Pakete basierend auf einer IP-Adresse oder einem Bereich von IP-Adressen filtern. Sie müssen es nach dem -s angeben Möglichkeit. Zum Beispiel, um Pakete von 192.168.1.3 zu akzeptieren , wäre der Befehl:

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

Sie können auch Pakete von einer bestimmten IP-Adresse ablehnen, indem Sie ACCEPT ersetzen Ziel mit DROP .

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

Wenn Sie Pakete von einer Reihe von IP-Adressen verwerfen möchten, müssen Sie das -m verwenden Option und iprange Modul. Geben Sie dann den IP-Adressbereich mit –src-range an . Denken Sie daran, dass ein Bindestrich den Bereich der IP-Adressen ohne Leerzeichen trennen sollte, wie hier:

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

Verwerfen des gesamten anderen Traffics

Es ist wichtig, den DROP zu verwenden Ziel für den gesamten anderen Datenverkehr nach der Definition von –dport Regeln. Dadurch wird verhindert, dass eine nicht autorisierte Verbindung über andere offene Ports auf den Server zugreift. Geben Sie dazu einfach Folgendes ein:

sudo iptables -A INPUT -j DROP

Jetzt wird die Verbindung außerhalb des angegebenen Ports getrennt.

Regeln löschen

Wenn Sie alle Regeln entfernen und mit einer sauberen Weste beginnen möchten, können Sie das -F verwenden Option (spülen ):

sudo iptables -F

Dieser Befehl löscht alle aktuellen Regeln. Um jedoch eine bestimmte Regel zu löschen, müssen Sie die Option -D verwenden. Zuerst müssen Sie alle verfügbaren Regeln sehen, indem Sie den folgenden Befehl eingeben:

sudo iptables -L --line-numbers

Sie erhalten eine Liste mit Regeln mit Nummern:

Chain INPUT (policy 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 löschen, fügen Sie die entsprechende Kette und die Nummer aus der Liste ein. Nehmen wir an, für dieses iptables-Tutorial wollen wir Regel Nummer drei loswerden des INPUT Kette. Der Befehl sollte lauten:

sudo iptables -D INPUT 3

Schritt 3 – Fortbestehende Änderungen

Die von uns erstellten iptables-Regeln werden im Speicher gespeichert. Das bedeutet, dass wir sie beim Neustart neu definieren müssen. Um diese Änderungen nach dem Neustart des Servers dauerhaft zu machen, können Sie diesen Befehl verwenden:

sudo /sbin/iptables-save

Es speichert die aktuellen Regeln in der Systemkonfigurationsdatei, die verwendet wird, um die Tabellen bei jedem Neustart des Servers neu zu konfigurieren.

Beachten Sie, dass Sie diesen Befehl immer ausführen sollten, wenn Sie Änderungen an den Regeln vornehmen. Wenn Sie beispielsweise iptables deaktivieren möchten, müssen Sie diese beiden Zeilen ausführen:

sudo iptables -F
sudo /sbin/iptables-save

Sie sehen die folgenden Ergebnisse:

Fazit

Iptables ist ein leistungsstarkes Firewall-Programm, mit dem Sie Ihren Linux-Server oder VPS sichern können. Das Tolle ist, dass Sie verschiedene Regeln basierend auf Ihren Vorlieben definieren können.

In diesem iptables-Tutorial haben Sie gelernt, wie Sie das Tool installieren und verwenden. Jetzt hoffen wir, dass Sie Ihre Regelsätze verwalten können, um ein- und ausgehende Pakete zu filtern.

Es ist Zeit, es selbst zu testen und viel Glück!


Ubuntu
  1. Firewall-Konfiguration mit Iptables unter Ubuntu 14.04

  2. Linux-Container mit LXC auf Ubuntu 16.04 einrichten

  3. USB-Display-Adapter mit Linux/Ubuntu-Treibern?

  4. Wie ersetzen wir Iptables durch Firewalld in Ubuntu 16.04?

  5. So richten Sie eine Firewall mit iptables unter Ubuntu und CentOS ein

So installieren Sie PSAD unter Ubuntu Linux

So verbinden Sie Kindle Fire HD mit Ubuntu Linux

So konfigurieren Sie die Firewall mit UFW unter Ubuntu Linux

Gewusst wie:Sichern Sie Ihren Ubuntu- oder Debian-Server mit IPTables

So sichern Sie eine Linux-Firewall mit IPTables-Regeln

Linux-Firewall-Tutorial:IPTables-Tabellen, -Ketten, -Regelgrundlagen