Diese Kolumne berichtet aus der Perspektive von GNU-Projekt und FSF über Projekte und aktuelle Geschehnisse im Umfeld freier Software. In dieser Ausgabe: Das Tool Firestarter, das die Konfiguration von IPtables erleichtert, und Dr Queue, ein Ressourcen-Manager für verteiltes Rechnen.

Abbildung 1: Der Ressourcen-Manager Dr Queue verwaltet die Rechnerkapazitäten beim Rendern einzelner Bilder in einer digitalen Animation. Das GUI zeigt alle Knoten des Netzwerks im Überblick.
Willkommen zu einer neuen Ausgabe der Brave GNU World. Dieses Mal ist ein Schwerpunkt die bessere Sicherheit für den eigenen Computer. Konkret geht es um ein Tool, das Anwendern beim Aufbau einer Firewall hilft. Ein weiteres Thema ist ein Projekt aus dem Bereich des verteilten Rechnens bei Animationen oder in der Visualisierung.
Firewalls
Eine Firewall arbeitet auf Ebene der Netzwerkanbindung eines Computers, um den ein- und ausgehenden Verkehr zu analysieren, zu überwachen und zu regeln. Unter Linux erledigen dies seit Kernel 2.4 die so genannten IPtables. Netzwerkverkehr findet in Form kleiner IP-Datenpakete statt und in den Tabellen legt der Kernel fest, was mit bestimmten Paketen geschehen soll. Daher heißt diese Form auch Paketfilter. Firestarter[5] ist ein Programm von Tomas Junnonen für die grafische Administration einer Firewall. Sein Ziel ist es, dem Linux-Firewall-Admin das Einrichten seines Systems einfach, komfortabel und transparent zu ermöglichen.
Beim ersten Start des Programms führt ein Firewall-Wizard den Bediener durch eine Reihe von Fragen. Durch sie ist der Assistent in der Lage, alle grundlegenden Funktionen zu konfigurieren, wobei der Schwerpunkt auf geteilten Internetanbindungen mit mehreren Rechnern unter Verwendung von dynamischer IP-Adressenzuweisung liegt.
In der Standardeinstellung erlaubt der so erstellte Paketfilter zunächst alle vom Rechner ausgehenden Verbindungen. Alle von außen auf den Computer zugreifenden Pakete – bereits etablierte Verbindungen ausgenommen – sind dagegen verboten. Der Anwender muss dies nun im laufenden Betrieb ändern beziehungsweise verfeinern.
Im normalen Betrieb verfügt Firestarter über die drei Reiter »Status«, »Events« und »Policy«. Der Status-Tab in Abbildung 2 zeigt dabei nicht nur den aktuellen Zustand der Firewall an, sondern bietet Informationen über alle bestehenden Verbindungen inklusive der verantwortlichen Anwendungen und Dienste. Es ist zudem möglich, die im Wizard gemachten Einstellungen zu verändern und die Firewall per Knopfdruck zu aktivieren oder deaktivieren. Per Klick lässt sich der Rechner auch völlig gegen die Außenwelt abschotten.
Alle Zugriffe im Blick
Der Reiter »Event« zeigt blockierte Verbindungen als Ereignisse mit Ursprungsort, Dienst und Zeit (Abbildung 3). Per Mausklick lässt sich hier eine Filterregel hinzufügen, die diesem Dienst oder diesem Computer allgemein den Zugriff erlaubt – oder auch nur diesem Dienst von genau diesem Computer. Die einfache Handhabung der Konfiguration ist einer der Vorteile von Firestarter.

Abbildung 3: Jedes abgewiesene Paket erzeugt einen Eintrag mit den Verbindungsdaten in der Übersicht.
Statt sich durch Portnummern und die Zuordnung zu den Diensten zu wühlen, kann der Anwender über das Tab »Event« schnell und gezielt die Ressourcen freigeben. Unnötige Regeln löscht der bequem im Tab »Policy«.
Dieses dritte Fenster bietet eine Übersicht über die Regeln für eingehenden und ausgehenden Verkehr, und zwar sortiert nach Computern, erlaubten Diensten und jenen Diensten, die umgeleitet werden sollen. Per Mausklick lassen sich in den einzelnen Bereichen schnell und einfach Regeln hinzufügen. Häufig benutzte Dienste sind über ihre Namen konfigurierbar.
Prioritäten setzen
Zusätzlich erlaubt Firestarter das gezielte Filtern von ICMP-Paketen, die eigentlich der Netzwerkdiagnose dienen, aber auch bei den bekannten und gefürchteten Denial-of-Service-Attacken zum Einsatz kommen. Außerdem ist es über »Type of Service« möglich, die Priorität für einen Dienst einzustellen und so der Netzwerkverkehr auf Durchsatz, Verlässlichkeit oder Interaktivität zu optimieren. Als besonderes Schmankerl zeigt Firestarter im Panel den Status der Firewall an und meldet sich von dort bei Ereignissen.
Tomas begann bereits im Jahr 2000 mit der Arbeit an Firestarter, als er nach seinem Wehrdienst auf den Beginn seines Studiums wartete. Damals fiel ihm auf, dass keines der ähnlichen Programme seinen Wünschen entsprach. Firestarter begann also wie viele andere Programme mit dem beliebten Hacker-Mantra: Das kann nicht so schwer sein.
Firestarter ist freie Software und steht unter der GPL. Es wurde in C unter Verwendung des Toolkits GTK+ geschrieben. Da es vor kurzem Eingang in den Gnome-CVS-Baum fand, sorgt das Übersetzungsteam des Projekts für lokalisierte Versionen; Fehler erfasst nun der Gnome-Bugtracker.
Zu den speziellen Problemen, mit denen das Team dabei zu kämpfen hatte, zählten insbesondere die kleinen, aber feinen Unterschiede zwischen den Distributionen. Doch unter Mithilfe einiger Freiwilliger, auch des Netfilter-Gurus Paul Drain, erreichte das Projekt im November 2004 Version 1.0 und stellte Pakete für mehrere Distributionen bereit. Seine besonderen Stärken sind für Tomas die einfache Benutzung und eine solide Dokumentation – obwohl seiner Ansicht nach Firestarter ebenso wie einige andere freie Projekte durchaus mehr professionelle Grafik vertragen könnte.
Auch wenn ihm nach eigenem Bekunden manchmal mulmig dabei ist, dass Firestarter bereits in Krankenhäusern und beim Militär eingesetzt wird, ist er doch seinem erklärten Ziel näher gekommen: So hat er darum gebeten, darauf hinzuweisen, dass seiner Meinung nach grundsätzlich jeder Rechner über eine Firewall verfügen sollte.
Für die meisten Anwendungen – vom Netzwerk zu Hause bis zum Arbeitsplatzrechner oder Laptop – ist Firestarter eine Bereicherung und es besteht die Hoffnung, dass es normalen Nutzern die Angst vor dem Einsatz der IPtables nimmt. Allerdings erlaubt Firestarter nicht das gesamte Spektrum möglicher Firewall-Konfigurationen. Komplexeren Situationen ist es unter Umständen nicht gewachsen.
Verteiltes Rechnen
Wie schon angekündigt, dreht sich der zweite Teil der Kolumne um verteiltes Rechnen, speziell um den Rendering-Manager Dr Queue[6]. Autor Jorge Daza stellte das GPL-Programm vor etwa einem Jahr zum ersten Mal der Öffentlichkeit vor. Es verteilt die Berechnung mehrerer Einzelbilder einer Animation auf einen Pool von Computern.
Dabei können für die einzelnen Berechnungen unterschiedliche Rendering-Programme zum Einsatz kommen. Dr Queue unterstützt neben den proprietären Programmen Maya, Mental Ray und Blue Moon Rendering Tools (BMRT) auch die als freie Software herausgegebenen Programme Blender[7] und Pixie[8]. Weitere Renderer lassen sich leicht zusätzlich hinzufügen, sofern das Standardprofil den konkreten Anforderungen nicht gerecht wird. Die Verteilung der Aufgaben regelt nämlich ein einfaches Shellskript.
Einfache Portierung
Das Programm selbst ist zum größten Teil in C geschrieben und um ein paar Teile C++ sowie TCSH für die Arbeitsskripte ergänzt. Für die Konfiguration und Kompilation kommt Scons[9] zum Einsatz. Dies erlaubt den Einsatz der Software ohne Schwierigkeiten unter Linux, FreeBSD, Irix und Mac OS X.
Die drei wesentlichen Komponenten des Ressourcen-Managers heißen Master, Slave und Drqman. Der Master agiert im Betrieb als Server, der die Verteilung der Arbeit und Koordination der Ergebnisse vornimmt, während der Slave auf den einzelnen Nodes läuft, um die Berechnungen nach den Angaben des Masters vorzunehmen. Der Anwender steuert das Ganze bequem mit Hilfe der grafischen Benutzeroberfläche Drqman, die auf dem Toolkit GTK+ beruht (siehe Abbildung 4).

Abbildung 4: Mit detaillierten Angaben zu den einzelnen Clients erlaubt der Ressourcen-Manager Dr Queue dem Anwender ein gezieltes Eingreifen, falls sich ein Rechner während des Renderings auffällig verhält.
Zentrale Datenspeicherung
Ergebnisse und Logfiles sammelt das Programm auf einem Laufwerk, das über das Network File System (NFS) auf allen Rechnern gemountet ist. Da NFS als relativ altes Protokoll über wenig Sicherheit und keine Kryptographie verfügt und obendrein der eigentliche Queue-Manager keinerlei Sicherheitsmaßnahmen ergreift, sollte ein solches Setup ausschließlich isoliert vom Netz oder hinter einer gut konfigurierten Firewall installiert werden. Obendrein böte es sich an, allen beteiligten Rechnern nur die Kommunikation untereinander zu erlauben, beispielsweise mit Hilfe des zuvor vorgestellten Firestarter.
Zu den Stärken von Dr Queue gehört, dass sich Aufgaben priorisieren und Abhängigkeiten zwischen den Tasks herstellen lassen. Außerdem gruppiert das Programm die Slaves in Pools und kontrolliert die CPU-Anzahl relativ fein pro Job oder Computer. Es verteilt Berechnungen auf Basis der eingesetzten Betriebssysteme, der jeweiligen Grundlast und weiterer Parameter.
Der Master ist zudem in der Lage, die Statusinformationen über Abstürze oder Systemneustarts hinaus zu bewahren und so nach einem Abbruch die Arbeit nahtlos fortzusetzen. Während der Berechnung greift der Nutzer auf diese Parameter über die grafische Benutzeroberfläche zu und veranlasst die erneute Berechnung einzelner Frames, entfernt Rechner aus dem Pool oder fügt neue Rechner hinzu.
Da die aktuelle Version bereits alle Fähigkeiten enthält, die Jorge Daza für Version 1.0 geplant hat, steht der Freigabe in nächster Zeit nichts mehr im Wege. Vorher allerdings will er die Hilfsapplikationen und die Usability der Software noch weiter verbessern. Außerdem möchte der Autor die Installation einfacher gestalten und Binärpakete für die verbreitetsten Distributionen zur Verfügung stellen.
Dokumentation
Die Dokumentation ist eine der wesentlichen Voraussetzungen für die einfache Benutzung des Programms. Leider sind die bestehenden Texte nicht vollständig und aktualisiert. Daher bittet Initiator Jorge sehr nachdrücklich um mehr Feedback. Interessierte und technisch versierte Anwender sind also aufgefordert, sich das Projekt in Ruhe anzusehen und ihn zu unterstützen. (agr)
|
Infos |
|---|
|
[1] Ideen, Anregungen, Kommentare an die Brave GNU World: [mailto:column@brave-gnu-world.org] [2] Homepage des GNU-Projekts: [http://www.gnu.org] [3] Homepage von Georgs Brave GNU World: [http://brave-gnu-world.org] [4] Initiative We run GNU: [http://www.gnu.org/brave-gnu-world/rungnu/rungnu.de.html] [5] Firestarter-Homepage: [http://www.fs-security.com] [6] Dr-Queue-Homepage: [http://www.drqueue.org] [7] Blender-Homepage: [http://www.blender.org] [8] Pixie-Homepage: [http://pixie.sf.net] [9] Scons-Homepage: [http://www.scons.org/] |
|
Der |
|---|
|
Dipl.-Phys. Georg C. F. Greve beschäftigt sich seit etlichen Jahren mit freier Software und kam früh zu GNU/Linux. Nach Mitarbeit im GNU-Projekt und seiner Aktivität als dessen europäischer Sprecher hat er die Free Software Foundation Europe initiiert, deren Präsident er ist. Mehr Informationen finden sich unter: [http://www.gnuhh.org]
|








