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

Gewusst wie:Grundlegende IPTables-Dateikonfiguration

Einführung

Dieser Artikel behandelt die Konfiguration von iptables über die Datei /etc/sysconfig/iptables, was nützlich sein kann, wenn Sie ein kompliziertes Regelwerk im Auge behalten müssen oder wenn Sie es vorziehen, sich nicht mit allen beteiligten Flags und Optionen auseinandersetzen zu müssen mit der Konfiguration von iptables über die Kommandozeile.

Voraussetzungen

Ein Server mit CentOS 6.5 oder früher (oder einer ähnlichen Distribution)

IPTables muss installiert sein

Grundlegende IPTables-Dateikonfiguration

Einer der Hauptvorteile der manuellen Konfiguration der iptables-Datei sind Kommentare. Während Sie Kommentare über das Match-Modul verwenden können („-m comment –comment“), können Sie Kommentare in der iptables-Datei selbst umfassender verwenden, indem Sie das „#“ verwenden ‘ Zeichen am Zeilenanfang:

# This is a comment and will be ignored when iptables is loaded

Wir haben also einen Vergleichspunkt, werfen wir einen Blick darauf, wie eine iptables-Datei aussehen könnte, wenn wir sie über den sudo-Dienst iptables save speichern Befehl.

sudo service iptables save

Beispiel:Dienst iptables save

Das mag in Ordnung sein, wenn wir diese kleine Anzahl von Regeln haben, aber stellen Sie sich vor, wir müssten Hunderte von Regeln im Auge behalten. Es könnte für uns schwierig sein, diese Regeln ohne einen kleinen Kommentar zu analysieren, der uns hilft, uns daran zu erinnern, was die Absicht war, diese Regeln überhaupt zu erstellen. Lassen Sie uns also einen kleinen Kommentar hinzufügen. Verwenden Sie einen Texteditor Ihrer Wahl, um eine bearbeitbare Kopie der iptables-Datei zu öffnen (die folgenden Screenshots stammen von vim, aber wir fügen nano in die Befehlseingabe ein, um die Dinge für neue Lernende einfacher zu machen):

sudo nano /etc/sysconfig/iptables

Iptables-Datei mit Kommentaren

Dies ist (mit einer Ausnahme) die gleiche Datei wie die obige ohne Kommentare. Wenn Sie es nicht gewohnt sind, eine Reihe von iptables-Regeln durchzulesen, kann diese Datei viel weniger einschüchternd sein (und wenn Ihre Kommentare klar genug sind, können sie Sie sogar daran erinnern, wie eine besonders komplizierte Regel funktionieren soll!) .

Die Scharfsichtigen haben vielleicht bemerkt, dass die ssh-Regeln in dieser iptables-Datei etwas dürftig sind, da die zweite Zeile (indem der gesamte ssh-Verkehr zugelassen wird) im Wesentlichen den Punkt der ersten Zeile ungültig macht, der angibt, dass eine bestimmte IP ssh darf in. Diese Regeln sind so konfiguriert, dass sie einige grundlegende Regelformate demonstrieren. In der Produktion gelten wahrscheinlich restriktivere Regeln.

Zwischen den beiden iptables-Regelsätzen ist eine Regeländerung zu beachten. Um eine andere Verwendung des Kommentarzeichens zu demonstrieren, haben wir das „# hinzugefügt “ vor INPUT Regel, die angibt, dass wir Datenverkehr ablehnen, der keiner der vorherigen Regeln entspricht, und eine neue Regel hinzugefügt, die besagt, dass wir den gesamten Datenverkehr protokollieren sollten, bevor wir die Standardaktion für diese Kette ausführen (DROP ). (Weitere Informationen zum Protokollieren von iptables-Aktivitäten finden Sie in diesem Artikel zur grundlegenden Fehlerbehebung von iptables). Da wir nur das REJECT auskommentiert haben Regel, wenn wir wollten, könnten wir die eine „# “, um diese Regel wiederherzustellen, anstatt sie erneut eingeben zu müssen. Dies kann nützlich sein, wenn Sie verschiedene Regeln testen oder eine Regel hinzufügen möchten, die Sie in Zukunft oder für eine begrenzte Zeit aktivieren möchten.

