Linuxブート/efiパーティションがWindowsによって改ざんされるのを防ぐ方法は?

Linuxブート/efiパーティションがWindowsによって改ざんされるのを防ぐ方法は?

LUKSを使用してルートパーティションを暗号化し、ecryptfsを使用してプライマリパーティションを暗号化したため、そのパーティションのデータのみが破損します。問題は、Windowsでboot / efiパーティションの内容を簡単に変更できることです。これが起こらないようにするにはどうすればよいですか?

ベストアンサー1

機密データは絶対に入れないでください/boot/efi。暗号化できません。その理由は、システムを起動するためにシステムファームウェアがEFIを読み取る必要があるためです。暗号化されている場合、ファームウェアはブートローダにアクセスできません。


システムにTPMがある場合は、TPMの「測定」(PCRレジスタ)を使用して起動コンポーネントが/boot/efi変調されていないことを確認できます。

TPMは暗号化キーを保存し、PCRレジスタに基づいてそれを「封印」(ロック)することもできます。これにより、TPMが「ブロック解除」され、これらの暗号化キーを読み取ることができます。ただ起動プロセスが改ざんされていない場合。

どのPCRで何を測定するかを決定することが重要です。重要なPCRを含むようにTPMを設定しないと、変調にもかかわらずブロックが解除される可能性があります。

TPMは100%防弾ではありません。理論的には、ボードから取り外し、マザーボードとマザーボードの間にハードウェアを配置することで、物理的な中間者攻撃の形で改ざんできます。これはしばしば非常に困難ですが、不可能ではありません。


grub設定を含むPCRのすべてを測定する代わりに、grubにオプションがありますcheck_signatures。独自のPGP公開鍵とgrubがロードした他のすべてのファイルに、公開鍵と一致するデジタル署名が必要な基本設定を含むEFIバイナリを構築します。

これにより、カーネル、initrd、およびgrub構成にデジタル署名し、TPM PCRを介してgrub EFIが変調されていないことを確認できます。起動のために設定を少し変更するたびにTPMを操作する必要がないため、使いやすくなります。


他の人が提案したので、「セキュアブート」についてコメントし、なぜそれをしないのかを説明します。

セキュアブートは、他の目的に使用される保護タイプです。 EFIパーティションの改ざん防止よりもサプライチェーンの検証に関するものです。

これは、ブートの初期段階で信頼できるベンダーから提供されていない製品をインストールすることに対するいくつかの保護(完全な保護ではない)を提供します。例:ブートローダをだましてハッカーをインストールしないように保護します。

信頼できるCAを介してバイナリに署名する方法で動作します。ほとんどのハードウェアにはデフォルトでMicrosoft CAがインストールされており、さまざまなLinuxベンダーにはMicrosoft署名証明書があります。

ノートブックのインストール、設定、または構成中に生成されたコンテンツは保護されません。実際には、バイナリが評判の良いベンダーから提供されていることを確認するだけです。誰かがあなたのブートローダーを他の有名なベンダーの他のブートローダーと交換したり、あなたのブートローダーを再構成して何かをするのを防ぐことはできません。したがって、実際には、EFI変調に対する保護機能はほとんど提供されない。

おすすめ記事