Aus Linux-Magazin 01/2012

Im Test: Zentrales PC-Deployment mit Fog

© no more lookism, photocase.com

Fog nennt sich ein Admin-System, das auf Zuruf Festplattenkopien von PCs anfertigt, verwaltet, administrieren hilft und über einen ganzen PC-Pool verteilt. Das Ganze gehört nicht in den Dunstkreis der Virtualisierung, sondern schaltet per PXE ein Menü vor das Betriebssystem auf der lokalen Festplatte.

An Software zum Erzeugen und Wiedereinspielen einer ganzen Festplatte oder einzelner Partitionen herrscht eigentlich kein Mangel: von Norton Ghost [1] über True Image [2] bis zu Clonzilla [3], Partimage [4] und einige mehr. Auch die freie Linux-Software Fog [5] zieht Abbilder über das Netz und verteilt sie an andere Systeme. Es handelt sich also um kein klassisches Backup-, sondern um ein Deployment-Tool. Denn das System besitzt einige praktische Funktionen wie das automatische Anlegen von Benutzern oder das Anmelden eines Host im Active Directory nach Neuinstallation. Es ist eher mit Snap Deploy [6] aus der Windows-Schiene zu vergleichen.

Administratoren, die Verantwortung für viele Clients tragen, versuchen so viel wie möglich zu automatisieren. Windows selbst bietet eine unbeaufsichtigte Installation, ähnlich zu Kickstart [7] bei Red-Hat-Systemen. Neben der Grundinstallation gehören zu einem System gewöhnlich weitere Software und Treiber. Es bietet sich an, für Gruppen gleichartiger Hosts einen Abzug eines fertig installierten Systems anzulegen und ihn auf die anderen PCs zu verteilen – genau dies tut Fog. Grundlage des folgenden Artikels ist die Version 0.32, also eine neuere als die 0.27, die noch mit der DELUG-DVD im Linux-Magazin 11/2011 unter die Linux-Menschheit kam.

Die Architektur

Die Basis des Systems bildet ein DHCP-Server, der auf PXE-Bootrequests von Clients reagiert und ihnen entweder ein Bootmenü oder gleich einen Netzboot anbietet. Der Fog-Server stellt die Startdaten per TFTP und NFS bereit. Eine LAMP-Kombination und einige selbst geschriebene Tools verwalten das ganze Ensemble. Normalerweise liegen die PC-Images auf den Festplatten des Servers. Reicht der Platz bei vielen Clients nicht aus oder erweist sich der Datendurchsatz als ungenügend, kann Fog auch die Dienste von Storage Nodes in Anspruch nehmen. Die bieten nicht nur den Platz für viele Images, sondern stehen möglicherweise auch netztopologisch näher an den Clients als der Fog-Server.

Die verwalteten PCs sollten das Netzwerk als erste Bootquelle haben, damit Fog sie fernsteuern kann. Ein Fog-Client zeigt nach dem Start das per Syslinux erzeugte Menü in Abbildung 1 an. Der erste Eintrag initiiert das Booten von der lokalen Festplatte, er startet auch nach einem Timeout. Über die anderen Einträge registriert der Bediener den PC in der Fog-Datenbank, startet Memtest, fertigt ein Plattenimage an oder lässt sich Informationen über den Host anzeigen.

Abbildung 1: Der Bootscreen eines Fog-Clients nach dem Start übers Netz.

Abbildung 1: Der Bootscreen eines Fog-Clients nach dem Start übers Netz.

Bei allen Menüpunkten außer dem ersten bootet ein Linux-Kernel, der über Bootparameter erfährt, was der Benutzer ausgewählt hat. Das regulär startende Betriebssystem darf eine Linux-Distribution sein, Fog ist Client-seitig aber auf Windows XP, Vista und 7 optimiert.

