Windowsに外部OSローダーコードが起動するのを防ぐセキュリティブート機能があるように、Linux自体にも同様のオプションはありますか?探してみましたが、検索してみると、UEFI対応のWindowsコンピュータにLinuxをインストールする方法しか出てきません。私のLinuxボックスにこのオプションをインポートする方法が見つかりません。
ベストアンサー1
最初のもの:自分のキーを生成する
openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509\ -subj "/CN=カーネルキー" -outform DER -out kernel.der \ -keyout kernel.key
以下の説明に従って、CONFIG_EFI_STUBを使用してLinuxカーネルをコンパイルし、ここにinitramfsを含めます。https://prosauce.org/blog/2015/10/31/booting-linux-securely、モジュールに署名するには、次のスクリプトを使用できます。
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 kernel.key kernel.der module.ko
次に、カーネルコマンドラインを使用してノートブック\ワークステーション用のファイルを作成し、イメージを作成して次のようにefiブートディレクトリにコピーします。
#オブジェクトのコピー\ --add-section .osrel=/etc/os-release --change-section-vma .osrel=0x20000 \ --追加セクション.cmdline=/tmp/cmdline --change-セクション-vma .cmdline=0x30000 \ --追加セクション .linux=/boot/vmlinuz --change-section-vma .linux=0x2000000 \ --追加セクション .initrd=/boot/initrd.img --change-section-vma .initrd=0x3000000 \ /usr/lib/systemd/boot/efi/linuxx64.efi.stub linux.efi #mkdir -p /boot/efi/EFI/BOOT # sbsign --key /root/keys/ISK.key --cert /root/keys/ISK.pem --output /boot/efi/EFI/BOOT/BOOTX64.EFI linux.efi /boot/efi/EFI/BOOT /BOOTX64.EFI
MBファームウェアに独自のキーをインストールするには、次のコマンドを実行できます。
openssl x509 -inform der -in kernel.der -outform pem -out kernel.pem cert-to-efi-sig-list -g "$(uuidgen)" kernel.pem kernel.esl Sign-efi-sig-list -k KEK.key -c KEK.pem カーネル kernel.esl kernel.auth