Kali Firewall Konfiguration mit iptables

Kali LinuxKali LinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie eine Firewall auf Kali Linux mit iptables konfigurieren, einem leistungsstarken Werkzeug zur Verwaltung von IP-Paketfilterregeln im Linux-Kernel. Das Hauptziel ist es, Firewall-Regeln zu verstehen und anzuwenden, um die Netzwerksicherheit zu verbessern, indem der Datenverkehr basierend auf IP-Adressen, Ports und Protokollen gesteuert wird. Durch schrittweise praktische Übungen werden Sie die aktuellen iptables-Regeln einsehen, bestimmte IP-Adressen blockieren, Datenverkehr auf bestimmten Ports zulassen und Ihre Konfigurationen speichern. Durch die Arbeit in einem vorkonfigurierten Kali Linux-Container in der LabEx VM-Umgebung erwerben Sie praktische Fähigkeiten in der Verwaltung von Firewall-Einstellungen zur Sicherung des Netzwerkverkehrs.

Anzeigen der aktuellen iptables-Regeln

In diesem ersten Schritt lernen Sie, wie Sie die aktuellen Firewall-Regeln mit iptables innerhalb des Kali Linux-Containers anzeigen. Dies ist ein wesentlicher Ausgangspunkt, um die bestehende Firewall-Konfiguration zu verstehen, bevor Sie Änderungen vornehmen.

Wenn Sie das Terminal in der LabEx VM-Umgebung öffnen, werden Sie automatisch mit der Shell des Kali Linux-Containers verbunden. Sie müssen den Container nicht manuell starten oder die Shell betreten; die Umgebung ist bereits für Sie eingerichtet. Beginnen wir damit, den aktuellen Zustand der Firewall-Regeln zu untersuchen.

iptables ist ein Befehlszeilen-Dienstprogramm, mit dem Sie die IP-Paketfilterregeln des Linux-Kernels verwalten können. Diese Regeln bestimmen, wie der Netzwerkverkehr behandelt wird – ob Pakete basierend auf bestimmten Kriterien wie Quell-IP oder Portnummern akzeptiert, verworfen oder umgeleitet werden sollen. Das Anzeigen der Regeln hilft Ihnen zu sehen, welche Richtlinien derzeit in Kraft sind.

Führen Sie den folgenden Befehl im Terminal aus, um die aktuellen iptables-Regeln aufzulisten. Geben Sie den Befehl ein und drücken Sie die Eingabetaste:

iptables -L -v -n

Dieser Befehl gliedert sich wie folgt auf:

  • iptables: Das Werkzeug zur Verwaltung von Firewall-Regeln.
  • -L: Listet alle Regeln in den ausgewählten Chains (Ketten) auf.
  • -v: Bietet eine ausführliche Ausgabe, einschließlich Paket- und Byte-Zählern.
  • -n: Zeigt IP-Adressen und Ports im numerischen Format ohne Namensauflösung an.

Nach der Ausführung dieses Befehls sehen Sie eine Ausgabe, die der unten gezeigten ähnelt. Die genaue Ausgabe kann je nach der ursprünglichen Konfiguration des Containers variieren.

Erwartete Ausgabe (Beispiel, tatsächliche Ausgabe kann variieren):

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

Diese Ausgabe zeigt die drei Haupt-Chains: INPUT für eingehenden Datenverkehr, FORWARD für den durchlaufenden Datenverkehr und OUTPUT für ausgehenden Datenverkehr. Jede Chain zeigt ihre Standardrichtlinie (z. B. ACCEPT) und alle spezifischen Regeln, falls vorhanden. Wenn die Chains leer erscheinen, wie in diesem Beispiel, bedeutet dies, dass derzeit keine benutzerdefinierten Regeln angewendet werden und die Standardrichtlinien den gesamten Datenverkehr regeln.

Nehmen Sie sich einen Moment Zeit, um die Ausgabe zu überprüfen. Das Verständnis des aktuellen Zustands Ihrer Firewall ist entscheidend, bevor Sie Regeln hinzufügen oder ändern, was Sie in den nächsten Schritten tun werden. Dieser grundlegende Schritt stellt sicher, dass Sie mit der Ausgangskonfiguration von iptables in Ihrem Kali Linux-Container vertraut sind.

Aktualisieren der Paketliste und Installieren von iptables

Bevor Sie mit der Konfiguration der Firewall-Regeln fortfahren, müssen Sie sicherstellen, dass iptables in Ihrem Kali Linux-Container installiert und einsatzbereit ist. In diesem Schritt aktualisieren Sie die Paketliste und installieren iptables, falls es noch nicht vorhanden ist. Dies ist eine notwendige Vorbereitung, um zu gewährleisten, dass alle nachfolgenden Befehle korrekt funktionieren.

Kali Linux verwendet den Paketmanager apt, um Softwareinstallationen und -aktualisierungen zu verarbeiten. Durch die Aktualisierung der Paketliste stellen Sie sicher, dass Sie die neuesten Informationen über verfügbare Softwarepakete aus den konfigurierten Repositories haben. Die Installation von iptables stellt die notwendigen Werkzeuge zur effektiven Verwaltung von Firewall-Regeln bereit.

Beginnen wir mit der Aktualisierung der Paketliste. Geben Sie den folgenden Befehl im Terminal des Kali Linux-Containers ein und drücken Sie die Eingabetaste:

apt update

Dieser Befehl ruft die neuesten Paketinformationen von den Repositories ab. Die Ausführung kann einige Sekunden dauern, und Sie sehen eine Ausgabe, die den Fortschritt des Aktualisierungsprozesses anzeigt.

Erwartete Ausgabe (Beispiel, tatsächliche Ausgabe kann variieren):

Get:1 http://mirrors.cloud.aliyuncs.com/kali kali-rolling InRelease [30.9 kB]
...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

Sobald die Aktualisierung abgeschlossen ist, können Sie iptables installieren. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

apt install -y iptables

Das Flag -y bestätigt die Installation automatisch, ohne zur Benutzereingabe aufzufordern. Dieser Befehl installiert iptables, falls es noch nicht auf dem System vorhanden ist. Wenn es bereits installiert ist, bestätigt der Befehl lediglich diese Tatsache.

Erwartete Ausgabe (Beispiel, tatsächliche Ausgabe kann variieren):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
iptables is already the newest version (1.8.7-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Diese Ausgabe zeigt an, ob iptables neu installiert wurde oder bereits vorhanden war. Mit iptables, das jetzt bereit ist, haben Sie Ihre Umgebung für die Konfiguration von Firewall-Regeln vorbereitet. Im nächsten Schritt beginnen Sie mit dem Hinzufügen spezifischer Regeln zur Steuerung des Netzwerkverkehrs, aufbauend auf dieser Einrichtung.

Blockieren einer bestimmten IP-Adresse

Nachdem Sie iptables installiert haben, wollen wir nun Ihre Firewall konfigurieren, indem wir den Datenverkehr von einer bestimmten IP-Adresse blockieren. Dies ist eine gängige Sicherheitsmaßnahme, um unerwünschten Zugriff oder potenzielle Bedrohungen von einer bestimmten Quelle zu verhindern.

Das Blockieren einer IP-Adresse mit iptables bedeutet, eine Regel zu erstellen, um eingehende Pakete von dieser Adresse zu verwerfen. Wenn ein Paket verworfen wird, ignoriert das System es und stoppt effektiv jede Kommunikation von der angegebenen IP. Für diese Übung blockieren Sie den Datenverkehr von einer hypothetischen IP-Adresse, 192.168.1.100, als sicheres Beispiel zum Üben innerhalb der Containerumgebung.

Geben Sie den folgenden Befehl im Terminal des Kali Linux-Containers ein und drücken Sie die Eingabetaste, um eine Regel hinzuzufügen, die den gesamten eingehenden Datenverkehr von 192.168.1.100 blockiert:

iptables -A INPUT -s 192.168.1.100 -j DROP

Lassen Sie uns diesen Befehl aufschlüsseln:

  • iptables: Das Werkzeug zur Verwaltung von Firewall-Regeln.
  • -A INPUT: Fügt eine Regel an die INPUT-Chain an, die eingehenden Datenverkehr verarbeitet.
  • -s 192.168.1.100: Gibt die Quell-IP-Adresse an, die für diese Regel abgeglichen werden soll.
  • -j DROP: Legt die Aktion fest, um Pakete von der angegebenen IP-Adresse zu verwerfen.

Nach der Ausführung dieses Befehls gibt es keine unmittelbare Ausgabe, was darauf hindeutet, dass die Regel erfolgreich zur INPUT-Chain hinzugefügt wurde.

Um zu bestätigen, dass die Regel vorhanden ist, führen Sie den folgenden Befehl aus, um die aktuellen iptables-Regeln aufzulisten, und drücken Sie die Eingabetaste:

iptables -L -v -n

Erwartete Ausgabe (Beispiel, tatsächliche Ausgabe kann variieren):

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       192.168.1.100        0.0.0.0/0

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

Diese Ausgabe zeigt eine Regel unter der INPUT-Chain, die den gesamten Datenverkehr von 192.168.1.100 verwirft. Die Zähler für Pakete (pkts) und Bytes (bytes) zeigen wahrscheinlich 0 an, es sei denn, es wurde Datenverkehr von dieser IP versucht.

Durch den Abschluss dieses Schritts haben Sie erfolgreich eine Regel hinzugefügt, um den Datenverkehr von einer bestimmten IP-Adresse zu blockieren. Diese Fähigkeit ist entscheidend, um den Zugriff von unerwünschten oder bösartigen Quellen einzuschränken. Im nächsten Schritt erfahren Sie, wie Sie Datenverkehr auf bestimmten Ports zulassen, um notwendige Dienste zu aktivieren und gleichzeitig die Sicherheit zu gewährleisten.

Zulassen von Datenverkehr auf einem bestimmten Port

Nachdem Sie eine IP-Adresse blockiert haben, ist die nächste wichtige Fähigkeit, Datenverkehr auf bestimmten Ports zuzulassen, um den Zugriff auf notwendige Dienste zu ermöglichen. In diesem Schritt fügen Sie eine Regel hinzu, um eingehenden Datenverkehr auf einem bestimmten Port mit iptables zuzulassen.

Ports werden von Netzwerkdiensten verwendet, um über ein Netzwerk zu kommunizieren. Webserver verwenden beispielsweise häufig Port 80 für HTTP-Datenverkehr. Das Zulassen von Datenverkehr auf einem bestimmten Port bedeutet, eine Regel zu erstellen, um eingehende Pakete zu akzeptieren, die für diesen Port bestimmt sind, wodurch sichergestellt wird, dass der zugehörige Dienst zugänglich ist. Für diese Übung lassen Sie Datenverkehr auf Port 80 als praktisches Beispiel zu.

Geben Sie den folgenden Befehl im Terminal des Kali Linux-Containers ein und drücken Sie die Eingabetaste, um eine Regel hinzuzufügen, die eingehenden TCP-Datenverkehr auf Port 80 akzeptiert:

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

Lassen Sie uns diesen Befehl aufschlüsseln:

  • iptables: Das Werkzeug zur Verwaltung von Firewall-Regeln.
  • -A INPUT: Fügt eine Regel an die INPUT-Chain für eingehenden Datenverkehr an.
  • -p tcp: Gibt das Protokoll als TCP an, das häufig für Dienste wie HTTP verwendet wird.
  • --dport 80: Gibt den Zielport als 80 an und zielt auf Datenverkehr zu diesem Port ab.
  • -j ACCEPT: Legt die Aktion fest, um Pakete zu akzeptieren, die mit dieser Regel übereinstimmen.

Nach der Ausführung dieses Befehls gibt es keine unmittelbare Ausgabe, was darauf hindeutet, dass die Regel erfolgreich hinzugefügt wurde.

Um zu überprüfen, ob die Regel vorhanden ist, führen Sie den folgenden Befehl aus, um die aktuellen iptables-Regeln aufzulisten, und drücken Sie die Eingabetaste:

iptables -L -v -n

Erwartete Ausgabe (Beispiel, tatsächliche Ausgabe kann variieren):

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       192.168.1.100        0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

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

Diese Ausgabe zeigt die Regel unter der INPUT-Chain, um TCP-Datenverkehr auf Port 80 zu akzeptieren, zusammen mit der vorherigen Regel, um Datenverkehr von 192.168.1.100 zu verwerfen. Die Zähler zeigen wahrscheinlich 0 an, es sei denn, Datenverkehr, der mit dieser Regel übereinstimmt, ist aufgetreten.

Durch den Abschluss dieses Schritts haben Sie gelernt, wie Sie Datenverkehr auf einem bestimmten Port zulassen, was unerlässlich ist, um den Zugriff auf Dienste wie Webserver zu ermöglichen und gleichzeitig andere Ports zu sichern. Im nächsten Schritt speichern Sie diese Konfigurationen, um sicherzustellen, dass sie später referenziert oder neu geladen werden können.

Speichern der iptables-Konfiguration

In diesem letzten Schritt lernen Sie, wie Sie Ihre iptables-Konfiguration innerhalb des Kali Linux-Containers speichern. Das Speichern der Regeln ist wichtig, da sie standardmäßig im Speicher abgelegt werden und bei einem Neustart des Containers verloren gehen würden. Dieser Schritt stellt sicher, dass Sie Ihre Firewall-Einstellungen für zukünftige Referenz oder zum erneuten Laden beibehalten können.

Standardmäßig existieren iptables-Regeln nur im Laufzeitspeicher des Systems. Durch das Speichern in einer Datei können Sie einen Datensatz Ihrer Konfiguration führen, was für die Dokumentation oder zum späteren Wiederherstellen der Regeln mit iptables-restore nützlich sein kann. Für diese Übung speichern Sie die Regeln in einer Datei im Verzeichnis /root innerhalb des Containers.

Geben Sie den folgenden Befehl im Terminal des Kali Linux-Containers ein und drücken Sie die Eingabetaste, um die aktuellen iptables-Regeln in einer Datei namens iptables-rules im Verzeichnis /root zu speichern:

iptables-save > /root/iptables-rules

Lassen Sie uns diesen Befehl aufschlüsseln:

  • iptables-save: Exportiert die aktuellen iptables-Regeln aus dem Speicher zur Standardausgabe.
  • > /root/iptables-rules: Leitet die Ausgabe in eine Datei namens iptables-rules im Verzeichnis /root um und überschreibt sie, falls sie bereits existiert.

Nach der Ausführung dieses Befehls gibt es keine unmittelbare Ausgabe, was darauf hindeutet, dass die Regeln erfolgreich in der angegebenen Datei gespeichert wurden.

Um zu bestätigen, dass die Regeln korrekt gespeichert wurden, zeigen Sie den Inhalt der Datei an, indem Sie den folgenden Befehl eingeben und die Eingabetaste drücken:

cat /root/iptables-rules

Erwartete Ausgabe (Beispiel, tatsächliche Ausgabe kann variieren):

## Generated by iptables-save v1.8.7 on ...
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.1.100/32 -j DROP
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
## Completed on ...

Diese Ausgabe zeigt die gespeicherte Konfiguration, einschließlich der Regeln zum Verwerfen von Datenverkehr von 192.168.1.100 und zum Akzeptieren von Datenverkehr auf Port 80. Das Format ist mit iptables-restore kompatibel, das zum erneuten Laden dieser Regeln bei Bedarf verwendet werden könnte.

Durch den Abschluss dieses Schritts haben Sie Ihre iptables-Konfiguration erfolgreich in einer Datei gespeichert. Diese Vorgehensweise ist unerlässlich, um Firewall-Einstellungen in realen Szenarien zu erhalten, auch wenn die Containerumgebung Änderungen über Neustarts hinweg möglicherweise nicht beibehält. Sie haben nun die Kernkompetenzen für die Verwaltung eines grundlegenden Firewall-Setups mit iptables abgeschlossen.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen der Konfiguration einer Firewall unter Kali Linux mit iptables in einer containerisierten Umgebung gelernt. Sie begannen damit, die aktuellen iptables-Regeln anzuzeigen, um den anfänglichen Firewall-Zustand zu verstehen. Anschließend haben Sie die Paketliste aktualisiert und iptables installiert, um Ihr System vorzubereiten. Danach haben Sie Regeln hinzugefügt, um Datenverkehr von einer bestimmten IP-Adresse zu blockieren und Datenverkehr auf einem bestimmten Port zuzulassen, wodurch die Kontrolle über den Netzwerkzugriff verbessert wurde. Schließlich haben Sie Ihre Konfiguration zur späteren Verwendung in einer Datei gespeichert. Diese Schritte haben Ihnen grundlegende Fähigkeiten im Management der Netzwerksicherheit durch Datenverkehrsfilterung mit iptables vermittelt.