Um einen PC zu einer Fog-Aktion zu veranlassen, ohne dass ein Bediener vor dem Gerät sitzt, läuft auf Windows-Clients ein Service, der in Intervallen beim Server nachfragt, ob eine Aufgabe ansteht. Ist dies der Fall und kein Benutzer eingeloggt, startet der Service den Rechner neu. Der sich anschließende Netzwerkboot nimmt die vorgesehene Konfiguration vor und erledigt übertragene Aufgaben wie das Anfertigen eines Abbilds.

Walten im Nebel

Fog stattet den Arbeitsplatz des Administrators mit einer optisch sehr ansprechenden Weboberfläche aus, die die Arbeitsschritte gut gegliedert präsentiert (Abbildung 2). Im Zentrum der Verwaltungsaufgaben stehen die Hosts: Ihre Daten gelangen entweder durch das Registrieren im PC-Bootmenü, manuell per Web-GUI oder durch das Hochladen einer CSV-Datei in die Datenbank (Abbildung 3). Als logische Abstraktionsebene kann Fog Hosts in Gruppen ordnen. Jede Aktion, die der Server auf einem Host anzustoßen vermag, darf der Admin auch auf eine Gruppe anwenden.

Abbildung 2: Fogs Weboberfläche für den Administrator – nach dem Einloggen sieht dieser zuerst das Dashboard mit Nutzungsstatistiken.

Abbildung 2: Fogs Weboberfläche für den Administrator – nach dem Einloggen sieht dieser zuerst das Dashboard mit Nutzungsstatistiken.

Abbildung 3: Hier dreht sich alles um einen in Fog registrierten Host. Über das Menü links kann der Admin den betreffenden PC administrieren.

Abbildung 3: Hier dreht sich alles um einen in Fog registrierten Host. Über das Menü links kann der Admin den betreffenden PC administrieren.

Im nächste Schritt widmet sich der Admin den Abbildern. Er legt eines an, indem er einen Namen, den Dateinamen (auch wenn die Datei noch nicht existiert), einen Typ und die so genannte Speichergruppe angibt. Der Typ darf das Image einer NTFS-Partition sein, das sich auch verkleinern lässt, um Speicherplatz zu sparen, oder ein Image mit mehreren Partitionen oder das einer ganzen Festplatte. Bei den letzten beiden Methoden ist Resizing nicht möglich. Ein Test ergab, dass bei geklonten Linux-Systemen die Partitionsgrößen ebenfalls fix bleiben, auch wenn im Zielsystem eine größere Festplatte ihren Dienst verrichtet.

Der nächste Menüpunkt verwaltet die eben erwähnten Speichergruppen. Eine Speichergruppe bekommt die Speicherknoten zugeordnet – so vorhanden. Der Admin gibt für jeden Speicherknoten dessen IP-Adresse, Usernamen und Passwort zur Absicherung der Kommunikation an sowie den Pfad, in dem die Images liegen, und die maximale Anzahl an Clients, die dieser Node bedienen kann.

Snapins und Tasks

Eine Aufgabe, die ein Client automatisch ausführen soll, bindet der Admin über ein so genanntes Snapin ein. Es kann dabei um die Installation eines Softwarepakets gehen oder das Ausführen eines Windows-Powershell-Skripts. Leider hat Fog sein Snapin-Konzept nur für Windows-Clients implementiert.

Aufgaben, die der Client auf logisch tieferer Ebene absolvieren soll, heißen in Fog Tasks. Die verordnet der Admin einem oder einer Gruppe von Hosts. Die ausgewählten Maschinen führen die Task beim nächsten Reboot aus. Neben dem Ausrollen oder Erstellen eines Abbilds ermöglicht das Advanced-Menü eine Hardware-Inventur, einen Virusscan mit Clam AV, eine Festplattenanalyse, das Löschen der Festplatte in verschiedenen Güteklassen, das Retten von Dateien und das Zurücksetzen des Passworts. Ebenfalls als Plugin ist jene Komponente implementiert, die auf Windows-Clients die Snapins ausführt.

