Verwendung von Iptables Netfilter-Befehlen unter Linux

Sicherheit muss immer einer der Bereiche sein, in denen Administratoren, Verwaltungs- und Supportmitarbeiter und im Allgemeinen alle Benutzer eines aktuellen Betriebssystems aufgrund der zahlreichen Bedrohungen im Netzwerk arbeiten müssen.

Bei Linux-Distributionen verfügen die meisten von ihnen über die fortschrittlichen Tools zum Anwenden eines Filters auf die Netzwerkpakete auf der Ebene der Netzwerkpaket- Steuerungsverarbeitung bei der Eingabe, Verschiebung, Steuerung und Ausgabe des Stapels. netzwerke innerhalb des kerns des systems verwendet, wurden ab kernel 2.4 iptables eingeführt, die auch netfilter genannt werden und ein höheres niveau an sicherheit und praktische funktionen für den systemschutz aufweisen.

iptables ist für die Verwaltung der IPv4-Filterung verantwortlich, während ip6tables die IPv6- Filterung in aktuellen Netzwerken übernimmt .
TechnoWikis analysiert die Funktionsweise von iptables und einige der praktischsten Befehle, die wir daraus ableiten können.

1. Paketfilterung unter Linux

Der Kernel der Linux-Distributionen verwendet das Netfilter-Tool, um die Pakete zu filtern und damit die Aufgaben auszuführen, von denen sie empfangen oder gestoppt werden.

In Netfilter enthaltene Regeln
Netfilter ist standardmäßig im Linux-Kernel enthalten und enthält drei Tabellen oder Listen mit Regeln:

  • filter: Bezieht sich auf die Standardtabelle für die Verwaltung der Pakete.
  • nat: Sie dient dazu, Pakete zu ändern, die in einer neuen Verbindung erstellt wurden und hauptsächlich von NAT verwendet werden.
  • mangle: Diese Option wird verwendet, wenn bestimmte Netzwerkpakete geändert werden müssen.

Jetzt hat jede Tabelle eine Gruppe von eingebauten Ketten, die sich auf die Aktionen beziehen, die von netfilter ausgeführt werden können. Dies sind:

Regeln für Filtertabellen
Die eingebauten Ketten für die Filtertabelle sind:

  • EINGABE: Dies bezieht sich auf die Pakete, die an den Host gesendet wurden.
  • AUSGABE: Dies funktioniert bei Netzwerkpaketen, die lokal generiert wurden.
  • FORWARD: Ordnet die Pakete zu, die über den Haupthost weitergeleitet wurden.

Regeln für Nat-Tische
Die eingebauten Zeichenfolgen für den Nat-Tisch sind:

  • PREROUTING: Es dient dazu, Netzwerkpakete zu ändern, sobald sie ankommen.
  • AUSGABE: Es wurde entwickelt, um die lokal erstellten Netzwerkpakete zu ändern, und es wird aktiviert, bevor sie gesendet werden.
  • POSTROUTING: Erstellt, um Pakete zu ändern, bevor sie global gesendet werden.

Regeln für Mangroventabellen
Die eingebauten Ketten für den Mangeltisch sind:

  • EINGABE: Zum Ändern der für den Haupthost bestimmten Netzwerkpakete.
  • AUSGABE: Erstellt, um lokal erstellte Netzwerkpakete zu ändern und funktioniert, bevor sie gesendet werden.
  • FORWARD: Ändert die Pakete, die über den Haupthost weitergeleitet wurden.
  • PREROUTING: Ihre Aufgabe ist es, die Pakete zu ändern, die eingehen, bevor sie weitergeleitet werden.
  • POSTROUTING: Ändert die Netzwerkpakete, bevor der Sendevorgang ausgeführt wird.

Jedes vom Linux-Betriebssystem empfangene oder gesendete Netzwerkpaket unterliegt immer mindestens einer Tabelle. Lassen Sie uns nun einige der nützlichsten Befehle verstehen, die wir mit iptables verwenden können.

2. Stellen Sie den Firewall-Status bereit

Schritt 1

Um den aktuellen Status der Firewall zu ermitteln, führen wir die folgende Zeile aus:

 sudo iptables -L -n -v 

1-Deploy-the-Firewall-State.png

Schritt 2

Dort können wir jede Kette mit ihren jeweiligen Ebenen von verwalteten Paketen validieren. Die in diesem Befehl verwendeten Parameter sind:

-L
Zeigen Sie die Listenregeln an.

-v
Es generiert detaillierte Informationen wie den Namen der Schnittstelle, die Regeloptionen sowie zusätzlich die Paket- und Bytezähler, die mit den Suffixen ‘K’, ‘M’ oder ‘G’ für Optionen von 1.000, 1.000.000 bzw. 1.000.000.000 aufgeführt sind .