Beachten Sie, dass jede Regel in der Datei /etc/sysconfig/iptables mit dem „-A“ beginnt ' Befehl. Wenn Sie mit dem Hinzufügen von iptables auf der Befehlszeile vertraut sind, erkennen Sie vielleicht, dass diese Regeln denen sehr ähnlich sehen, die auf sudo iptables folgen Teil des Befehls, wenn Sie iptables-Änderungen über die CLI vornehmen. Das „-A Der Befehl gibt an, dass die Regel an das Ende der angegebenen Kette angehängt werden soll. Beachten Sie, dass keine Zeilennummer erforderlich ist (wie es für „-I sein könnte ‘ oder -R ‘) seit ‘-A ‘ fügt per Definition die Regel am Ende der Liste der Regeln in dieser Kette hinzu. Aus diesem Grund ist die Reihenfolge der Regeln wichtig, da iptables den Datenverkehr filtert, indem es diese Regeln in der Reihenfolge analysiert, in der sie in die Kette fallen.

Nachdem Sie alle Änderungen, die Sie an dieser Datei vornehmen möchten, abgeschlossen und gespeichert haben, müssen Sie die neuen Regeln laden. Der einfachste Weg, um sicherzustellen, dass alle Änderungen geladen werden, besteht darin, den iptables-Dienst neu zu starten. Diese Aktion löscht alle derzeit laufenden iptables-Regeln und lädt dann die Regeln neu, so wie sie derzeit in der Datei /etc/sysconfig/iptables vorhanden sind.

sudo service iptables restart

Dienst iptables startet Output neu

Jetzt fügen wir eine neue Regel hinzu und fügen einen Fehler hinzu, damit wir sehen können, was passiert, wenn wir den iptables-Dienst neu starten:

Beispiel Neustartfehler

Ja, „tco“ ist sicherlich ein unbekanntes Protokoll. Diese Ausgabe ist so freundlich, die Zeilennummer in der Datei anzugeben, in der der Fehler auftritt, und eine kurze Beschreibung des Fehlers, das ist also ein Vorteil. Aber dann weist diese Ausgabe auch auf einen Nachteil hin, wenn Sie Änderungen an Ihren Firewall-Regeln über die Datei /etc/sysconfig/iptables vornehmen und den gesamten Dienst neu starten. Beachten Sie, dass die erste Zeile der Ausgabe anzeigt, dass alle Ketten auf ACCEPT gesetzt werden . Die folgenden Zeilen löschen alle Regeln und entladen alle Module, die alle erfolgreich abgeschlossen werden, wie durch die eingeklammerten „OK“s angezeigt. Wenn der iptables-Dienst beim Neuladen auf den Fehler stößt, kann er die gesamte iptables-Datei nicht laden. Das bedeutet also, dass Ihr Server ohne Filter bleibt und alle Ketten standardmäßig auf AKZEPTIEREN gesetzt sind .

IPtables-Status

Wenn Sie auch NAT haben oder MANGLE Regeln, die in Ihrer iptables-Datei eingerichtet sind, dann würden Sie auch Ihre Adressübersetzungen dort verlieren, was ein großer Nachteil sein kann, wenn Sie Änderungen an der Datei vornehmen und den Dienst vollständig neu starten.

Wenn Ihr iptables-Regelsatz komplizierter wird, ist es im Idealfall am besten, Änderungen (mit erklärenden Kommentaren) in der Datei /etc/sysconfig/iptables vorzunehmen und dann die neue(n) Regel(n) manuell über die Befehlszeile hinzuzufügen, insbesondere wenn diese Änderungen auf einem Produktionsserver durchgeführt werden. Ihr Kilometerstand kann je nach Bedarf variieren.


Linux
  1. So leeren Sie die iptables-Regeln

  2. So leeren Sie die iptables-Regeln

  3. Wie man Iptables-Regeln anzeigt und löscht – List and Flush

  4. Wie kann ich bestimmte Regeln aus iptables entfernen?

  5. Wie lässt man iptables-Regeln ablaufen?

So konfigurieren Sie die iptables-Firewall unter Linux

So richten Sie einen einfachen Dateiserver mit simpleHTTPserver ein

So konfigurieren Sie die Iptables-Firewall unter CentOS

Gewusst wie:Linux Allgemein – Grundlegende IPTables über die Befehlszeile

Gewusst wie:Grundlegende IPTables-Fehlerbehebung

So sichern Sie eine Linux-Firewall mit IPTables-Regeln