Fügen Sie einen sicheren Startschlüssel zu Live Distro hinzu

542
Kieran Ojakangas

Ich wollte fragen, ob es möglich ist, einen Schlüssel in meine Live-Persistence-Distribution zu laden, um Secure Boot ohne Deaktivierung zu umgehen? Ich kann mir vorstellen, dass die Antwort wahrscheinlich nein ist, aber ich hatte trotzdem Lust zu fragen.

0
Ich mache dies auf Ubuntu ständig, indem ich meine eigenen privaten Schlüssel erstelle, insbesondere für die zur Laufzeit kompilierten VMware-Treiber und die Treiber von Drittanbietern für meine Broadcom-WLAN-Schnittstelle. AFH vor 6 Jahren 0
Welche Ressource verwendest du? Kieran Ojakangas vor 6 Jahren 0
Ich muss eine Antwort einreichen: Es gibt zu viele Informationen für Kommentare. AFH vor 6 Jahren 0

1 Antwort auf die Frage

1
AFH

Sie haben nicht gesagt, wofür Sie den Schlüssel benötigen, aber auf Ubuntu mache ich dies regelmäßig, um Treiber manuell zu signieren. Mein BroadCom-WLAN-Treiber ist von Drittanbietern und nicht signiert. Ich verwende bei jeder Installation eines neuen Kernels das folgende Skript: -

#!/bin/bash if [ "$(whoami)" != "root" ] then echo "wlsign: must be called from 'root'" elif [ -z "$1" -o "$1" == "-c" ] then [ "$1" == "-c" ] && \ openssl req -new -x509 -newkey rsa:2048 -keyout wl.priv -outform DER -out wl.der -nodes -days 36500 -subj "/CN=BroadCom/" /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./wl.priv ./wl.der $(modinfo -n wl) [ "$1" == "-c" ] && mokutil --import wl.der [ "$1" == "-c" ] && echo Now reboot and select MOK install || modprobe wl else [ "$1" != "-h" ] && echo "wlsign: invalid options - $@" echo 'wlsign [-c|-h] : signs proprietary Wireless kernel drivers' echo ' -c : create new keys (default: use existing)' echo ' -h : give this help information' fi 

Ich brauchte die -cOption nur einmal, um die Schlüsseldateien zunächst zu erstellen. Nach der Verwendung muss -cdas System neu gestartet und der neue Schlüssel in die UEFI-Firmware übernommen werden.

Ich habe ähnliche Skripts für andere unsignierte Treiber, insbesondere für die VMware-Treiber, die spontan kompiliert werden und daher niemals signiert werden können.

Da Kali und Ubuntu beide Debian-Derivate sind, hoffe ich, dass die Systemverzeichnisstrukturen ähnlich sind. Beachten Sie, dass das sign-fileProgramm in den Kernel-Headern linux-headers-*installiert ist und daher für Ihren Kernel installiert werden muss. Es gibt ein kmodsignProgramm /usr/bin/, das eine Alternative sein kann, aber ich habe es nicht probiert.

Ich kann mich nicht erinnern, wo ich diese Informationen gefunden habe, also kann ich deren Quelle nicht erkennen.

Hallo, danke für deine Antwort. Ich möchte, dass mein Kali Linux Persistence-Laufwerk für das „Schweizer Armeemesser“ dort eingesetzt wird, wo es benötigt wird. Allerdings hat sich der sichere Start in der Vergangenheit im Weg gezeigt, und alte BIOS-Computer können kein bootfähiges System von meinem Flash-Stick lesen entweder. Ich werde Ihr Skript auf jeden Fall ausprobieren - da es sich um ein ziemlich neues Persistenzsystem handelt, habe ich wirklich nichts zu verlieren. Kieran Ojakangas vor 6 Jahren 0
Also habe ich den folgenden Fehler erhalten: "Fehler beim Registrieren neuer Schlüssel" sowohl beim Ausführen von mokutil --import MOK.der mit und ohne --root-pw. Irgendetwas dazu zu sagen? Es scheint, dass Artikel online darauf hinweisen, dass der Computer bereits im Modus "Sicherer Start" sein muss, aber ich kann diese Live-Distribution nicht starten, ohne sie vorher auszuschalten. Kieran Ojakangas vor 6 Jahren 0
Da `mokutil` dem UEFI-Startcode Daten hinzufügt, ist es sinnvoll, dass Sie im UEFI-Modus booten, da der sichere Start im Legacy-Modus nicht verfügbar ist. Warum benutzt du Live-Boot? Diese Anforderung gilt normalerweise für ein installiertes System. Wo speichern Sie sonst die Schlüsseldateien? Wenn Sie die Live-CD korrekt erstellen, sollten Sie im UEFI-Modus booten können, was Sie für einen sicheren Start benötigen. AFH vor 6 Jahren 0
AFH, ich sage, dass ich im UEFI-Modus boote, aber Secure Boot deaktiviert habe. Ich muss, um die Schlüssel auf meinem Live-Persistenz-Betriebssystem installieren zu können. Dies ist ein Persistenzsystem, also könnte ich mir vorstellen, dass ich die Schlüssel aktualisieren könnte ... es sei denn, dies ist bei Live-Distributionen nicht erlaubt, selbst bei Persistenz ... Kieran Ojakangas vor 6 Jahren 0
Entschuldigung, ich habe nie Live-Ausdauer verwendet, daher weiß ich nicht, was möglich ist. Wenn Sie Ihre Boot-Disc auf mehreren Systemen verwenden möchten, müssen Sie entweder einen USB-Stick erstellen, der mit Secure Boot (siehe `sbsign`) ausgeführt wird. In diesem Fall müssen Sie alle von Ihnen erstellten Schlüssel in jedes System importieren Maschine oder mit der Deaktivierung des sicheren Starts leben. Obwohl es sich um ArchLinux handelt, gibt [dieser Artikel] (https://wiki.archlinux.org/index.php/Secure_Boot#PreLoader) eine realisierbare Vorstellung davon, worum es geht. AFH vor 6 Jahren 0