-n
Zeigen Sie die IP-Adresse und den Port im numerischen Format an.

Schritt 3

Wenn Sie dieses Ergebnis mit der Anzahl der Zeilen sehen möchten, können wir Folgendes ausführen:

 iptables -n -L -v --Zeilennummern 

2-level-of-managed-packages.png

3. Stoppen, starten oder starten Sie iptables unter Linux neu

Schritt 1

Die wichtigsten Befehle zum Verwalten der Aufgaben von iptables auf Boot- oder Stop-Ebene sind:

 Service Iptables zu stoppen Service Iptables starten Service Iptables Neustart 
Schritt 2

Es ist auch möglich, den Befehl iptables zu verwenden, um die Firewall zu stoppen und alle Regeln wie folgt zu entfernen:

 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P EINGABE AKZEPTIEREN iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT 
Schritt 3

Die definierten Parameter sind:

-F
Entfernen Sie alle Regeln.

-X
Entfernen Sie eine Kette

-t
Tabellenname: Wählen Sie die Tabelle (nat oder mangle genannt) aus und löschen oder verwerfen Sie die Regeln.

-P
Legt die Standardrichtlinie wie DROP, REJECT oder ACCEPT fest.

4. Fügen Sie unter Linux neue Firewall-Regeln hinzu

Schritt 1

Eine der praktischsten Aufgaben von iptables besteht darin, bestimmte Regeln für die korrekte Verwaltung von Paketen zu erstellen. Um eine oder mehrere Regeln in die ausgewählte Kette einzufügen, verwenden wir die folgende Syntax, in der Sie zuerst die Zeilennummern ermitteln müssen:

 iptables -L INPUT -n --Zeilennummern 
Schritt 2

Fügen wir beispielsweise die folgende Regel hinzu:

 iptables -I INPUT 2 -s 192.168.0.50 -j DROP 
Schritt 3

Dann werden die Regeln mit dem oben angegebenen Befehl angezeigt. Dort sehen wir, dass die erstellte Regel in Zeile 3 wie angegeben hinzugefügt wurde. 3 - Neue Firewall-Regeln in Linux.png hinzufügen

5. Entfernen Sie eine Firewall-Regel unter Linux

Schritt 1

Zuerst müssen wir die Regeln implementieren, die erstellt werden, um genau zu bestimmen, welche entfernt werden sollen. Um diese Informationen zu erhalten, haben wir die folgenden Optionen:

 iptables -L INPUT -n --Zeilennummern iptables -L OUTPUT -n --Zeilennummern iptables -L OUTPUT -n --Zeilennummern | weniger 
Schritt 2

Um nun die zuvor erstellte Regel 3 zu löschen, führen wir Folgendes aus:

 iptables -D INPUT 3 

4-Entfernen-einer-Regel-von-Firewall-in-Linux.png

6. Speichern und Wiederherstellen von iptables-Regeln unter Linux

6B-reglas-iptables.png

Schritt 1

Jedes Mal, wenn wir die Regeln von iptables ändern, müssen wir fortfahren, um diese Änderungen zu speichern, da es ausreicht, die folgende Zeile auszuführen:

 Service Iptables weiß 
Schritt 2

Wir können die gespeicherten Regeln einfach wiederherstellen, indem wir Folgendes ausführen:

 Service Iptables Neustart 

7. Legen Sie die Standardregeln in Linux fest

Mit iptables können Sie die Standardregeln, die auf das gesamte System angewendet werden müssen, auf folgende Weise zulassen oder ablehnen.

Schritt 1

Um den gesamten Datenverkehr zu eliminieren, führen wir Folgendes aus:

 iptables -P EINGABETROPFEN iptables -P OUTPUT DROP iptables -P FORWARD DROP 
Schritt 2

So eliminieren Sie den gesamten eingehenden Datenverkehr:

 iptables -P EINGABETROPFEN iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state - NEUES, EINGESETZTES -j ACCEPT 

5-Entfernen-einer-Regel-von-Firewall-in-Linux.png

8. Blockieren Sie eine IP-Adresse in Linux

8b-block-firewall-linux.png

Mit iptables ist es möglich, eine bestimmte IP-Adresse zu blockieren, um den Zugriff auf Netzwerkpakete zum System zu verhindern. Für diese Aufgabe haben wir folgende Möglichkeiten:

 iptables -A INPUT -s 192.168.0.14 -j DROP (spezifische IP) iptables -A INPUT -s 192.168.0.0/24 -j DROP (Adressbereich) 

9. Blockieren Sie eingehende Portanforderungen unter Linux

Schritt 1

