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.bakZuerst 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 >grubGeben 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.confDer 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/h2M4qfh48ZL8O0Weitere 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-pbkdf2Beispielausgabe:
Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4BWir 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.bakBearbeiten Sie dann die benutzerdefinierte Grub2-Menükonfigurationsdatei als root-Benutzer:
vi /etc/grub.d/40_customFü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.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4BPasswort 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.bakAktualisieren Sie die Grub2-Bootloader-Konfigurationsdatei mit dem folgenden Befehl:
grub2-mkconfig -o /boot/grub2/grub.cfgBeispielausgabe:
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
doneSie können wie unten gezeigt überprüfen, ob das Passwort in der Datei /etc/grub2.cfg richtig festgelegt wurde.
cat /etc/grub2.cfgBeispielausgabe 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.










