Desinfec’t vom Linux-Server booten

Nützliche Datenträger wie Desinfec’t tauchen genau dann unter, wenn man sie dringend braucht. Wer ohnehin einen Linux-Server betreibt, kann es dort so hinterlegen, dass sich PC-Patienten die Medizin direkt aus dem Netz holen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 13 Min.
Von
  • Ralf Schneider
  • Peter Siering
Inhaltsverzeichnis

[Update 11.6.2016: Dieser Artikel wurde auf Desinfec't 2015 angepasst]

Die Mehrzahl der in den letzten Jahren verkauften PCs kann ebenso selbstverständlich aus dem Netzwerk booten wie von einem optischen Datenträger. Gegebenenfalls muss man die Option im BIOS-Setup aktivieren. Oft genügt es aber auch, beim BIOS-Selbsttest die richtige Taste für die Boot-Auswahl zu drücken, meist F12. Starten aus dem Netzwerk ist dann eine von mehreren Optionen.

Bis zu vier Scanner schickt Desinfec't auf die Virenjagd.

Die Infrastruktur, die man dazu braucht, ist nicht allzu aufwendig. Es muss sich dazu nicht mal um einen echten Server handeln, ein bei Bedarf gestartetes System in einer VM genügt vollends. Für Windows haben wir das bereits erklärt. Das Folgende zeigt die nötigen Schritte für ein Linux-System und am Beispiel unseres Desinfec’t-Projekts – einer Boot-DVD, die zuletzt c’t 14/2015 beilag und die diverse Hilfsmittel enthält, um PCs von Schädlingen zu befreien.

Das Starten aus dem Netzwerk ist in vielerlei Hinsicht praktisch: Geräte ohne optisches Laufwerk lassen sich damit erreichen, etwa Netbooks. Das lästige Gejaule des Laufwerks stört nicht. Zudem läuft ein Rettungssystem wie Desinfec’t auf aktueller Hardware flüssiger aus dem Netz. Und: Steht die Infrastruktur für den Netzwerk-Boot, kann man dort auch gleich weitere Helfer, Installationsmedien oder sonstige Projekte ablegen und nutzen.

Noch eine erfreuliche Botschaft vorab: Wer denkt, dass er dafür womöglich lieb gewonnene Dienste umstricken muss, ist auf dem Holzweg. Ein Linux-Maschinchen, das anderen das Booten aus dem Netz erlaubt, integriert sich nahtlos in ein bestehendes Netzwerk. Man muss also weder Dienste auf bestehenden Servern anfassen noch den Router in Rente schicken, weil er die nötigen Protokolle nicht kennt.

Booten aus dem Netz heißt heute „PXE“. Das von Intel spezifizierte Preboot Execution Environment fasst die zuvor etablierten Verfahren zusammen und erweitert sie um eine normierte Schnittstelle für Netzwerkzugriffe. Es schafft quasi ein BIOS für Netzwerkkarten, das für jeden Chip und Hersteller gleich funktioniert. Das heißt: Im Rahmen des Bootens braucht man anders als früher keine Treiber, die zur jeweiligen Netzwerkkarte passen, PXE bringt sie mit.

Das Verfahren ist einfach: Der startende PC ruft ins Netz hinaus und erfragt eine IP-Adresse, das Protokoll dazu heißt DHCP (Dynamic Host Configuration Protocol). Der DHCP-Server antwortet mit einer Adresse und weiteren Informationen. Eine solche Antwort enthält in der Regel die Adresse des Nameservers und des Gateways, kann aber zusätzliche Hinweise zum Beispiel auf eine spezielle Startdatei für den Netzwerk-Boot enthalten.

Findet der PC solche Hinweise, dann lädt er die Datei von einem TFTP-Server und führt sie aus; das Trivial File Transfer Protocol ist eine authentifizierungslose Variante von FTP. Diese Dateien enthalten Hinweise, wie weiter zu verfahren ist, zum Beispiel ein Auswahlmenü für mehrere auf dem Boot-Server abgelegte Betriebssysteme. Optional kann auch ein PXE-Bootserver in dem Prozess mitmischen.

Das Verfahren ist so ausgelegt, dass die PXE-spezifischen Teile parallel zu einem bereits vorhandenen DHCP-Server arbeiten können – der ist oft auf einem Router aktiv und lässt sich gar nicht geeignet anpassen. Die parallel zu einem vorhandenen DHCP-Server nötige Komponente heißt DHCP-Proxy und kann sogar gleichzeitig zum DHCP-Server auf dem gleichen System aktiv sein.