LUKSフルディスク暗号化を使用するときにどのように自分を保護しますか?邪悪なメイド?
悪意のある家政婦の攻撃は、暗号化されていない/bootパーティションを破損して、あなたが自分の席を空にしたときに誰かがあなたのコンピュータに物理的にアクセスし、次にコンピュータを起動したときにFDEパスワードをキャプチャすることです。
1つの解決策は/ bootパーティションを持っているUSBスティックに残すことです(メイドはアクセスできません)。しかし、そこでどのファイルシステムを使用する必要があり、USBアンインストールを適切に処理するようにシステムを設定するにはどうすればよいですか? (そして/ bootパーティション自体も)?
CentOSを使用していますが、展開に拘束されない一般的な回答は大歓迎です。ありがとうございます。
答え1
ついに調べました。システムは、システムがインストールされて/boot
いない可能性があることを決して認識しておらず、書き込み操作(システムアップデートなど)を実行する前に手動でインストールする必要があるため、依然として非常にハッキング的で厄介な感じですが、それ以外は完璧に機能します。 。
- フラッシュドライブ用のパーティションを準備し、ここに起動フラグを設定します。
shred -n 1 -v /dev/sdX
以前のブートセクタを含むすべてをクリアするには、このプログラムを実行して目的のfdisk
パーティションとファイルシステムを作成できます。mkfs
- フラッシュドライブをどこかにマウントするか、
/mnt/boot
単に/newboot
マウントしてください。 /boot
すべてをフラッシュドライブに移動するを使用してくださいmv /boot/* /newboot
。- フラッシュドライブと一致するように元のブートパーティションのUUIDを編集して
/etc/fstab
変更します(またはUUIDがない場合はエントリを作成します)。を通じてUUIDを取得できますlsblk -o name,uuid
。またnoauto
、FSを損傷することなくシステムが起動を開始した直後に(カーネルをロードした後)ドライブを取り外すことができるように、ドライブが自動的にマウントされないようにオプションを追加します。 - 元のブートパーティションとUSBフラッシュドライブ(
umount /boot && umount /newboot
)をマウント解除し、USBフラッシュドライブをマウントします。 fstabエントリが正しい場合、実行するmount /boot
とfstabで指定されたUUIDに基づいて自動的にマウントされます。 - 新しいパーティションのUUIDと「物理」位置を反映するようにブートローダの設定を再作成すると、GRUBの場合、フラッシュドライブは実際に
hd0
コンピュータの最初のハードドライブ()として表示されます。ほとんどのディストリビューションに付属のデフォルトのGRUB構成スクリプトにアクセスできる場合は、grub-mkconfig -o /path/to/grub.cfg
これを実行でき、現在インストールされているパーティションおよび/またはfstabに基づいてファイルが作成されます。 CentOS 7の場合、正しい場所grub.cfg
は実際には/boot/grub2/grub.cfg
。
ブートパーティションにアクセスできる操作の実行中にUSBスティックを接続して実行した場合mount /boot
。umount /boot
後者のコマンドはバッファをディスクにフラッシュするため、完了にはしばらく時間がかかります(ディスク自体は遅いため、カーネルは作業を高速化するためにいくつかの書き込みをバッファリングします)。
答え2
この特定の問題を解決するもう1つの方法はTPMを使用して暗号化キーを保存することですが、防御は実際にユーザーが効果的にそれを実行するように依存します。基本的なRHEL7ベースのソリューションはtpm-luks(https://github.com/GeisingerBTI/tpm-luks)。
仕組みは、起動時に開始プロセスの各段階で次の段階を測定し、測定値をTPMのPCRに保存することです。起動プロセスが完了すると、tpm-luksは「既知の良好な」設定と比較してPCRステータスを確認します。 「既知の良好な」構成の場合、TPMはLUKSキーのブロックを解除し、tpm-luksはこのデータを渡してルートLUKSパーティションのロックを解除します。
重要なのはすべてパスワードハッシュで測定されるため、邪悪なメイドがGRUB/カーネル/ラムディスクを交換してFDEパスワードを悪意的に収集する方法は基本的にありません。追加ボーナスとしてFDEパスワードはまったく必要ありません!理論的には、人間が読むことができるパスワードを完全に削除し、tpm-luksに完全に依存することができますが、そのアプローチを選択した場合は、LUKSヘッダーを保存してバックアップとして保存することをお勧めします。
前述のように、これにはユーザー側の努力が必要です。コンピュータを放置してパスワードフレーズのプロンプトが表示された場合は、調査を完了する前にパスワードを入力するのはおそらく悪い考えです。この時点でLive CD環境に起動して、tpm-luksにエラーがあるか、パーティションが/boot
実際に変更されたかどうかを確認する必要があります。暗号化されていないパーティションは維持されますが、/boot
重要な変更があってもメインディスクの復号化は行われません。