4.2. BIOS und Bootloader Sicherheit

Passwort-Schutz für das BIOS (oder BIOS-Äquivalent) und den Bootloader kann unbefugte Benutzer, die physischen Zugang zu Ihren Systemen haben, davon abhalten, externe Medien zu booten oder sich durch den Einzelbenutzermodus als Root anzumelden. Die Sicherheitsmaßnahmen, die man durchführen sollte, um vor solchen Attacken geschützt zu sein, hängt zum einen von den Informationen ab, die auf der Workstation gespeichert sind, und zum anderen vom Aufstellungsort des Rechners.

Wenn zum Beispiel ein Computer auf einer Messe verwendet wird und keine empfindlichen Daten enthält, ist es nicht unbedingt kritisch, solche Attacken zu verhindern. Wenn jedoch ein Laptop eines Mitarbeiters mit privaten, nicht-passwortgeschützten SSH-Schlüsseln zum Firmennetzwerk auf der gleichen Messe unbeaufsichtigt gelassen wird, kann dies zu einem bedeutenden Sicherheitsbruch führen, der Auswirkungen auf das gesamte Unternehmen haben kann.

Wenn auf der anderen Seite sich die Workstation an einem Ort befindet, zu dem nur befugte oder vertrauenswürdige Personen Zugang haben, ist das Sichern des BIOS oder des Bootloaders nicht unbedingt von Nöten.

4.2.1. BIOS-Passwörter

Die folgenden sind die zwei Hauptgründe für den Schutz des BIOS eines Computers durch Passwörter [1]:

  1. Änderungen an den BIOS-Einstellungen verhindern — Hat ein Eindringling Zugang zum BIOS, kann dieser von einer Diskette oder einer CD-ROM booten. Dies ermöglicht dann in den Rettungsmodus oder Einzelbenutzermodus zu gelangen, und von hier aus schädliche Programme in das System zu pflanzen oder empfindliche Daten zu kopieren.

  2. System-Boot verhindern — Einige BIOS erlauben Ihnen, den Bootvorgang selbst mit einem Passwort zu schützen. Ist dies aktiviert, muss ein Passwort eingegeben werden, bevor das BIOS denBootloader startet.

Da die Methoden für das Einstellen von BIOS-Passwörtern sich von Computerhersteller zu Computerhersteller unterscheiden, lesen Sie bitte das Handbuch zu Ihrem Computer für weitere Informationen.

Sollten Sie das BIOS-Passwort vergessen, kann es oft entweder mit Brücken im Motherboard oder durch das Entfernen der CMOS-Batterie zurückgesetzt werden. Daher ist es sinnvoll, wenn möglich, das Computergehäuse abzuschließen. Bevor Sie jedoch diesen Vorgang versuchen, sollten Sie das Handbuch zu Ihrem Computer oder Motherboard lesen.

4.2.1.1. Sicherung von nicht-x86-Plattformen

Andere Plattformen verwenden verschiedene Programme zum Ausführen geringfügiger Aufgaben, die mit denen des BIOS auf einem x86-System äquivalent sind. So verwenden zum Beispiel Intel® Itanium™-basierte Computer die Extensible Firmware Interface (EFI) Shell.

Anweisungen für den Passwortschutz von BIOS-ähnlichen Programmen auf anderen Architekturen finden Sie in den Anweisungen vom Hersteller.

4.2.2. Bootloader-Passwörter

Hier sind die Hauptgründe, einen Linux-Bootloader mit einem Passwort zu schützen:

  1. Zugang zum Einzelbenutzermodus verhindern — Wenn ein Angreifer in den Einzelbenutzermodus booten kann, wird dieser zum Root-Benutzer.

  2. Zugang zur GRUB-Konsole verhindern — Wenn der Computer GRUB als Bootloader verwendet, kann ein Angreifer die GRUB-Editor-Schnittstelle verwenden, um die Konfiguration zu ändern oder Informationen mithilfe des cat Befehls zu sammeln.

  3. Zugang zu unsicheren Betriebssystemen verhindern — Haben Sie ein Dual-Boot-System, kann ein Angreifer während des Bootens ein Betriebssystem wie zum Beispiel DOS auswählen, das Zugangskontrollen und Dateiberechtigungen ignoriert.

Mit Red Hat Enterprise Linux werden zwei Bootloader für die x86 Plattform ausgeliefert, GRUB und LILO. Detaillierte Informationen zu diesen Bootloadern finden Sie im Kapitel Bootloader im Red Hat Enterprise Linux Referenzhandbuch.

4.2.2.1. Passwortschutz für GRUB

Sie können GRUB so konfigurieren, dass die ersten beiden, in Abschnitt 4.2.2 angesprochenen, Probleme adressiert werden, indem Sie eine Passwort-Direktive zur Konfigurationsdatei hinzufügen. Hierfür legen Sie erst ein Passwort fest, öffnen dann einen Shell-Prompt, melden sich als Root an und geben folgendes ein:

/sbin/grub-md5-crypt

Wenn Sie aufgefordert werden, geben Sie das GRUB-Passwort ein und drücken dann [Enter]. Es wird dann ein MD5-Hash des Passworts ausgegeben.

Bearbeiten Sie dann die GRUB-Konfigurationsdatei /boot/grub/grub.conf. Öffnen Sie die Datei und fügen Sie die nachfolgende Zeile unterhalb der timeout Zeile im Hauptabschnitt des Dokumentes ein:

