Website-Suche

So schützen Sie den GRUB-Bootloader unter Linux mit einem Passwort


Sicherer Grub-Bootloader in CentOS 6 und 7

Sie haben vielleicht schon von diesem alten Sprichwort gehört: "Boot-Zugriff==Root-Zugriff". Es ist tatsächlich wahr! Jeder, der auf den Bootloader zugreifen kann, kann problemlos Root-Zugriff auf Ihr System erhalten. Wir haben bereits eine Anleitung veröffentlicht, die beschreibt, wie man das Root-Passwort unter Linux zurücksetzt. In diesem Tutorial haben Sie erfahren, wie Sie das Root-Benutzerkennwort über den Grub-Bootloader einfach zurücksetzen oder wiederherstellen können. Sobald jemand physischen und/oder Bootloader-Zugriff auf eine Maschine hat, gibt es keine Möglichkeit, ihn zu stoppen. Aus diesem Grund müssen wir eine zusätzliche Sicherheit hinzufügen, indem wir den Grub-Bootloader mit einem starken Passwort schützen. Wenn Sie ein Linux-Administrator sind, sollten Sie wissen, wie Sie Ihren Bootloader sichern. In dieser Anleitung wird erläutert, wie Sie den Grub-Bootloader in CentOS mit einem Passwort schützen. Ich habe dieses Handbuch auf CentOS 6.x- und CentOS 7.x-Systemen getestet und es hat wie unten beschrieben einwandfrei funktioniert.

Passwortgeschützter GRUB-Bootloader in RHEL 6.x, CentOS 6.x

In älteren Linux-Distributionen wie CentOS 6.x, RHEL 6.x ist Grub der Standard-Bootloader. In diesem Abschnitt wird beschrieben, wie Sie ein Grub-Passwort in CentOS 6.x-Systemen festlegen.

Bevor Sie Änderungen vornehmen, wird immer empfohlen, die GRUB-Konfigurationsdatei zu sichern

cp /etc/grub.conf /etc/grub.conf.bak

Zuerst müssen wir das Passwort verschlüsseln. Melden Sie sich dazu als Root-Benutzer bei Ihrem Centos-System an und erstellen Sie eine Datei mit dem Namen grub, wie unten gezeigt. Alle unten aufgeführten Befehle sollten als root-Benutzer ausgeführt werden.

touch grub

Als nächstes verschlüsseln Sie das Passwort mit dem Befehl "md5crypt". Führen Sie dazu den folgenden Befehl im Terminal aus und drücken Sie die EINGABETASTE.

grub-md5-crypt >grub

Geben Sie Ihr Passwort zweimal ein. Bitte beachten Sie, dass Sie nichts sehen, während Sie das Passwort auf Ihrem Bildschirm eingeben. Geben Sie einfach trotzdem das Passwort ein und drücken Sie die EINGABETASTE. Geben Sie dasselbe Passwort erneut ein und drücken Sie die EINGABETASTE.

Das Passwort wurde verschlüsselt. Als nächstes müssen wir dieses Passwort zur Datei /etc/grub.conf hinzufügen.

Fügen wir nun das Passwort zur Datei grub.conf hinzu. Öffnen Sie dazu die beiden Dateien grub und /etc/grub.conf.

vi /root/grub /etc/grub.conf

Der obige Befehl öffnet beide Dateien im vi-Editor.

Sie sehen das verschlüsselte Passwort wie unten. Bewegen Sie den Cursorpunkt und platzieren Sie ihn vor dem Passwort. Geben Sie dann yy ein, um das Passwort zu kopieren.

Password:
Retype password:
$1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/

Grub-Passwort kopieren

Geben Sie dann :n (Doppelpunkt n) ein. Dadurch gelangen Sie zur nächsten Datei, d. h. /etc/grub.conf.

Zur nächsten Datei wechseln

Drücken Sie nach der Zeile splashimage=(hd0,0)/grub/splash.xpm.gz p, um Fügen Sie das verschlüsselte Passwort aus der vorherigen Datei ein.

Drücken Sie dann i und fügen Sie die Zeile password --md5 vor dem verschlüsselten Passwort ein, wie unten gezeigt.

password --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0

Weitere Informationen finden Sie im folgenden Screenshot.

Schützen Sie den Grub-Bootloader in CentOS 6 mit einem Passwort

Hier ist $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0 das verschlüsselte Grub-Passwort meines CentOS 6-Systems. Ersetzen Sie es durch Ihr eigenes.

Drücken Sie dann ESC und geben Sie :wq ein, um die Datei zu speichern und zu schließen.

Starten Sie Ihr System neu.

Von nun an können Sie das Grub-Menü nicht mehr bearbeiten, ohne vorher das Passwort einzugeben.

CentOS 6 Grub-Menü

Um das Grub-Menü zu bearbeiten, drücken Sie p. Sie werden aufgefordert, das Passwort einzugeben. Geben Sie einfach das Passwort ein, um das Grub-Boot-Menü zu entsperren.

Entsperren Sie das Grub-Boot-Menü

Jetzt können Sie im Grub-Boot-Menü alle gewünschten Änderungen vornehmen.

Grub-Menü entsperrt

Schützen Sie den GRUB2-Bootloader mit einem Passwort in RHEL 7.x, CentOS 7.x

In RHEL 7 und seinen Klonen wie CentOS 7, Scientific Linux 7 ist Grub2 der Standard-Bootloader. Der Schutz des Grub2-Bootloaders mit einem Passwort unterscheidet sich vom Grub-Bootloader.

Erstellen Sie zunächst das verschlüsselte Passwort mit dem folgenden Befehl als Benutzer root:

grub2-mkpasswd-pbkdf2

Beispielausgabe:

Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

Wir haben gerade ein verschlüsseltes Passwort erstellt, um den Grub2-Bootloader zu sichern.

Wie Sie vielleicht bereits wissen, wird es nicht empfohlen, das neu generierte Passwort zu bearbeiten und direkt in die Hauptkonfigurationsdatei von grub2 einzufügen.

Stattdessen sollten wir das Passwort in einer benutzerdefinierten Grub2-Menüdatei hinzufügen, die sich im Verzeichnis /etc/grub.d/ befindet, und schließlich die Grub2-Hauptkonfigurationsdatei aktualisieren, d. h. /etc/grub.cfg.

Erstellen Sie eine Kopie der benutzerdefinierten Grub2-Menüdatei:

cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak

Bearbeiten Sie dann die benutzerdefinierte Grub2-Menükonfigurationsdatei als root-Benutzer:

vi /etc/grub.d/40_custom

Fügen Sie die folgenden Zeilen hinzu. Stellen Sie sicher, dass Sie das richtige Passwort eingegeben haben, das wir zuvor generiert haben.

set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

Passwort für Grub festlegen

Drücken Sie ESC und geben Sie :wq ein, um die Datei zu speichern und zu schließen.

Jetzt ist es an der Zeit, die Hauptkonfigurationsdatei von Grub2 zu aktualisieren.

Stellen Sie sicher, dass Sie über eine Sicherungskopie der Grub2-Hauptkonfigurationsdatei verfügen.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

Aktualisieren Sie die Grub2-Bootloader-Konfigurationsdatei mit dem folgenden Befehl:

grub2-mkconfig -o /boot/grub2/grub.cfg

Beispielausgabe:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.22.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.22.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.13.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.13.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.9.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172
Found initrd image: /boot/initramfs-0-rescue-e250d471d5594282ba042c653cfa0172.img
done

Sie können wie unten gezeigt überprüfen, ob das Passwort in der Datei /etc/grub2.cfg richtig festgelegt wurde.

cat /etc/grub2.cfg

Beispielausgabe wäre:

Inhalte der Grub2-Datei anzeigen

Wir sind bereit. Starten Sie Ihr System neu, um zu überprüfen, ob der Bootloader mit einem Passwort gesichert wurde.

Versuchen Sie nach dem Neustart des Systems, den Grub2-Bootloader zu bearbeiten. Drücken Sie dazu e.

Bearbeiten Sie den Grub2-Bootloader

Sie werden aufgefordert, den Benutzernamen und das Passwort einzugeben, die wir im vorherigen Schritt definiert haben.

Geben Sie das Passwort ein, um Grub2 zu entsperren

Wenn Sie den richtigen Benutzernamen und das richtige Passwort eingegeben haben, können Sie den Grub2-Bootloader bearbeiten.

Grub2 freigeschaltet

Sie wissen jetzt, wie Sie den Grub- und Grub2-Bootloader unter Linux mit einem Passwort schützen. Das Festlegen eines Grub-Passworts schützt Ihr System möglicherweise nicht vollständig. Allerdings wird es Ihren CentOS-Linux-Servern definitiv eine zusätzliche Sicherheitsebene hinzufügen.

Verwandte Artikel