Neue Features der Firewall-Oberfläche FW-Builder
Regelmeister
von Michael Schwartzkopff
Erschienen im Linux-Magazin
2007/06
Unfairen Mitspielern im Netz zeigt IPtables die gelbe oder rote Karte. Dank FW-Builder, einem Profi-GUI, zaubert der Admin im Sturm ein ausgefeiltes Regelwerk. Version 2.1 gibt ihm noch mehr Mittel in die Hand und instruiert polyglott alle Schiri-Kollegen an den Außenlinien.
Regelsätze für Firewalls schreiben ist eine recht lästige Aufgabe. Wer mit der schier endlosen Liste von »iptables«-Parametern hadert, wünscht sich eine grafische Oberfläche. Kritisch wird es, wenn ein ganzes Team an Firewalls mit verschiedenen Architekturen auf dem Programm steht. Hier kommt der FW-Builder [1] von Vadim Kurland [2] ins Spiel. Das Programm verfügt über ein hervorragendes GUI und erzeugt aus der zusammengeklickten Policy passende Firewallskripte für die wichtigsten Firewallsprachen: IPtables, IPfilter, FWSM, IPfw, PF oder Pix. Dabei geht FW-Builder so umsichtig vor, dass das Tool auch professionellen Ansprüchen genügt.
Die aktuelle FW-Builder-Version 2.1.10 bindet sogar SNMP [3] ein und kann via Bind [4] DNS-Zonentransfers nutzen, um Konfigurationen auf die Firewalls zu verteilen. Wer das Tool schon länger einsetzt, sollte aufpassen: Ändert er ein altes Firewall-File (Endung ».fwb«) mit der 2.1-Release, dann konvertiert sie das Dateiformat. Das klappt zwar problemlos, nur können alte FW-Builder-Versionen damit später nichts mehr anfangen.
Neue Fähigkeiten
Beim ersten Kontakt mit der neuen Release fällt alten FW-Builder-Hasen die neue Auswahl »Tools« in der Menüleiste auf (Abbildung 1). Unter »Automat zur Netzerkennung« gibt es einen Wizard, der Objekte in einem Netzwerk aufspürt. Er liest zum Beispiel ein File im Format von »/etc/hosts« oder erkundet das Netz.

|
Abbildung 1: Vorkonfigurierte Beispiel-Firewall mit drei Netzwerkkarten und jeweils einem Server in der DMZ und einem im internen Netz. Bei den Tabs hat sich zur alten Version einiges geändert.
|
Als Startpunkt dient ein SNMP-fähiger Rechner. Der Druide liest per SNMP die ARP-Tabelle aus und versucht den gefundenen IP-Adressen DNS-Namen zuzuordnen. Bei den gefundenen Rechnern beginnt die SNMP-Anfrage erneut. Eine Begrenzung auf einen Adressenbereich (etwa 192.168.0.0/16) verhindert, dass der weise Mann das ganze Internet erkundet. Optional nutzt FW-Builder DNS-Zonentransfers, um die im DNS verzeichneten Maschinen aufzuspüren - falls diese Option einkompiliert ist.
Auch an anderen Stellen hat sich das GUI-Design verändert. Alles wirkt runder und frischer. Außerdem sind die Interface-Reiter aus der Policy verschwunden. Die Interfaces sind jetzt ein Bestandteil der Regel selbst. Die Schnittstellen innerhalb der Regeln zu verwalten beschränkt die Anzahl der Tabs auf ein Minimum und gibt jedem Tab eine klarer definierte Bedeutung. Bei riesigen Regelsätzen könnte das schwer überschaubar werden. In der Praxis passiert das aber nicht, weil die neue Version Regelsätze in Chains aufsplitten und dadurch für Übersicht sorgen kann.
Viele kleine Hilfen sorgen für zusätzliche Ergonomie. Ist ein Objekt im Baum ausgewählt, dann hebt FW-Builder alle Einträge optisch hervor, die dieses Objekt verwenden (Abbildung 2). Ein Klick im Kontextmenü auf »Wo benutzt« (je nach Version auch »Where used«) führt zu einer kompakten Aufstellung, wo das Objekt zum Einsatz kommt. Dabei ist es egal, ob das Objekt ein Host oder ein Gruppe ist oder ob es in der Policy, im NAT oder in einer Gruppe verwendet wird. Dieses Feature hilft sehr, eine gewachsene Policy durchzuflöhen und auf ein normales Maß zu beschränken.

|
Abbildung 2: Wo benutzt die Policy ein bestimmtes Objekt? Markiert der Anwender das Objekt in der Baumansicht (links), setzt FW-Builder rechts einen roten Rahmen um jedes Auftreten. Der Kontextmenü-Eintrag »Where used« liefert eine übersichtliche Liste aller Fundstellen (rechts unten).
|
Neue Objekte
Als neue Objektart taucht »Address Tables« auf, gemeint sind Ascii-Dateien mit Netzwerkadressen. Die bindet FW-Builder entweder beim Kompilieren der Policy ein oder erst zur Laufzeit, also wenn das Policy-Skript auf der Zielplattform läuft. Das eröffnet neue Möglichkeiten, rasch die Firewall umzukonfigurieren. Dshield listet zum Beispiel die 20 auffälligsten Störer im Internet [5]. Das in Listing 1 skizzierte Skript lädt die Liste (Zeile 2), bereitet sie für den FW-Builder auf (Zeilen 3 bis 6) und lädt die Firewall neu (Zeile 7).
01 cd /tmp
02 wget http://feeds.dshield.org/block.txt
03 grep "^[1-9]" /tmp/block.txt | while read L; do
04 set $L
05 echo $1"/"$3 >> /tmp/myblock.txt
06 done
07 /etc/init.d/firewall.fw
|
Achtung: Das Skript verwendet feste Namen unter »/tmp«. Es empfiehlt sich, ein eigenes, nicht öffentliches Verzeichnis anzulegen. Ein Cronjob könnte dieses Skript täglich ausführen - oder die deutlich bessere Version von Johannes Ullrich [6], des Gründers von Dshield. Ähnlich interessant ist es, Objekte mit ihren DNS-Namen anzulegen statt ihrer IP. FW-Builder löst sie wahlweise beim Kompilieren oder erst während der Laufzeit auf. Letzteres klappt nur, wenn die Firewall Zugang zu einem Nameserver hat, der den Namen des Objekts kennt.
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|