ルートパーティションだけを暗号化するにはどうすればよいですか?


13

EFI(/boot/efi)、boot(/boot)、root(/)の3つのパーティションがあります。暗号化したいだけ /です。インストーラーを使用して手動でこれを行うことができますが、事前にシードする必要があります。

どうすれば定義できますか?私の(暗号化されていない)レシピは次のようになります。これは、私が見つけたEFIシステムパーティションの提案のごく一部です(明確なガイドは見つかりませんでした)。

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

sda3LUKS暗号化の物理パーティションを作成し、その上にファイルシステムを作成するにはどうすればよいですか?

更新:

以下のようにパーティションを暗号化するように設定できることを発見しましたが、まだ3つの問題があります。

  1. 選択したパーティションで暗号化ボリュームを作成してアクティブ化する必要があります
  2. 作成してアクティブにした後、暗号化されたボリュームに正しいext4ファイルシステムを設定する必要があります
  3. レシピはdm-crypt、暗号化されたボリュームの作成とアクティブ化に必要な暗号化タイプを選択しません。

まだまだ苦労している

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

FYI、のようなラベルはsdasdbsdc、など常に(私は起動のたびに切り替え)ブーツの間で同じ文字(A、B、C)を保持していない
Xen2050

2
@ Xen2050まさにあなたです、UUIDまたはPARTUUIDLABELまたはPARTLABEL、はるかに優れています。私の場合、フォーマットするためにイメージを起動しているので、ドライブは1つしかありません。いずれにしても、単一パーティションを暗号化するように設定するにはどうすればよいですか?インタラクティブに実行できますが、事前シードが必要です。
16年

うーん、どこかで手に入れているかもしれませんが、さらに質問があります。他のqを投稿します。
-deitch

@deitch-これはサーバーパーティションの構成なのか、クライアントなのか、単なるデスクトップパーティションの例なのか?これらの3つのパーティションは、あなたの意図には少なすぎます-/ swapと/ homeがありません-したがって、ハードディスクの拡張部分を論理パーティションで設定する必要があります-通常、パーティションは全体で4つしか許可しませんが、最大で4倍の63パーティション(GPTではさらに多くのパーティションが許可されます)?!- unix.stackexchange.com/questions/33555/... -マスターとスレーブのパーティションに関する。
dschinn1001

@ dschinn1001は、実際にはセキュアサーバー用のテンプレートです。コアオペレーティングシステムはリムーバブルドライブ上にあります。ユーザーデータとスワップは、systemdサービスが適切に検出してマウントする内部ドライブにあります。しかし、それを無視して.... LVMなしで暗号化されるようにルートを設定するにはどうすればよいですか?
-deitch

回答:


1

最初に、ルートターミナルを開きます。

sudo -i

次に、次のようなコマンドを使用して、暗号化する必要があるパーティションをランダムデータで満たします。

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

sdxy暗号化されるパーティションに置き換える必要があります。次に入力

cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy

パーティションを暗号化しsdxyます。ボリュームを開いて名前を付けますroot

cryptsetup luksOpen /dev/sdxy root

次のコマンドを使用して、ext4ファイルシステムを内部に作成します。

mkfs.ext4 /dev/mapper/root

次に、インストーラーを起動できます。やりたいことを聞かれたら、「何か他のもの」を選択します。次に、暗号化されていないすべてのパーティションのマウントポイントを選択します。あなたのためにrootパーティションを選択/dev/mapper/root、「変更」をクリックしてください。次にext4、ファイルシステムタイプを選択し、マウントポイントをに設定し/ます。次に、「今すぐインストール」をクリックして、Ubuntuを通常どおりインストールします。

インストールが完了したら、[テストを続行]をクリックします。ターミナルを開き、次を入力します。

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyzbootパーティションに置き換える必要があります。次に、次を入力します。

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

2番目のターミナルを開き、と入力しsudo blkidます。rootcrypto_luks最後に言うもの)のUUIDを見つけて、に貼り付け/etc/crypttabます。次に、ファイル/etc/crypttabは次のようになります。

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

Ctrl+ xyおよびでファイルを閉じますEnternano /etc/fstabターミナルに入力し、すべてが正しく見えるかどうかを確認します(UUIDなど)。

最後に、chroot環境を終了し、次のように入力します。

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

これにより、暗号化されたパーティションのヘッダーのイメージがフォルダに配置され/root、名前が付けられroot.imgます。次に、イメージを外部ドライブに移動します(パスワードを忘れた場合)。これで、新しくインストールしたUbuntuを再起動できます。

ソース:http : //thesimplecomputer.info/full-disk-encryption-with-ubuntu


Ask Ubuntuへようこそ!これは理論的には質問に答える可能性がありますが、答えの重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
カールリヒター

@Earlは、chroot(またはコンテナ化)環境で事前にパーティションを構築し、それをインストーラーに固定することを提案していますか?
-deitch

プリシーダーとどのように連携しますか?
-deitch

私にはわかりませんが、それは少なくともrootLVMなしでLUKS暗号化パーティションを作成するための解決策です。
アールニック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.