password --md5 <password-hash>

Ersetzen Sie <password-hash> mit dem Wert, der von /sbin/grub-md5-crypt[2] ausgegeben wurde.

Wenn Sie das nächste Mal Ihr System booten, müssen Sie, wenn Sie im GRUB-Menü auf den Editor oder die Befehlszeilen-Schnittstelle zugreifen wollen, erst [p] drücken und dann das GRUB-Passwort eingeben.

Diese Lösung hält jedoch Angreifer nicht davon ab, in ein unsicheres Betriebssystem in einer Dual-Boot-Umgebung zu booten. Hierfür müssen Sie einen anderen Teil der Datei /boot/grub/grub.conf bearbeiten.

Suchen Sie die Zeile title des unsicheren Betriebssystems und fügen Sie direkt darunter eine Zeile mit dem Befehl lock ein.

Für ein DOS-System sollte die Zeile ähnlich wie folgt beginnen:

title DOS
lock

WarnungAchtung
 

Sie müssen die Zeile password im Hauptabschnitt der Datei /boot/grub/grub.conf haben, damit dies funktioniert. Ansonsten kann ein Angreifer auf den GRUB-Editor zugreifen und die lock-Zeile entfernen.

Wenn Sie ein anderes Passwort für einen bestimmten Kernel oder ein Betriebssystem festlegen möchten, fügen Sie eine lock Zeile gefolgt von einer Passwortzeile in den Abschnitt ein.

Jeder Abschnitt, den Sie mit einem einzigartigen Passwort schützen möchten, sollte mit Zeilen ähnlich dem folgenden Beispiel beginnen:

title DOS
lock
password --md5 <password-hash>

4.2.2.2. Passwortschutz für LILO

Der LILO Bootloader ist wesentlich einfacher als GRUB. Er bietet keine Befehls-Schnittstelle, so dass Sie sich keine Sorgen darüber machen müssen, das ein Angreifer interaktiven Zugang zum System erhält, bevor der Kernel geladen wird. Es besteht jedoch immer noch die Gefahr, dass Angreifer in den Einzelbenutzermodus oder in ein unsicheres Betriebssystem booten.

Sie können den Passwortschutz für LILO konfigurieren, indem Sie eine Passwort-Direktive in den globalen Abschnitt der Konfigurationsdatei einfügen. Hierfür öffnen Sie einen Shell-Prompt, melden sich als Root an und bearbeiten die Datei /etc/lilo.conf. Vor dem ersten image Abschnitt fügen Sie dann eine Passwort-Direktive ähnlich wie die folgende ein:

password=<password>

Ersetzen Sie in der obengenannten Direktive das Wort <password> durch Ihr Passwort für LILO.

WichtigWichtig
 

Wenn Sie /etc/lilo.conf bearbeiten, müssen Sie den Befehl /sbin/lilo -v -v ausführen, damit die Änderungen wirksam werden. Wenn Sie ein Passwort konfiguriert haben, und alle außer root diese Datei lesen können, wird LILO trotzdem installiert, Sie werden jedoch gewarnt, dass die Berechtigungen der Konfiguration falsch sind.

Wenn Sie kein globales Passwort setzen möchten, können Sie die Passwort-Direktive auf jeden Abschnitt zum jeweiligen Kernel oder Betriebssystem anwenden. Hierfür fügen Sie die Passwort-Direktive direkt unter der Zeile image ein. Wenn Sie damit fertig sind, sieht der Anfang des passwortgeschützten Abschnitts wie folgt aus:

image=/boot/vmlinuz-<version>
        password=<password>

Ersetzen Sie im vorhergehenden Beispiel <version> mit der Kernel-Version und <password> mit dem LILO-Passwort für diesen Kernel.

Wenn Sie einem Kernel oder Betriebssystem ermöglichen möchten, ohne Passwortschutz zu booten, Sie aber anderen Benutzern nicht erlauben möchten, Argumente ohne ein Passwort hinzuzufügen, können Sie die restricted-Direktive zu der Zeile unterhalb der Passwortzeile, innerhalb des Abschnitts, hinzufügen. Ein solcher Abschnitt beginnt in etwa wie folgt:

image=/boot/vmlinuz-<version>
        password=<password>
        restricted

Ersetzen Sie wiederum <version> mit der Kernel-Version und <password> mit dem LILO-Passwort für diesen Kernel.

Wenn Sie die restricted-Direktive verwenden, müssen Sie über eine Passwort-Zeile in diesen Abschnitt verfügen.

WarnungAchtung
 

Die Datei /etc/lilo.conf verfügt über allgemeine Leserechte. Wenn Sie LILO mit einem Passwort schützen möchten, ist es wichtig, dass Sie nur dem Root-User erlauben, diese Datei zu lesen und zu bearbeiten, da alle Passwörter im Klartext dargestellt werden. Hierfür geben Sie den folgenden Befehl als root ein:

chmod 600  /etc/lilo.conf

Fußnoten

[1]

Da sich das System-BIOS von Hersteller zu Hersteller unterscheidet, unterstützen u.U. einige den Passwortschutz beider Typen, während andere vielleicht nur einen Typ und nicht den anderen unterstützen.

[2]

GRUB akzeptiert auch Klartext-Passwörter, es wird jedoch empfohlen, dass Sie die md5-Version verwenden, da /boot/grub/grub.conf standardmäßig allgemeine Leseberechtigungen besitzt.