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

Grundlegendes iptables-Firewall-Management

Dieser Artikel enthält einige grundlegende Informationen zur Verwendung Ihrer iptables Software-Firewall. Diese Firewall ist die Standard-Firewall-Lösung für auf Red Hat® Enterprise Linux® (RHEL®) 6 und CentOS® 6 basierende Distributionen.

Hinweis :Die Schritte in diesem Artikel sind nicht für die Verwendung auf RackConnect®-Servern vorgesehen. Wenn Sie Änderungen an Ihrer Firewall auf einem RackConnect-Server vornehmen müssen, müssen Sie Ihren Dedicated Firewall Manager verwenden.

Voraussetzungen

Sie müssen die folgenden Voraussetzungen erfüllen:

  • Grundlegendes Verständnis von SecureShell® (SSH)
  • Sudo- oder Administratorzugriff auf Ihren Server
  • Ein Nicht-RackConnect-Cloud-Server mit RHEL 6 oder CentOS 6.

Was ist „iptables“ und wie funktioniert es?

iptables ist die standardmäßige Software-Firewall-Lösung für Linux. Durch die Verwendung des Netfilter-Kernelmoduls iptables kann den eingehenden und ausgehenden Netzwerkverkehr verarbeiten. iptables verwendet die Regelketten, die als Teil einer Tabelle auf dem Server konfiguriert sind. Eine Tabelle gruppiert ähnliche Ketten, die eine bestimmte Aufgabe erfüllen.

Tabellen, Ketten und Regeln

Jede Tabelle hat eine Reihe von Standardketten. Dieser Artikel bezieht sich auf den Filter Tabelle, die den INPUT enthält , WEITER und AUSGABE Ketten. Die Regeln in diesen Ketten werden von oben nach unten gelesen und verarbeitet.

  • EINGABE :Diese Kette verarbeitet eingehenden Datenverkehr, der für den Server bestimmt ist.

  • WEITER :Diese Kette verarbeitet Datenverkehr, der zum Server kommt, aber für ein anderes Gerät bestimmt ist.

  • AUSGABE :Diese Kette wird für ausgehende Pakete verwendet, die vom Server stammen.

Ziele, Aktionen und Filter

Die folgende Tabelle zeigt einige grundlegende Ziele und Aktionen in iptables wenn Datenverkehr an den Server gesendet wird:

Name Beschreibung
AKZEPTIEREN Traffic wird akzeptiert und es werden keine weiteren Regeln verarbeitet.
DROP Das Paket wird blockiert und es werden keine weiteren Regeln verarbeitet. Keine Antwort an Absender gesendet.
PROTOKOLL Die Paketinformationen werden auf dem Server protokolliert und iptables verarbeitet weiterhin Regeln.
ABLEHNEN Ähnlich wie das DROP-Paket, sendet aber eine Antwort an den Absender.
Filtern Was es tut
-p (protocol) Das Protokoll des Pakets. Das angegebene Protokoll kann eines von tcp sein , udp , icmp , oder das spezielle Schlüsselwort all .
-s, --source Die Quell-IP-Adresse des Pakets.
-d --destination Das Ziel für das Paket.
-sport Der abzugleichende Quellport.
-dport Der abzugleichende Zielport.
-i Die Schnittstelle, an der das Paket empfangen wird.

Die Anatomie einer Regel

Die folgende Regel ist ein Beispiel für iptables Regel:

   iptables -I INPUT -i eth0 -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT

In diesem Beispiel Datenverkehr, der von der Quell-IP-Adresse 192.168.1.1 stammt , über den tcp Protokoll wird auf eth0 akzeptiert Schnittstelle am Zielport 22 . Diese Regel wird am Anfang von INPUT hinzugefügt Kette.

Wie funktionieren "iptables"-Regeln?

Eine Möglichkeit, den eingehenden und ausgehenden Netzwerkverkehr auf dem Server zu begrenzen, besteht darin, Firewallregeln zu implementieren. Auf einem RHEL- oder CentOS 6-Server ist die standardmäßige Software-Firewall-Lösung iptables . iptables ermöglicht Ihnen, eine Konfiguration einzurichten, die der einer dedizierten Firewall ähnelt, die auf Ihrem Server ausgeführt wird. Sie konfigurieren diese Regeln in einer CHAIN je nach Regel. Dieser Artikel behandelt den INPUT Kette, die die Standardkette ist, um Datenverkehr über iptables zu akzeptieren .

Aktivieren und prüfen Sie den Status von „iptables“

Bevor Sie neue Regeln in iptables hinzufügen , sollten Sie überprüfen, ob der Dienst ausgeführt wird, und die aktuellen Regeln auflisten.