In Sachen Tasks für Linux-Clients gibt sich Fog abermals karg: Das Klonen von Linux-Systemen funktioniert zwar wie erwähnt. Auch das Anlegen von Benutzern gelingt Fog, indem es auf dem Client ein »useradd« ausführen lässt. Einen Clientservice, der auf Spezifika einzelner Linux-Distributionen Rücksicht nehmen kann und die typischen PC-Admin-Aufgaben abdeckt, suchten die Tester allerdings vergeblich.

Drucken, Active Directory, Standby & Co.

Auf den Clients kann Fog noch weitere Aktionen veranlassen, beispielsweise den Hostnamen ändern oder bestimmte Verzeichnisse löschen. Wer das Plugin zum Aufräumen der Benutzer aktiviert, sollte sich noch vor dem Klonen überlegen, welche vorhandenen Benutzernamen er nicht löschen darf, und diese entsprechend in die Liste der geschützten Accounts eintragen.

Fog kann Drucker zentral verwalten und automatisch auf Windows-Clients verankern oder das Anmelden im Active Directory (Maschinenaccount) erledigen. Unter »Green Fog« findet sich ein Plugin, das die Rechner in den Schlafmodus versetzt. Eine Auto-Logout-Komponente beendet die Sitzung bei Nicht-Aktivität. Das System führt auch Buch über gefundene Viren sowie das An- und Abmelden von Benutzern – hier sollte der Admin vorher mit dem Betriebsrat oder Datenschutzbeauftragten reden, da solche Maßnahmen in Deutschland und anderen europäischen Ländern mitbestimmungspflichtig sind. Schließlich erzeugt Fog noch umfangreiche Reports über die Menge der Images und Aktivitäten des Systems.

Nebel des Grauens

So ausgeklügelt das Fog-System auch ist, darf man seinen Architekten auch offensichtliche Unzulänglichkeiten vorhalten, so die Robustheit: Auftretende Fehler erkennt Fog nur teilweise. Beim Versuch, ein Image auf eine viel zu kleine Festplatte zurückzuspielen, bekamen die Tester zwar eine Fehlermeldung auf dem bootenden Clientrechner zu Gesicht, das Web-GUI auf dem Server meldete die Task aber als erfolgreich abgeschlossen – genau solche Effekte schätzt der Admin eines PC-Pools aber nicht.

Der zweite Schwachpunkt ist die Sicherheit: Der Windows-Client kommuniziert mit dem Fog-Server per einfachem HTTP. Genauso verfährt das zum Absolvieren einer Task übers Netz gestartete Linux-System auf dem Client: Es überträgt seine Daten zum Fog-Server im Klartext, eine Authentisierung in irgendeiner Richtung findet nicht statt. Angreifern bietet Fog also genug Angriffsfläche, um Kontrolle über die Clients zu erlangen. Dabei wäre eine Abhilfe mit HTTPS mit Authentisierung leicht zu schaffen.

Deployment zum Nulltarif

Die Open-Source-Software Fog ist abgesehen von Sicherheitsproblemen und rudimentärem Fehlerhandling gut durchdacht. Der zentrale Server verwaltet die auf den PCs hergestellten und geklonten Images, stößt Tasks an und erledigt per Snapins auf Windows-Systemen wichtige administrative Arbeiten. Durch das Konzept der Storage Nodes scheint die Lösung zudem für Größeres gerüstet – in den Benutzerforen finden sich Berichte über Fog-Installationen, die eine vierstellige Anzahl Clients versorgen. (jk)

Der Autor

Konstantin Agouros arbeitet bei der N.runs AG als Berater für Netzwerksicherheit. Dabei liegt sein Schwerpunkt im Bereich Telekommunikationsanbieter. Sein Buch “DNS/DHCP” ist bei Open Source Press erschienen.

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben