web-dev-qa-db-ja.com

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

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

どうすれば定義できますか?私の(暗号化されていない)レシピは次のようになります。これは、私が見つけた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{ / }
  .

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

更新:

以下のようにパーティションを暗号化するように設定できることを発見しましたが、まだ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{ }
  .
13
deitch

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

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

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

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

2番目のターミナルを開き、Sudo blkidと入力します。 root(最後にcrypto_luksと書かれているもの)のUUIDを見つけて、/etc/crypttabに貼り付けます。ファイル/etc/crypttabは次のようになります。

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

でファイルを閉じます Ctrl+x、 y そして Enter。ターミナルにnano /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-ubunt

1
Earl Nick