Um den Status von iptables zu überprüfen , führen Sie den folgenden Befehl aus:

  service iptables status

Sie sollten eine Ausgabe erhalten, die anzeigt, dass der Dienst Active ist auf dem Server. Falls nicht, können Sie den Dienst mit service iptables start starten Befehl.

Nachdem der Dienst gestartet wurde, können Sie die Regeln mit dem folgenden Befehl auflisten:

   iptables -L

Wenn Sie noch keine Regeln konfiguriert haben, sieht die Ausgabe ähnlich wie im folgenden Beispiel aus:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

„iptables“-Beispiele

Die folgenden Beispiele zeigen einige Regeln in iptables und ihre Funktionalität innerhalb von iptables .

INSERT versus APPEND

Mit iptables , das -I Flag fügt die Regel am Anfang der ausgewählten Kette ein, und das -A flag fügt die neue Regel an das Ende der ausgewählten Kette an. Dies ist wichtig, da die Regeln von oben nach unten gelesen werden. Wenn also oben eine Regel steht, die den gesamten eingehenden Datenverkehr blockiert, verwenden Sie -A Um eine Regel anzuhängen, die Datenverkehr von einer IP akzeptiert, wird die angehängte Regel von der ersten Regel blockiert. Sie sollten die Konfiguration berücksichtigen, um festzustellen, ob -A oder -I ist die bessere Option für die Änderung, die auf dem Server vorgenommen wird. Überprüfen Sie immer die aktuellen Regeln, bevor Sie Änderungen vornehmen.

Eine gute Regel besteht darin, alle Regeln, die mit einem Drop enden, anzuhängen und alle Regeln einzufügen, die ein Paket akzeptieren.

Beispielbefehl Was es tut
iptables -L Dieser Befehl listet alle iptables auf Regeln.
iptables -L --line-numbers Dieser Befehl listet alle iptables auf Regeln und stellt für jede Regel eine Zeilennummer bereit.
iptables -D INPUT 2 Bei Verwendung in Verbindung mit iptables -L --line-numbers entfernt dieser Befehl die zweite Regel im INPUT Kette. Dies ist die beste Methode, um sicherzustellen, dass die richtige Regel entfernt wird.
iptables -A INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j DROP Diese Regel verwirft den Datenverkehr auf Port 22 von der Quell-IP durch die INPUT-Kette über TCP. Diese Regel wird an den Anfang der INPUT-Kette angehängt.
iptables -A INPUT -s 12.345.67.89 -j DROP Diese Regel verwirft alle eingehenden Verbindungen von der Quell-IP. Dieses Beispiel wird an den Anfang des INPUT angehängt Kette.
iptables -D INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT Dieser Befehl löscht die angegebene Regel aus dem INPUT Tisch. Sie können das -D verwenden Markierung mit einer beliebigen Kette oder Regel, aber wir empfehlen, wie oben gezeigt nach Zeilennummer zu entfernen.
iptables -I INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT Diese Regel akzeptiert Datenverkehr auf Port 22 von der Quell-IP über INPUT Kette über TCP. Diese Regel wird in INPUT eingefügt Kette.
iptables -I INPUT -s 12.345.67.89 -j ACCEPT Diese Regel akzeptiert alle eingehenden Verbindungen von der Quell-IP über jedes Protokoll auf jedem Port. Diese Regel wird in INPUT eingefügt Kette.
service iptables save Standardmäßig iptables bietet keine Beständigkeit. Mit diesem Befehl können Sie die Regeln speichern.
service iptables reload Dieser Befehl lädt den iptables-Dienst neu, um die Verarbeitung neuer Regeln zu ermöglichen.

Weiterführende Literatur

Dieser Artikel berührt nur die Grundlagen von iptables . Es gibt mehrere andere Aufgaben und Regeln, die Sie konfigurieren können, um den Zugriff auf Ihren Server zu beschränken. Weitere Informationen zu iptables , können Sie den man überprüfen Seite für iptables auf iptables - Linux man page.


Linux
  1. Top 10 Server-Patching-Softwarelösungen

  2. Webdatenverkehr in der iptables-Software-Firewall zulassen

  3. Grundlegende Firewalld Firewall-Verwaltung

  4. Grundlegende Linux-Benutzerverwaltung

  5. Grundlegendes ufw-Firewall-Management

So konfigurieren Sie die Iptables-Firewall unter CentOS

Gewusst wie:Grundlegende IPTables-Fehlerbehebung

Gewusst wie:Grundlegende IPTables-Dateikonfiguration

Top 5 der besten Linux-Firewalls

So richten Sie eine Firewall auf Ihrem Linux-Server ein

Debuggen von iptables und häufigen Firewall-Fallstricken?