Auch beim Bootvorgang an Sicherheit gedacht?

In vielen Fällen wird beim Thema Sicherheit bei Computern meist an sichere Passwörter, an permanente Updates und ähnliches gedacht. Dabei bleibt meist der eigentliche Bootvorgang ungesichert und lässt alle Türen für eventuelle Angreifer offen. Aus gegebenem Anlass wird im folgenden beschrieben, wie auch der Bootvorgang sicherer gemacht werden kann.

Allgemein

Computer die öffentlich zugänglich sind, egal ob so nun in einem Computer Pool oder an einem anderen Ort ist, so lange andere Leute physischen Zugriff darauf haben, sind sie einem höheren Sicherheitsrisiko ausgesetzt. Selbst wenn der eigentliche Zugang über ein Passwort gesichert wurde, kann der Bootvorgang ein erhöhtes Sicherheitsrisiko darstellen.

BIOS

Zu aller erst muss der Computer vom BIOS her gesichert werden. Dazu müssen folgende Aktionen durchgeführt werden.

  1. BIOS-Passwort einstellen.- Aber Achtung, dieses sollte sehr sicher gewählt werden, weil meist nur 8 Zeichen zur Verfügung stehen.
  2. Einstellen von welchen Geräten gebootet werden darf. - Hier darf nur die jeweilige Festplatte auf der sich das Betriebssystem befindet eingestellt sein. Alles andere wie USB, CD-ROM/DVD-Laufwerke oder Disketten-Laufwerke sollte deaktiviert werden.
  3. Eventuelle Bootmenüs deaktivieren. - Manchen BIOS-Versionen stellen zusätzlich Bootmenüs zur Verfügung, über die ausgewählt werden kann, von welchem Laufwerk gebootet werden soll. Diese können meist durch eine Tastenkombination beim Bootvorgang angezeigt werden.
  4. Hardware RAID Controller müssen teilweise deaktiviert werden. - Viele Hardware-RAID Controller bieten im Moment keinen richtigen/gar keinen Passwortschutz. Aus diesem Grund sollten sie aus Sicherheitsgründen besser deaktiviert werden. Linux bietet auch die Möglichkeit eines Software-RAID.

Bootmanager

Sind alle Einstellungen am BIOS vorgenommen, müssen weitere Einstellungen am Bootmanager vorgenommen werden. Da bei den meisten aktuellen Linux Distributionen Grub oder Grub2 zum Einsatz kommt, werden diese beiden im folgenden behandelt.

Problem bei diesen Bootmanagern ist, dass teilweise eingetragen wurde, dass mit diesen auch von Diskette oder CD-ROM gebootet werden kann. Diese Einträge müssen natürlich dringendst deaktiviert werden.

Alle im folgenden beschrieben Aktionen können bei den unterschiedlichsten Linux-Distributionen teilweise oder sogar ganz mit einer Grafischen Oberfläche vorgenommen werden. An dieser Stelle werden jedoch die Schritte beschrieben, die nur mit einem Text-Editor vorgenommen werden können.

Für die im folgenden beschrieben Schritte müssen als Root bzw. mit Root-Rechten ausgeführt werden.

Grub

Um die Einstellungen vorzunehmen muss die Datei /boot/grub/menu.lst editiert werden.

Teilweise sind im Bootmenü Einträge zum Booten von Diskette. CD-ROM/DVD-Laufwerk oder einem anderen externen Gerät eingetragen, diese müssen natürlich entfernt werden. Anschließend muss überprüft werden ob Wartungseinträge, meist mit Recovery-Mode oder ähnlich bezeichnet, im Menü enthalten sind. Bei diesen muss überprüft werden ob nach dem Starten ein Passwort verlangt wird. Sollte nicht danach gefragt werden, sollte dieser Eintrag entweder deaktiviert oder ein Passwort eingestellt werden. Letzteres ist meist die bessere Wahl.

Im Grub ist es möglich die Boot-Parameter direkt im Bootmenü anzupassen. Diese Möglichkeit kann durch die Eingabe eines Passworts verhindert werden. Dazu muss folgende Zeile in die Datei menu.lst eingetragen werden.

password das_passwort

Oder besser.

$ password  --md5 das_md5_passwort

