Automatisiert

Die Runlevel enthalten Shell-Skripte, die jeweils beim Wechsel in den jeweiligen Runlevel ausgeführt werden. Um die vorher gespeicherten Firewall-Regeln einzulesen, legen Sie ein passendes Shell-Skript an. Darin verwenden Sie entweder den beschriebenen Aufruf von Iptables-restore oder legen für jede einzelne Regel einen separaten Iptables-Aufruf in der gewünschten Reihenfolge an.

Wesentlich individueller gestaltet sich nachfolgend vorgestellte Variante. Hier erweitern Sie die Einträge zu den Netzwerkschnittstellen in der Datei /etc/network/interfaces. Die Einträge erlauben Ihnen die Angabe eines Skripts beziehungsweise Kommandos, das startet, sobald das System ein Netzwerk-Interface aktiviert beziehungsweise deaktiviert (Listing 3).

Das erste Kommando in Zeile 3 erfolgt als Angabe hinter dem Schlüsselwort pre-up und bewirkt das Ausführen des Kommandos vor dem Aktivieren der Schnittstelle. Die Anweisung post-down in Zeile 4 bezieht sich auf den Zeitpunkt nach dem Deaktivieren des Interfaces. Damit erreichen Sie, dass die Firewall bestimmte Regeln nur dann abarbeitet, wenn ein bestimmtes Interface eingeschaltet ist.

Listing 3

allow-hotplug eth0
iface eth0 inet dhcp
  pre-up /usr/local/sbin/firewall-einschalten.sh
  post-down /usr/local/sbin/firewall-ausschalten.sh

Auch findige Debian-Entwickler erkannten das Problem und ersannen eine Lösung, die sie Iptables-persistent [7] tauften. Sie zählt bereits seit Debian 5 alias "Squeeze" zum Lieferumfang und kombiniert die bereits oben vorgestellten Varianten miteinander.

Dazu legt Iptables-persistent die beiden Dateien /etc/iptables/rules.v4 für IPv4 und /etc/iptables/rules.v6 für IPv6 an. Darin speichert es bereits bei der Paketkonfiguration die aktuellen Firewall-Regeln. Zusätzlich erstellt es ein passendes Init-Skript namens /etc/init.d/netfilter-persistent, das Sie via service netfilter und den üblichen Schaltern start, stop, reload und restart aufrufen.

Ausblick: Hilfreiches

Im Kontext von Iptables existieren etliche kleine Programme, die den Alltag etwas erleichtern. Dazu zählen etwa Iptables-apply und Iptables-xml, beide Bestandteil des Pakets iptables, sowie der Iptables-converter aus dem gleichnamigen Paket.

Das Shell-Skript Iptables-apply hilft Ihnen beim Testen von Firewall-Regeln aus der Ferne. Es erlaubt ein Zurückrollen der Regeländerungen, sofern diese dazu führen würden, die aktuelle Verbindung zu unterbrechen. Dazu fragt es ab, ob die Änderungen in Ordnung sind. Antworten Sie nicht innerhalb einer bestimmten Zeitspanne, rollt es die Änderungen zurück. Das verringert das Risiko, dass Sie sich bei Änderungen der Firewall-Regeln aussperren. Sofern der entfernte Rechner entsprechend ausgestattet ist, bleibt als weitere Sicherheitsleine noch die Kommunikation über die serielle Schnittstelle, da die Firewall-Regeln diese im Normalfall nicht mit berücksichtigen. Denkbar wäre auch ein Zugang via KVM-Switch.

Das Skript Iptables-xml gibt Firewall-Regeln im XML-Format aus. Etliche grafische Werkzeuge für Firewalls verstehen dieses Format und verarbeiten es. Abbildung 1 zeigt beispielhaft eine mit diesem Tool generierte XML-Datei.

Abbildung 1: Das Tool Iptables-xml wandelt Iptables-Regeln in eine XML-Struktur um, die sich in anderen Applikationen weiterverwenden lässt.

Hilfreich ist auch das Programm Iptables-converter. Es wandelt Iptables-Anweisungen in das Format um, das Iptables-save und Iptables-restore verwenden. Damit überführen Sie etwa bestehende Shell-Skripte mit Abfolgen von Iptables-Anweisungen direkt in dieses Format. Auch das grafische Werkzeug Fwbuilder [8] liest entsprechende Dateien ein und generiert daraus wiederum maßgeschneiderte Paketüberprüfungen (Abbildung 2). 

Abbildung 2: Das grafische Bearbeiten der Regeln in Fwbuilder zeigt die eingelesenen Regeln, die der Iptables-converter erzeugt hat.

Danksagung

Der Autor bedankt sich bei Werner Heuser und Axel Beckert für deren Kritik und Anregungen im Vorfeld dieses Artikels.

Der Autor

Frank Hofmann (http://www.efho.de) arbeitet in Berlin im Büro 2.0, einem Open-Source-Expertennetzwerk, als Dienstleister mit Spezialisierung auf Druck und Satz. Seit 2008 koordiniert er das Regionaltreffen der LUGs aus der Region Berlin-Brandenburg. Er ist Co-Autor des Debian-Paketmanagement-Buchs (http://www.dpmb.org).

Glossar

KVM-Switch

Ein KVM-Switch fungiert als Umschalter, der einen Satz von Endgeräten (Keyboard, Video, Maus) mit mehreren Computern verbindet. Auf diese Weise lassen sich mehrere Rechner mit nur einer Tastatur, einer Maus und einem Bildschirm steuern.

Infos

[1] Netfilter: http://www.netfilter.org

[2] Ebtables: http://ebtables.netfilter.org

[3] Squid: http://www.squid-cache.org

[4] Iptables-Basics: Marcus Nasarek, "Feuerfest", LU 01/2007, S. 28, http://www.linux-community.de/11961

[5] Iptables im Detail: Marc André Selig, "Private Feuerwände", LU 05/2002, S. 30, http://www.linux-community.de/2107

[6] Debian-Wiki: Firewall: https://wiki.debian.org/DebianFirewall

[7] Iptables-Firewall-Regeln dauerhaft speichern: https://www.thomas-krenn.com/de/wiki/Iptables_Firewall_Regeln_dauerhaft_speichern

[8] Fwbuilder: Florian Effenberger, "Aufbauhilfe", LU 05/2011, S. 70, http://www.linux-community.de/22939

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...