Warum sollte ein Linux-Bootloader einen Passwortschutz haben?
Im Folgenden sind die Hauptgründe für den Kennwortschutz eines Linux-Bootloaders aufgeführt:
1. Zugriff auf Einzelbenutzermodus verhindern – Wenn ein Angreifer im Einzelbenutzermodus booten kann, wird er zum Root-Benutzer.
2. Zugriff auf die GRUB-Konsole verhindern – Wenn der Computer GRUB als Bootloader verwendet, kann ein Angreifer die GRUB-Editor-Oberfläche verwenden, um seine Konfiguration zu ändern oder mit dem cat-Befehl Informationen zu sammeln.
3. Zugriff auf unsichere Betriebssysteme verhindern – Wenn es sich um ein Dual-Boot-System handelt, kann ein Angreifer beim Booten ein Betriebssystem auswählen, z. B. DOS, das Zugriffskontrollen und Dateiberechtigungen ignoriert.
Passwortschutz für GRUB2
Führen Sie die folgenden Schritte aus, um GRUB2 in RHEL 7 mit einem Passwort zu schützen.
1. Entfernen Sie –uneingeschränkt von der Haupt-CLASS= Deklaration in /etc/grub.d/10_linux Datei.
Dies kann erreicht werden, indem sed verwendet wird, um das
# sed -i "/^CLASS=/s/ --unrestricted//" /etc/grub.d/10_linux
2. Wenn noch kein Benutzer konfiguriert wurde, verwenden Sie grub2-setpassword um ein Passwort für den Root-Benutzer festzulegen:
# grub2-setpassword
Dadurch wird eine Datei /boot/grub2/user.cfg erstellt falls noch nicht vorhanden, die das gehashte GRUB-Bootloader-Passwort enthält. Dieses Dienstprogramm unterstützt nur Konfigurationen mit einem einzelnen Root-Benutzer.
Beispiel für die Datei /boot/grub2/user.cfg :
# cat /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CC6F56BFCFB90C49E6E16DC7234BF4DE4159982B6D121DC8EC6BF0918C7A50E8604CA40689A8B26EA01BF2A76D33F7E6C614E6289ABBAA6944ECB2B6DEB2F3CF.4B929016A827C36142CC126EB47E86F5F98E92C8C2C924AD0C98436E4699DF7536894F69BB904FDB5E609B9A5D67E28A7D79E8521C0B0AE6C031589FA0452A21
3. Erstellen Sie die Grub-Konfiguration mit grub2-mkconfig neu:
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-f9725b0c842348ce9e0bc81968cf7181 Found initrd image: /boot/initramfs-0-rescue-f9725b0c842348ce9e0bc81968cf7181.img done
4. Starten Sie den Server neu und überprüfen Sie.
# shutdown -r now
Beachten Sie, dass alle definierten Grub-Menüeinträge jetzt jedes Mal beim Booten die Eingabe von Benutzer und Passwort erfordern; Von nun an bootet das System keinen Kernel ohne direkten Benutzereingriff von der Konsole. Wenn Sie nach einem Benutzer gefragt werden, geben Sie „root“ ein. Wenn Sie nach dem Passwort gefragt werden, geben Sie das ein, was an den Befehl grub2-setpassword übergeben wurde:
Passwortschutz entfernen
Um den Passwortschutz zu entfernen, können wir das –unrestricted hinzufügen Text in der Haupt-CLASS= Deklaration in /etc/grub.d/10_linux Datei erneut. Eine andere Möglichkeit besteht darin, die Datei /boot/grub2/user.cfg zu entfernen, in der das gehashte GRUB-Bootloader-Passwort gespeichert ist.
Nur die Bearbeitung von GRUB-Menüeinträgen einschränken
Wenn Sie nur einfach verhindern möchten, dass Benutzer die Grub-Befehlszeile aufrufen und Menüeinträge bearbeiten (im Gegensatz zum vollständigen Sperren von Menüeinträgen), dann ist alles, was benötigt wird, die Ausführung von grub2-setpassword Befehl.