Eine weitere typische Sicherheitsaufgabe besteht darin, den Zugriff auf Pakete über einen bestimmten Port zu beschränken. Bei iptables haben wir die folgenden Optionen:

Blockiere alle Aktionen
Blockieren Sie alle Aktionen für einen bestimmten Port, indem Sie Folgendes ausführen:

 iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP 

Blockiere einen Port
Blockieren Sie einen Port für eine bestimmte IP-Adresse:

 iptables -A INPUT -p tcp -s 192.168.0.14 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.0.1/24 --dport 80 -j DROP 

Ausgehende IP-Adresse blockieren
Es ist möglich, ausgehenden Datenverkehr zu einem bestimmten Host oder einer bestimmten Domain, z. B. TechnoWikis.com, zu blockieren. Dazu führen wir Folgendes aus:

 host -ta solvetic.com 

6-Blockiere-eingehende-Port-Anfragen-in-Linux.png

See also  Wondershare DVD Creator: Erstellen Sie Sequenzen von Fotos und Videos auf DVD oder Blu-ray

Schritt 2

Mit dieser IP-Adresse blockieren wir nun:

 iptables -A OUTPUT -d 178.33.118.246 -j DROP 
Schritt 3

Es ist auch möglich, die gesamte Domain wie folgt zu blockieren:

 iptables -A OUTPUT -p tcp -d www.solvetic.com -j DROP 

10. Zulassen oder Nichtzulassen von Netzwerkverkehr mithilfe der MAC-Adresse unter Linux

10b-address-mac-linux.png

Eine andere Möglichkeit besteht darin, die Verwendung von Paketen basierend auf der MAC-Adresse des ausgewählten Geräts einzuschränken oder zuzulassen. Hierzu verwenden wir eine der folgenden Optionen:

 iptables -A INPUT -m Mac - Mac-Quelle 00: 2F: EF: 85: 04: 09 -j DROP (Datenverkehr der ausgewählten MAC-Adresse wird verweigert.) iptables -A INPUT -p tcp --bestimmungsort-port 22 -m mac --mac-source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Unterstützt die Pakete der Adresse, die nur von Port 22 angegeben werden) 

11. Blockieren oder Zulassen von ICMP-Anforderungen unter Linux

Das ICMP-Protokoll (Internet Control Message Protocol) ist ein Protokoll, das zur Verwaltung von Informationen im Zusammenhang mit Fehlern in lokalen Netzwerkgeräten entwickelt wurde. Mit diesem Protokoll können Remoteanfragen gestellt werden, um die Verfügbarkeit zu überprüfen. eines Teams und dies in Bezug auf die Sicherheit kann heikel sein.

Schritt 1

Wir können die folgenden Zeilen ausführen, um ICMP-Anfragen unter Linux zu vermeiden:

 iptables -INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -i eth1 -p icmp --icmp-type Echoanforderung -j DROP 
Schritt 2

Wir können die Ping-Antworten auch auf bestimmte Netzwerke oder Hosts wie folgt beschränken:

 iptables-INPUT -s 192.168.0.1/24 -p icmp - Echoanforderung vom Typ icmp -j ACCEPT 
Schritt 3

Wir können nur eine begrenzte Art von ICMP-Anfragen wie diese annehmen:

 iptables -AINPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -INPUT -p icmp --icmp-type Zeitüberschreitung -j ACCEPT 

12. Öffnen Sie unter Linux eine Reihe von Ports und IP-Adressen

Schritt 1

Dies ist nützlich, wenn wir einen definierten Bereich von Ports aktivieren müssen, um administrative oder Programmausführungsaktionen auszuführen:

 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9000: 9020 -j ACCEPT 

Damit haben wir den Bereich der Ports 9000 bis 9020 für TCP-Verbindungen geöffnet.

Schritt 2

Eine andere Alternative besteht darin, einen Bereich von IP-Adressen zu aktivieren, indem auch ein bestimmter Port eingerichtet wird. Dort haben wir diesen Bereich für die Verwendung von Port 80 freigegeben.

 iptables -A-INPUT -p tcp -destination-port 80 -m iprange -src-range 192.168.0.70-192.168.0.80 -j ACCEPT 

13. Beschränken Sie die Anzahl der parallelen Verbindungen zu einem Server pro Client-IP in Linux

Schritt 1

Wir können das connlimit-Modul verwenden, um diese Einschränkungen zu definieren. Um beispielsweise 5 ssh-Verbindungen pro Client zuzulassen, geben wir Folgendes ein:

 iptables -AnPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT 

7-Beschränken-Sie-die-Anzahl-paralleler-Verbindungen-zu-einem-Server-nach-Client-IP-in-Linux.png

