J'utilise l'approche ubuntu par défaut avec shim et grub2, combinée avec ma propre clé de plate-forme (shim auto-signant avec sbsign) et une partition racine cryptée, pour sécuriser le démarrage de mon installation ubuntu. Mais cela vérifie uniquement le grubx64.efi et le noyau, mais ne protège pas les fichiers initrd.img et grub.cfg sur la partition de démarrage non chiffrée contre les modifications malveillantes.
Alors, comment puis-je vérifier la configuration initrd et grub, éventuellement en utilisant un hachage sha256, avant de les utiliser pour démarrer? Cette vérification pourrait se produire dans shim, dans grub ou dans un autre outil que je pourrais utiliser en plus ou à la place de shim et / ou grub.
Le but de cette question est d'empêcher l'exécution du noyau avec un environnement modifié (ligne de commande du noyau et initrd) afin d'empêcher la fuite du mot de passe de chiffrement de la partition racine vers n'importe où.
N'a trouvé aucune méthode pour vérifier la configuration de démarrage malgré plusieurs jours de lecture de tutoriels / blogs Web sur le démarrage sécurisé, y compris Ubuntu et PreLoader.efi de la Fondation Linux, tous expliquant comment fonctionne la vérification des exécutables, y compris les modules du noyau, mais aucun qui mentionne le grub.cfg et (scripts shell et fichiers de configuration à l'intérieur de) initrd, il semble donc que je suis le premier à demander la vérification des non-binaires dans le processus de démarrage. Les meilleures sources que j'ai jamais trouvées sont celles de Rod Smith .
Ce que je n'ai pas encore essayé, c'est de modifier le code source de shim ou grub, de créer un fork ou d'y contribuer directement. Serait-ce la seule voie à suivre?
la source
Réponses:
J'ai trouvé un excellent article qui décrit une telle configuration: https://ruderich.org/simon/notes/secure-boot-with-grub-and-signed-linux-and-initrd
tl; dr: Signez grub config et initrd avec GPG, générez le binaire grub qui appliquera les vérifications et signez-le avec les clés secureboot.
Package pour ubuntu qui implémente une idée similaire: https://github.com/JohnstonJ/ubuntu-secure-boot
la source
Grub semble prendre en charge la vérification des signatures à l'aide de signatures détachées. Je suppose que c'est votre réponse.
la source