Die Zeichenketten "das_passwort" und "das_md5_passwort" müssen natürlich durch ein sicheren Passwort ersetzt werden. Dabei ist "das_passwort" ein Klartextpasswort und "das_md5_passwort" ein mit MD5 "verschlüsseltes" Passwort.

Letzteres kann mit dem Programm grub-md5-crypt erstellt werden. Dazu fragt es nach dem Klartextpasswort und gibt anschließend das mit MD5 "verschlüsselte" Passwort zurück.

So weit so gut. Alles sicher, oder? Nein, noch nicht ganz!

Im Moment kann noch jeder Benutzer, der sich an dem Rechner anmelden kann, auch auf die Datei menu.lst zugreifen und diese lesen. Somit kann er auch das Passwort auslesen, welches zwar auf den ersten Blick bei einem MD5-Passwort sinnlos erscheint, aber auch hierfür gibt es verschiedene Möglichkeiten das Klartextpasswort wieder herzustellen. Aus diesem Grund müssen die Zugriffsrechte auf die Datei menu.lst so eingestellt werden, dass nur Root sie lesen und schreiben kann und ein anderer Nutzer keinerlei Zugriffsrechte hat.

Um alle vorgenommenen Einstellungen zu übernehmen muss folgender Befehl ausgeführt werden.

$ update-grub

Grub2

Im Moment würde ich Grub2 mit einem Blick auf die Sicherheit nicht für öffentlich zugängliche Computer empfehlen, denn die Passwortunterstützung ist erst seit Kurzem und die Unterstützung von MD5 "verschlüsselten" Passwörtern ist im Moment noch gar nicht vorhanden. Selbst wenn diese Funktionen implementiert werden und in die offizielle Version einfließen sollte dringendst überprüft werden, ob diese Version des Grub2 auch in der gewünschten Linux-Distribution vorhanden ist.

Die Konfiguration von Grub2 ist ein ganzes Stück komplexer als die von Grub. Alle Konfigurationsdateien befinden sich unter /etc/grub.d/. Weiterhin gehört die Datei**/etc/default/grub** auch dazu.

In erster Linie gilt hier genau das gleiche wie schon bei Grub, es müssen alle Einträge deaktiviert werden, die das Booten von einem externen Gerät zulassen. Des weiteren müssen eventuelle Wartungszugänge überprüft werden, ob diese mit einem Passwort gesichert sind. Um dieses Vorzunehmen sollten am besten die Dateien unter /etc/grub.d/ durchsucht werden, teilweise gibt es jedoch in der Datei /etc/default/grub einen einfacheren Weg.

Jetzt kann die Passwortabfrage zum ändern der Bootoptionen eingestellt werden. Benötigt wird dazu eine Grub2 Version, die nach dem 25.8.2009 erstellt wurde.

Dazu wird im Verzeichnis /etc/grub.d/ eine neue Datei mit dem Namen 00_password und folgendem Inhalt angelegt.

#! /bin/sh -e
echo 'set superusers="user1"'
echo 'password user1 password

Nun müssen die Rechte auf die Datei so gesetzt werden, dass nur Root sie lesen, schreiben und ausführen darf. Alle anderen Nutzer dürfen keinerlei Rechte auf diese Datei haben.

Nun kann mit folgendem Befehl die Grub2 Konfiguration aktualisiert werden.

$ update-grub

Durch dieses Kommando wurde die Datei /boot/grub/grub.cfg aktualisiert. Eine Überprüfung der Zugriffsrechte auf diese Datei kann anschließend auch nichts schaden, denn auch hier gilt, dass nur der Root Benutzer sie lesen dürfen sollte.

Fazit

Für Admins

Sind alle Einstellungen vorgenommen, dann sollte der Computer beim Bootvorgang wesentlich besser gegen eventuelle Angreifer geschützt sein. Ein Leitsatz wie "Traue Niemandem!" ist bei Sicherheitsfragen oft kein schlechter Ansatz , denn irgendwann wird jemand eine Lücke ausnutzen und dann ist der Schaden meist größer als der Aufwand um die Sicherheitseinstellungen vorzunehmen.

Für Nutzer

Sollte einem als Nutzer auffallen, dass irgendwelche Sicherheitseinstellungen nicht vorgenommen wurden, dann sollte man es auf jeden Fall dem Administrator des Rechners melden. Denn durch Sicherheitslücken entstehen nicht nur dem Administrator Probleme sondern auch jedem Nutzer.

Verwandte Artikel