Schritt 2

So beschränken Sie den Zugriff auf HTTP um 10:

 iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 24 -j DROP 
Schritt 3

Wir haben Folgendes angegeben:

  • –connlimit-above 5: Übereinstimmung, wenn die Anzahl der vorhandenen Verbindungen größer als 5 ist.
  • –connlimit-mask 24: Dies sind die Gruppenhosts, die die Präfixlänge verwenden. Für IPv4 muss es eine Zahl zwischen (eingeschlossen) 0 und 32 sein.

14. Beschränken Sie die Anzahl der parallelen Verbindungen zu einem Server pro Client-IP in Linux

Schritt 1

NAT (Network Address Translation) ist ein System zur Übersetzung von Netzwerkadressen und damit zur Erleichterung der Navigation. Um diese aufzulisten, führen wir Folgendes aus:

 iptables -t nat -L -n -v 

8-system-um-die-richtungen-des-netzwerks-zu-übersetzen.png

Schritt 2

Es ist möglich, dieses Ergebnis mit den entsprechenden Zeilen wie folgt zu sehen:

 iptables -t nat -v -L -n --Zeilennummer 

15. Löschen Sie die NAT-Regeln unter Linux

Schritt 1

Wenn wir die festgelegten NAT-Regeln löschen möchten, führen wir Folgendes aus:

 iptables -t nat -v -L -n --Zeilennummer iptables -t nat -v -L PREROUTING -n --Zeilennummer iptables -t nat -v -L POSTROUTING -n --Zeilennummer 
Schritt 2

Um alle Regeln von “PREROUTING” zu löschen, führen wir die folgende Syntax aus:

 iptables -t nat -D PREROUTING {Regelnummer} 
Schritt 3

Um alle Regeln von “POSTROUTING” zu löschen, führen wir Folgendes aus:

 iptables -t nat -D POSTROUTING {Regelnummer} 

16. Setzen Sie die Paketzähler unter Linux zurück

Zuerst müssen wir den Befehl “iptables -L -n -v” ausführen, den wir bereits gesehen haben, um die Zähler aufzulisten.

Schritt 1

Um diese Zähler zu löschen, führen Sie einfach Folgendes aus:

 iptables -Z 
Schritt 2

Um die Zugriffszähler zurückzusetzen, führen wir Folgendes aus:

 iptables -Z INPUT 

17. Überprüfen Sie die Firewall unter Linux

Schritt 1

Zuerst müssen wir mit dem folgenden Befehl überprüfen, ob die Ports geöffnet sind oder nicht:

 netstat -tulpn 

9-Reset-the-package-counters-in-Linux.png

Schritt 2

Um einen bestimmten Port zu validieren, führen wir Folgendes aus:

 netstat -tulpn | grep: 80 

10-Validieren-Sie-die-Firewall-in-Linux.png

Schritt 3

Falls der Port nicht offen ist, führen wir aus:

 Service httpd starten 
Schritt 4

Dann müssen wir sicherstellen, dass iptables Zugriff auf diesen Port hat:

 iptables -L EINGABE -v -n | grep 80 

18. Ermöglichen Sie den Schleifenzugriff mit iptables unter Linux

17-Allow-loop-access-with-iptables-de-Linux.png

Der Loopback-Zugriff von IP 127.0.0.1 ist wichtig und sollte für Netzwerkadministrations- und Verwaltungsaufgaben immer aktiviert bleiben. Um es in iptables zu aktivieren, führen Sie einfach Folgendes aus.

 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT 

19. Definieren Sie neue iptables-Ketten in Linux

Schritt 1

Mit iptables haben wir die Möglichkeit, unsere eigene Kette zu definieren und benutzerdefinierte Regeln darin zu speichern. Um eine Kette zu definieren, führen wir Folgendes aus:

 iptables -N "Kettenname" 
Schritt 2

Dann führen wir “iptables -L” aus, um die iptables-Zeichenfolgen aufzulisten: 11 - Definiere-neue-iptables-Ketten-de-Linux.png

Schritt 3

Im Ergebnis sehen wir unsere erstellte Kette: 12-define-our-own-chain.png

20. Löschen Sie iptables Firewall-Regeln oder -Strings unter Linux

19 - Löschen-der-Ketten-oder-der-Firewall-Regeln-von-Iptables-de-Linux.png

Um diese Löschung durchzuführen, müssen wir Folgendes ausführen:

 iptables -F 

Wie wir sehen können, ist iptables eine integrale Lösung für die zentrale Verwaltung verschiedener Sicherheitsaspekte in Linux-Distributionen, um Verbesserungen in Bezug auf den Datenschutz zu erzielen.

See also  Projekt auf GitHub hochladen

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *