別々のルートおよび基本パーティションの暗号化

別々のルートおよび基本パーティションの暗号化

そこで、別々のルートパーティションとメインパーティション(そしてスワップとブートofc)を使ってArch Linuxをインストールしようとしました。基本的に私はそれらを分割し、マウントし、暗号化し//home使用しましたcryptsetup luksFormat)。次のようになりますlsblk

(申し訳ありませんが、現在の手順では、仮想マシンからテキストをコピーすることはできません。) ここに画像の説明を入力してください。

今私は以下を達成しようとしています。

  • 各パーティションのパスワードを入力する必要なく、システムの起動時にすべてのパーティションのパスワードを復号化したいと思います。 (ただし、同じように設定しました。)
  • 暗号化されたパーティションに対してGRUBを設定したいのですが、これまでの設定だけを見てGRUB_CMDLINE_LINUX="cryptdevice=/dev/sdXY:cryptroot"2つの構成なので、ここに何を入れるべきかわかりません(おそらく1つだけ/?)

これで、実行したいが正しいGRUB構成がないと、システムを起動できなくなる可能性があるmkinitcpioため、実行できないステップに閉じ込められました。grub-install/grub-mkconfig

私はどのようにこれを達成できるか知っていますか? 2番目の質問は、最初の質問に関する文書があるため、より重要であり、過去2時間で頭を傷つけた2番目の質問に対する簡単な提案を得るために、この質問をそこに投稿したいと思いました。

ベストアンサー1

UnixとLinux StackExchangeへようこそ!

生成されたinitramfsファイルの目的は、mkinitcpioルートファイルシステムのロックを解除してマウントすることです。他のファイルシステムのマウントは、/homeルートファイルシステムがロック解除されマウントされた後、起動プロセスの後半に発生します。 GRUBは/homeファイルシステムについて何も知る必要はありません。

このcryptdeviceオプションは、ルートファイルシステムの暗号化のロックを解除するために使用されるinitramfsファイルのスクリプトに情報を提供します。後でシステム構成が変更されると、暗号化されたルートファイルシステムを保持していると見なされるデバイスの名前を簡単に変更できます。システム構成の予期しない変更に対して堅牢性を維持するために、実際にはUUID=<UUID_of_sda3>デバイス名の代わりに構文を使用できます。

/homeしたがって、ルートファイルシステムのどこかに保存されているキーファイルを使用する暗号化を設定できます。キーファイルは暗号化されたパーティション内にあるため、システムが実行されていない場合でも保護されます。ルートファイルシステムにアクセスできるようになると、ファイルを/etc/crypttab参照できるため、/homeファイルシステムの暗号化が自動的にロック解除される可能性があります。

~によるとArch Wikiのcrypttabセクション/home、ファイルシステムのエントリは/etc/crypttab次のとおりです。

crypthome /dev/sda4 /etc/cryptsetup-keys.d/crypthome.key

UUID=<UUID of sda4>デバイス名の代わりにそれを使用することもできます。

/etc/cryptsetup-keys.d/ルート()のみがアクセスできることを確認しchmod 700、ファイルシステムのパスワードをファイルに書き込み/homeますcrypthome.key。侵入者がこのコンテンツを読むことができる場合、これは侵入者が有効なrootアクセス権を持っていることを意味するので、入力してもファイルから検索しても、侵入者にcryptsetup電子メールで送信されたパスワードでコマンドを置き換えることができるので、とにかくこの時点でより大きな懸念あります。

おすすめ記事