Grub mit Passwort sichern

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Sicherheit ‹ Grub mit Passwort sichern


Getestet.png Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.




In diesem Artikel geht es um die Absicherung von Grub mit einem Passwort. Ziel ist, den Default-Menü-Eintrag ohne Passwort booten zu können. Die Auswahl eines anderen Kernels oder die Bearbeitung des Boot-Menüs muss jedoch mittels Login bestätigt werden.


Passwort-Hash erstellen

Damit das Passwort nicht im Klartext im Dateisystem liegt, wird im ersten Schritt ein Passwort-Hash erstellt:

user@host >$ grub-mkpasswd-pbkdf2 -c 2
Passwort eingeben:
Passwort erneut eingeben:
PBKDF2-Prüfsumme Ihres Passworts ist grub.pbkdf2.sha512.2.DA395C1CFF23C5E1F637508D97C5A9BDFDC9D6C2FBBC4E06598289D2DFDBA11EBC463DB20498E8E825FA3D6EEECF84ABA124C8355C9EB0ABAC861BC57D56225A.14C455E68704B8B808808C00533E5792C982CF1899AF1717EC3CCC2C967A4A8F8623F454304CD3DD10BD4F9524D8D38D905E28D1F7F3B9C5BF6868A943D64F72
 

Die letzte Zeilen benötigen wir gleich.

Benutzerdatei anlegen

Damit Grub die Benutzerinformationen verwenden kann, muss in /etc/grub.d/ eine neue Datei angelegt werden: root@host >$ vi /etc/grub.d/99_user

#!/bin/sh -e
cat << EOF
set superusers="admin"
export superusers

password_pbkdf2 admin grub.pbkdf2.sha512.10.DA395C1CFF23C5E1F637508D97C5A9BDFDC9D6C2FBBC4E06598289D2DFDBA11EBC463DB20498E8E825FA3D6EEECF84ABA124C8355C9EB0ABAC861BC57D56225A.14C455E68704B8B808808C00533E5792C982CF1899AF1717EC3CCC2C967A4A8F8623F454304CD3DD10BD4F9524D8D38D905E28D1F7F3B9C5BF6868A943D64F72
EOF
 

Diese Datei muss nun noch ausführbar gemacht werden: root@host >$ chmod 0755 /etc/grub.d/99_user

Damit die Benutzer-/Passwortabfrage durch Grub erfolgt, muss ein Update erfolgen: update-grub

Ab diesem Zeitpunkt verlangt Grub beim Start für alle Aktionen einen Benutzer/Passwort. Um dies nicht beim Default-Start eingeben zu müssen ist noch eine Anpassung im Script 10_linux nötig.

Default-Kernel ohne Benutzer/Passwort

In der Datei /etc/grub.d/10_linux sucht man folgende Zeile:

echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
 

und fügt den Parameter --unrestricted ein. Das Ergebnis sieht dann so aus:

echo "menuentry '$(echo "$os" | grub_quote)' --unrestricted ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
 

Nach dieser Änderung muss erneut update-grub ausgeführt werden. Das System startet nun ohne Unterbrechung, möchte man jedoch irgendeine Aktion im Grub ausführen, wird Benutzer/Passwort verlangt.

Links

Weitere Informationen und Konfigurationsmöglichkeiten findet man hier: https://wiki.ubuntuusers.de/GRUB_2/Konfiguration/#Grub-Menue-absichern