Iptables unter Linux verwenden
In diesem Handbuch wird erläutert, wie Sie iptables unter Linux in einer leicht verständlichen Sprache verwenden.
Inhalt[verbergen]
|
Überblick
Iptables ist eine regelbasierte Firewall, die jede Regel in der Reihenfolge verarbeitet, bis sie eine passende findet.
Todo: Beispiel hier einfügen
Verwendungszweck
Das Dienstprogramm iptables ist normalerweise in Ihrer Linux-Distribution vorinstalliert, führt jedoch keine Regeln aus. Sie finden das Dienstprogramm hier auf den meisten Distributionen:
/ sbin / iptables
Blockieren einer einzelnen IP-Adresse
Sie können eine IP-Adresse blockieren, indem Sie den Parameter -s verwenden und 10.10.10.10 durch die Adresse ersetzen, die Sie zu blockieren versuchen. In diesem Beispiel werden Sie feststellen, dass wir anstelle des Anfügens den Parameter -I verwendet haben (oder -insert funktioniert auch), da wir sicherstellen möchten, dass diese Regel vor allen zulässigen Regeln angezeigt wird.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Zulassen des gesamten Datenverkehrs von einer IP-Adresse
Sie können alternativ den gesamten Datenverkehr von einer IP-Adresse zulassen, indem Sie denselben Befehl wie oben verwenden, jedoch DROP durch ACCEPT ersetzen. Sie müssen sicherstellen, dass diese Regel vor allen DROP-Regeln angezeigt wird.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j AKZEPTIEREN
Einen Port von allen Adressen blockieren
Sie können einen vollständigen Zugriff auf einen Port über das Netzwerk blockieren, indem Sie den Schalter -dport verwenden und den Port des Diensts hinzufügen, den Sie blockieren möchten. In diesem Beispiel blockieren wir den MySQL-Port:
/ sbin / iptables -A INPUT -p TCP -dport 3306 -j DROP
Zulassen eines einzelnen Ports von einer einzelnen IP
Sie können den Befehl -s zusammen mit dem Befehl -dport hinzufügen, um die Regel weiter auf einen bestimmten Port zu beschränken:
/ sbin / iptables -A INPUT -p TCP -s 10.10.10.10 --dport 3306 -j ACCEPT
Aktuelle Regeln anzeigen
Sie können die aktuellen Regeln mit dem folgenden Befehl anzeigen:
/ sbin / iptables -L
Das sollte Ihnen eine Ausgabe ähnlich der folgenden geben:
Verketten Sie INPUT (Policy ACCEPT) als Ziel für das Ziel der Zielquelle. ACCEPT all - 192.168.1.1/24 überall. ACCEPT all - 10.10.10.0/24. Überall. DROP TCP - überall. Mysql
Die tatsächliche Leistung wird natürlich etwas länger sein.
Aktuelle Regeln löschen
Sie können alle aktuellen Regeln mit dem Flush-Parameter löschen. Dies ist sehr nützlich, wenn Sie die Regeln in die richtige Reihenfolge bringen müssen oder wenn Sie testen.
/ sbin / iptables - Flush
Vertriebsspezifisch
Während die meisten Linux-Distributionen eine Form von iptables enthalten, enthalten einige auch Wrapper, die die Verwaltung etwas erleichtern. Meist handelt es sich bei diesen "Addons" um die Form von Init-Skripten, die die Initialisierung von iptables beim Start übernehmen, obwohl einige Distributionen auch komplette Wrapper-Anwendungen enthalten, die versuchen, den üblichen Fall zu vereinfachen.
Gentoo
Das iptables Das Init-Skript auf Gentoo kann viele gängige Szenarien verarbeiten. Für den Anfang können Sie iptables so konfigurieren, dass es beim Start geladen wird (normalerweise wie gewünscht):
rc-update fügt standardmäßig iptables hinzu
Mit dem Init-Skript ist es möglich, die Firewall mit einem leicht zu merkenden Befehl zu laden und zu löschen:
/etc/init.d/iptables Startet /etc/init.d/iptables stop
Das Init-Skript behandelt die Details zum Beibehalten Ihrer aktuellen Firewall-Konfiguration beim Start / Stopp. Ihre Firewall befindet sich also immer in dem Zustand, in dem Sie sie verlassen haben. Wenn Sie eine neue Regel manuell speichern müssen, kann das Init-Skript dies ebenfalls verarbeiten:
/etc/init.d/iptables speichern
Darüber hinaus können Sie Ihre Firewall im vorherigen gespeicherten Zustand wiederherstellen (für den Fall, dass Sie mit Regeln experimentiert haben und nun die vorherige Arbeitskonfiguration wiederherstellen möchten):
/etc/init.d/iptables reload
Schließlich kann das Init-Skript iptables in einen "Panik" -Modus versetzen, in dem der gesamte ein- und ausgehende Datenverkehr blockiert wird. Ich bin nicht sicher, warum dieser Modus nützlich ist, aber alle Linux-Firewalls scheinen ihn zu haben.
/etc/init.d/iptables Panik
Warnung: Starten Sie den Panikmodus nicht, wenn Sie über SSH mit Ihrem Server verbunden sind. Sie werden getrennt werden! Sie sollten iptables nur in den Panikmodus versetzen, wenn Sie gerade sind physikalisch vor dem Computer.