起動時にLUKS暗号化ハードドライブをマウントする


24

SSDデバイスにXubuntu 14.04があり(HOMEはインストール時に正しく暗号化されていました)、さらに/ mnt / hddにマウントしたい追加のデータが暗号化されたパーティションを持つHDDがあります。これらを作成するには、次の手順を実行しました。

(以前は、この投稿http://www.marclewis.com/2011/04/02/luks-encrypted-disks-under-ubuntu-1010/に従って、LUKSでディスクを暗号化していました)

UUIDを確認してください

sudo blkid 
/dev/sda1: UUID="b3024cc1-93d1-439f-80ce-1b1ceeafda1e" TYPE="crypto_LUKS"

適切なパスフレーズを使用してキーファイルを作成し、HOME(これも暗号化されています)に保存します。

sudo dd if=/dev/urandom of=/home/[USERNAME]/.keyfiles/key_luks bs=1024 count=4
sudo chmod 0400 .keyfiles/key_luks

キーを追加します

sudo cryptsetup luksAddKey /dev/sda1 /home/zeugor/.keyfiles/key_luks

/ etc / crypttabの新しいエントリ

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e /home/[USERNAME]/.keyfiles/key_luks luks

初期RAMディスクを更新する

sudo update-initramfs -u -k all

次に、それをテストするために、以下のコマンドを使用してcryptdisksを開始しました。

sudo cryptdisks_start hddencrypted 
 * Starting crypto disk...                                                       
 * hddencrypted (starting)..
 * hddencrypted (started)... 

hddencryptedがマップされたことを確認するには:

ls /dev/mapper/
control  hddencrypted

マウントポイントを作成する

mkdir /mnt/hdd

/ etc / fstabの新しいエントリ

/dev/mapper/hddencrypted /mnt/hdd ext4 defaults 0 2

再起動せずにfstabを検証します。

sudo mount -a

ブート時に暗号化されたパーティションをマウントします

提案どおり、/ mnt / hddにマウントしました。しかし、再起動後にこれを自動的に作成したいと思います。しかし、ログインする前に、次のエラーが表示されます。

the disk drive for /mnt/hdd is not ready yet or not permit

これはすべて、/ etc / crypttabが、HOME(他の暗号化されたパーティション)にあるキーファイルにアクセスできないと考えさせます。暗号化されずにユニットをマウントするためにシステムが従う順序がわかりません。キーファイルを読み取るためのアクセスを許可するために、私のホームはHDDの前に暗号化されていないはずです。

これが起こる理由についての洞察をいただければ幸いです。

UPDATE: 私はキーファイルを見つけた場合は/ boot(なし暗号化された)、代わりに私の中に[USERNAME] / /ホーム(暗号化)は/ dev / sda1にとのエントリ更新の/ etc / crypttabが完全にブート時に搭載されています。


/home/$USER暗号化方法 LUKSのような、またはecryptfsベースのフルディスク暗号化?
デビッドフォースター14年

回答:


9

/ bootディレクトリにあるキーファイルは、その/ bootにあるファイルシステムをマウントできる、マシンで起動されている他のオペレーティングシステムによって読み取ることができます。したがって、暗号化は実際には効果的ではありません。この引数は、暗号化されていないファイルシステム上のすべてのキーファイルの場所に適用されます。

暗号化されていないファイルシステム上のキーファイルを避けるために、パスワードを使用して復号化できます。デバイスの強力なパスワードを作成します。次に、/ etc / crypttabの行を次のように変更します。

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e none luks

/ etc / fstabのエントリは変更しないでください。Ubuntu 14.04 / 16.04 / 18.04は、起動時にパスワードを要求します。


@ solt87の回答とこの回答を組み合わせることで、この回答が完成します。

6

fstabの「デフォルト」を次のように置き換えても機能しますか

rw,suid,dev,exec,auto,user,async,relatime

マウントの manページによると、「user」を除いて「defaults」と同じです。)


1

ていることを確認しhddencryptedパーティションが一覧表示された後の両方で、homeパーティション/etc/fstab/etc/crypttab。同様にcrypttab (5)manページの状態:

initスクリプトはcrypttabを順番に繰り返し処理するため、crypttabのレコードの順序は重要です。

またnoearly、後者のパーティションにオプションを追加してみてください/etc/crypttab

hddencrypted UUID=<...> /home/[USERNAME]/.keyfiles/key_luks luks,noearly

通常の状況では、ホームパーティションをCRYPTDISKS_MOUNTin /etc/default/cryptdisksに追加することで最初にマウントする必要があることを示すことができます が、それ自体が暗号化されているので、良いアイデアではないと感じています。


1
これは、ubuntuがすべてのパーティションを復号化してからマウントしようとするため、機能しません。したがって、キーファイルは使用できません。
クリスチャンウルフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.