Open Source im professionellen Einsatz

Hochverfügbare Linux-Firewall mit Zustandssynchronisation der Cluster-Knoten

Ewige Flamme

Linux beherrscht Firewalling meisterlich, nur für den Einsatz in geschäftskritischen Umgebungen fehlte lange etwas. Nun rüstet Ct_sync die für Hochverfügbarkeit vermisste Synchronisation nach.

Hochverfügbarkeit ist eine übliche Anforderung an geschäftskritische Systeme. Oft gilt das auch für die Internetanbindung, weil beim Ausfall kein Kunde die Firmen-Website erreicht und wichtige E-Mails hängen bleiben. Da sämtlicher Verkehr durch eine Firewall läuft, wird diese zum neuralgischen Punkt: Sie darf nicht ausfallen. Linux hat sich längst als hervorragende Firewall-Plattform etabliert. Der Aufbau einer hochverfügbaren Firewall mit Netfilter/IPtables war in der Vergangenheit jedoch ein Problem.

Reserverechner

Hochverfügbare Lösungen sind meist als Cluster mit mindestens zwei Knoten implementiert. Im Regelbetrieb erledigt der Master die anstehenden Aufgaben, während der passive Knoten (Slave, Hot-Standby) lediglich seinen Master überwacht und bei dessen Ausfall die Funktion übernimmt. Außenstehende sollen davon möglichst nichts bemerken; für sie bleibt der Cluster ständig verfügbar.

Die schwierigste Aufgabe bei jeder Art Hochverfügbarkeit ist die Synchronisation. Beide Knoten müssen ihrer Anwendung den identischen Datenstand vorlegen. Bei einem Webserver, der statische Seiten ausliefert, ist das trivial. Bei einem Forum oder Gästebuch muss der Administrator aber sicherstellen, dass neue Beiträge auf beiden Systemen landen und die Datenbestände konsistent bleiben.

Ob Hochverfügbarkeit einfach oder schwierig zu implementieren ist, hängt primär von der Synchronisation ab. Zusätzlich ist Software nötig, die den Ausfall eines Knoten erkennt und einen Failover auf den Hot-Standby durchführt - Linux-Lösungen dafür gibt es längst in verschiedenen Ausprägungen.

Bei den Firewallregeln gelingt die Synchronisation noch recht einfach, sie ändern sich nur, wenn der Admin eine neue Policy einspielt. IPtables-Firewalls ziehen aber auch dynamische Daten zu Rate, um über das Schicksal eines Pakets zu entscheiden: In einer Zustandstabelle (Connection Tracking Table) speichern sie Informationen über bestehende Verbindungen. Ob ein Paket die Firewall passieren darf, hängt von den statischen Regeln und der dynamischen Zustandstabelle ab.

Dank dieser Tabelle kann der Administrator wesentlich bessere und sicherere Paketfilter konfigurieren als bei rein statischen Filtern. Listing 1 zeigt ein einfaches Firewallskript. Zeile 10 legt bei jeder neuen Verbindung, die vom internen Netz ins externe geht, einen Eintrag in der Zustandstabelle an und gestattet den Transfer. Die Regel in Zeile 11 passt zu allen Folgepaketen innerhalb dieser Verbindung. Um die Zugehörigkeit einzelner Pakete zu bestimmen, konsultiert Netfilter die Zustandstabelle.

Doppelt hält besser

Eine hochverfügbare Firewall besteht aus (mindestens) zwei identischen Systemen. Damit ein System den Ausfall des anderen erkennt, muss der Administrator eine geeignete Software installieren. Hier bietet sich Keepalived an [1]. Dieser Userspace-Daemon implementiert das Virtual-Router-Redundancy-Protokoll (VRRP, [2]), mit dem sich hochverfügbare Router und Firewalls realisieren lassen. Alternativ zu VRRP würde sich UCARP eignen ([3] und der BSD-Firewall-Artikel in diesem Heft).

VRRP verwaltet eine virtuelle Router-IP-Adresse und garantiert, dass sie verfügbar bleibt, solange mindestens ein Knoten im Cluster funktioniert. Im Normalbetrieb hört der aktive Knoten auf sie. Bei einem Ausfall übernimmt der Hot-Standby die IP-Adressen und damit auch die Funktion des virtuellen Routers. Die Rechner in den angeschlossenen Netzen bemerken davon nichts, Gratious-ARP bringt die ARP-Caches der Nachbarn auf den Stand der neuen MAC-Adressen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook