Was sind die Vor- und Nachteile beim Bearbeiten der iptables-Konfigurationsdatei im Vergleich zum Hinzufügen von Regeln über den iptables-Befehl?

Was sind die Vor- und Nachteile beim Bearbeiten der iptables-Konfigurationsdatei im Vergleich zum Hinzufügen von Regeln über den iptables-Befehl?

Ich arbeite mit einem Produkt auf CentOS, das gelegentlich automatisch Regeln zur iptables-Konfiguration hinzufügen und daraus entfernen muss. Beispielsweise möchten wir während eines Updates eingehenden Service-Datenverkehr explizit ablehnen, bis das Update abgeschlossen ist. Derzeit besteht der im Update-Code verwendete Ansatz darin, mithilfe sedanderer Textverarbeitungsprogramme die relevanten Zeilen in der Konfigurationsdatei auskommentieren zu lassen, den iptablesDienst mit der neuen Konfigurationsdatei neu zu starten und den Vorgang am Ende des Updates umzukehren und den Dienst erneut zu starten.

Meiner Ansicht nach wäre es ein besserer Ansatz, den iptables -D table rule-specificationBefehl zu Beginn des Vorgangs und dann iptables -A table rule-specificationam Ende der Aktualisierung zu verwenden.

Das größte Problem, das ich bei der automatischen Manipulation der Konfigurationsdatei sehe, ist die Instabilität: Es gibt Systemtools, die die Konfigurationsdatei neu schreiben und möglicherweise Parameter usw. neu anordnen, wodurch möglicherweise die Textanalyse unterbrochen wird ( service iptables saveist ein Beispiel).

Welcher Ansatz wird empfohlen, um derartige Systemkonfigurationsänderungen direkt im Code vorzunehmen und warum?

Antwort1

Die meisten Menschen gehen mit dieser Situation mit einer gewissen Abstraktion um.

Beispiel: Anstatt eine einzelne Datei mit Ihrem Regelsatz zu haben, können Sie einen Satz von Dateien mit Ihren Regeln erstellen und diese dann miteinander verknüpfen.

Sie können beispielsweise einzelne Regeln in Dateien mit diesem Namen einfügen.

/etc/iptables-rules/00_flush_drop
/etc/iptables-rules/20_permitotherstuff
/etc/iptables-rules/10_permitssh
/etc/iptables-rules/99_drop

Führen Sie dann einfach den Regelsatz mit aus run-parts /etc/iptables-rules. Wenn Sie einen weiteren Regelsatz hinzufügen müssen, fügen Sie einfach vorübergehend eine Datei ein und entfernen Sie sie dann nach Bedarf.

Sie sollten auch unbedingt darauf achten, KETTEN in Ihrer Konfiguration einzurichten und zu verwenden. Ketten sind so etwas wie Unterroutinen. Sie könnten beispielsweise ganz oben in Ihrer Firewall eine Regel hinzufügen, um in eine Kette zu springen. Ketten haben eine Standardrichtlinie von RETURN. Wenn Sie also eine temporäre Regel hinzufügen müssen, fügen Sie sie einfach in diese KETTE ein. Wenn Sie sie nicht mehr benötigen, leeren Sie einfach diese bestimmte Kette.

verwandte Informationen