インストール後にディスク暗号化を有効にする


61

13.10 Saucyを実行しています。インストール中にディスク暗号化を有効にしなかった場合、事実上それを有効にする方法はありますか?

私が見つかりました。これを暗号化は、インストール時に発生することがあることを述べていた、が、それはまた、Fedoraのを参照することです。そこから実行する方法があれば、ライブディスクを簡単に起動できます。


完全なディスク暗号化または/ homeフォルダーのみ?
ジョレン

フルディスク。(次の質問:フルディスクとちょうど/ homeの欠点と欠点は何ですか?:))
アイザックドンジェリンデル

/ homeディスクの暗号化にはスワップ領域は含まれません。/ homeのみが暗号化されている場合、機密データは暗号化されていないスワップに書き込まれます。これは回復できます。Ubuntuはログオン中に/ homeの自動復号化を行います。フルディスク暗号化では、起動時とログイン時にパスワードが必要です。暗号化されたドライブのサイズ変更は骨の折れるプロセスです。外付けドライブがある場合、13.10 Saucy Salamanderでインストール後に簡単に暗号化できます。データをバックアップし、ダッシュボードから「ディスク」を起動し、外付けドライブを選択し、歯車をクリックして、暗号化を選択し、新しく暗号化されたドライブのロックを解除します、データをコピーして戻します。
user75798

回答:


57

あなたのホームフォルダの暗号化を有効にしたい場合は、これらのパッケージをインストールして使用する必要がありますecryptfs-utilscryptsetup。また、管理者(sudo)特権を持つ別のユーザーアカウントが必要になります。完全なドキュメントは次のとおりです。

インストール後にディスク全体の暗号化を有効にしたい場合、今のところ簡単な答えはおそらく「いいえ、できません」です。とにかく、あなたがこれに興味があるなら、あなたの質問は次のものと重複しています:


8
リンクされたハウツーの少なくとも基本的な手順をここに含めてください。リンクがオフラインになった場合、変更された場合、または一時的にアクセスできなくなった場合に備えて。
con-f-use

1
@ con-f-use(混乱なく)注意深く読んだ場合、非常に基本的な手順が答えに含まれています。
ラドゥラデアヌ14年

1
暗号化されたホームフォルダーにSamba共有がある場合はどうなりますか?ネットワークユーザーはこれ以上ファイルを読み取れませんか、または共有上で復号化されますか?
ラッシュフリスビー

21

フォローアップの質問:フルディスクと単なる/ homeの利点と欠点は何ですか?

/ homeでの暗号化は、ecryptfsと呼ばれるユーザー空間ファイルシステムを使用して行われます。それは非常によく行われ、デフォルトの認証システムにしっかりと組み込まれているため、ユーザビリティの欠点はゼロになります:アカウントを入力するとき(リモートシェルまたはデフォルトのログイン画面から)、パスワードを使用してセキュアキーをアンラップします次に、ホームディレクトリ内のファイルをその場で暗号化/復号化するために使用されます(マウントされたファイルシステムは/ home / usernameに直接存在します)。ログアウトすると、/ home / usernameはマウント解除され、暗号化されたファイルのみがシステムに表示されたままになります(通常は/home/.ecryptfs/username/.Private/にあります)。ファイル名も暗号化されているため、これらはスクランブル/ランダムファイルの束のように見えます。唯一の情報漏洩は、ファイルサイズ、タイムスタンプ、およびファイル数です(ディスク全体の暗号化では、これらも非表示になります)。

システムを複数のユーザー間で共有する場合、これに加えてフルディスク暗号化を追加する場合でも、これは非常に便利な機能です:マシンが自宅で稼働しているときはフルディスク暗号化の安全性がオフになっています( ecryptfs)暗号化は、ログアウトしている限りオンです。

したがって、フルディスク暗号化とホーム暗号化は必ずしも相互に排他的ではありません。

さまざまなセキュリティニーズに応じて、可能なセットアップのリストを以下に示します。

  • フルディスク暗号化のみ:コンピューターを使用しているのがあなただけで、マシンがフルディスク暗号化のオーバーヘッドを処理できる場合(最新のデスクトップはすべて、ユーザーが気付かずにそれを行うことができ、ネットブックや古いラップトップはそれほど多くありません)、フルを使用できますディスク暗号化を行い、OS(/)と同じパーティションにホームを配置します。
  • フルディスク暗号化ホーム暗号化暗号化:PCがオンのときに個人データが読み取られるのが心配な場合、またはコンピューターを他のユーザーと共有する場合は、フルディスクとは別のパーティションにホームを作成し、ディスク全体でecryptfsを使用できます暗号化(つまり、LUKSによる暗号化)
  • ホームECRYPTFS暗号化のみ外出中に誰かがシステムを改ざんすることをあまり心配していないが、プライベートデータを安全に保ちたい場合は、ディスクの完全な暗号化をスキップしてecryptfs(ホームの暗号化)を使用します。このシナリオの追加ボーナスは、これがするのは非常に簡単なことです設定しても後にecryptfs-migrate-homeを使用してUbuntuをインストールしました。また、これはいくつかのリリースを変更する前のデフォルトのUbuntuセットアップであり、フルディスク暗号化の可能性を追加しました。最新のデスクトップのほとんどは、汗をかかずにフルディスク暗号化を処理でき、オフラインコードインジェクションに対するセキュリティの薄層を追加するため、インストーラーにフルディスク暗号化が追加されました。ただし、ほとんどのユーザーにとっては、ecryptfsを使用して自宅を暗号化するだけで十分です。つまり、友人や一般的なラップトップの泥棒をプライベートデータから遠ざけることです。その上、適切な手段で組織を単独でターゲットにした場合、他の多くの偏執的な振る舞いも確立していない限り、フルディスク暗号化またはホーム暗号化だけで大きな違いはありません:カーネルは常にあなたにある別のペンドライブに保管します。ハードウェアの改ざん/キーロガーなどを常にチェックする)

インストール中にディスク暗号化を有効にしなかった場合、事実上それを有効にする方法はありますか?

はい。現在LVMを使用しており、システム上にすべての暗号化されていないシステムファイルを暗号化されたLUKSパーティションにコピーするのに十分なスペースがある場合、より簡単になります。LVMを使用しているかどうか、そして今のところecrypfsを使用するのではなく、次の新規インストールまでディスク全体の暗号化の手間を省くのかどうかわからないので、現時点では詳しく説明しません。


3

さて、すべての重要なディレクトリとインストールされているソフトウェアのバックアップを作成できます。バージョンの競合を避けるため、13.10が完全に更新されていることを確認してください。通常、バックアップは次のようになります。

その後、暗号化されたシステムのみを再インストールします。完全に更新します。次に、バックアップを暗号化されたシステムに移動し、以前のバージョンのすべてのソフトウェアをインストールします。

バックアップを元に戻すとき、暗号化に重要なファイルを上書きしないようにしてください(たとえば/etc/fstab/etc/cryptabgrub関連のものや一部の/bootファイルは、バックアップしたファイルに置き換えないでください)。


1

稼働中のUbuntu 16.04から、インストール後のルートパーティションの暗号化に成功しました。ルートパーティションには/ boot以外のすべてが含まれています。別のリムーバブルusbに/ bootを置きます。特に、Ubuntu 18にアップグレードする前にこれを行いましたが、アップグレードは暗号化されたディスクバージョンで正常に機能しました。

暗号化は「インプレース」で行われませんでしたが、とにかく新しいセットアップが機能するまで動作バージョンを上書きしたくないので、私にとっては問題ありませんでした。

正しい手順を実行することは非常に簡単で高速です。(正しい手順を見つけることは、私がいくつかの誤ったリードに従ったため、非常に時間がかかりました。)

概要

  1. ライブLinux USBディスクを作成します-永続性を有効にすると便利です。そのライブUSBディスクで起動します。
  2. 空のパーティションにluks暗号化ボリュームグループを作成します。(私の場合、元のLinuxと同じディスクにありましたが、別のディスクにすることもできます。)/(ルート)を作成し、その暗号化されたパーティションに論理ボリュームをスワップします。コピーされたlinuxに関する限り、これらは仮想パーティションとして機能します。
  3. 古いルートから新しいルートにファイルをコピーします。
  4. リムーバブルブートディスクとして機能する別のUSBをセットアップしてパーティションを作成します。
  5. 新しいルートにいくつかのファイルを設定し、魔法をかけ、新しいルートにchrootしてから、chrootされた新しいルート環境からブートディスクにgrubをインストールします。

詳細

1-ライブLinux USBディスクで起動します-永続性を有効にすると便利です。

unetbootinを使用して、UsbにUbuntu 16をインストールしました。GUIでは「永続性」を指定できますが、永続性を機能させるには別の手順も必要です。次のように変更/boot/grub/grub.cfgして追加--- persistentします。

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

ライブUSBで起動します

2-空のパーティションにluks暗号化ボリュームグループを作成します。/(ルート)を作成し、その暗号化されたパーティションに論理ボリュームをスワップします。

暗号化される未使用のパーティションがであると仮定します/dev/nvme0n1p4

オプションで、暗号化とフォーマットの前に非表示にするパーティションに古いデータがある場合、パーティションをランダムにワイプできます。ここでの議論を参照してください

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

暗号化を設定します。

cryptsetup -y -v luksFormat /dev/nvme0n1p4

パスワードを設定するように求められます。

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

パスワードを入力するように求められます。これcrypt1は任意のユーザーが決定した名前です。次に、ボリュームとフォーマットを作成します。

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

これらのユーティリティを使用して、ボリュームを表示し、階層を理解します。

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3-古いルートから新しいルートにファイルをコピーする

mkdir /tmp/old-root 
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... アーカイブモードでコピーし、すべてのファイルモードとフラグを保持します。

4-リムーバブルブートディスクとして機能する別のUSBをセットアップしてパーティションを作成します。

これにはgpartedを使用しました。2つのパーティションをセットアップします。最初のパーティションはvfat、2番目ext2です。いずれも512 MBでしたが、これよりも少なくなる可能性があります。deviceと仮定します/dev/sdf

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave) 

5-新しいルートにいくつかのファイルを設定し、魔法をかけ、新しいルートにchrootしてから、chrootされた新しいルート環境からブートディスクにgrubをインストールします。

後で使用するためにいくつかのUUIDを見つけます。次のコマンドからの出力に注意してください。

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

ルートパーティションとブートパーティションをマウントする

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

ファイルをセットアップする /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

ここで、「[uuid of ...]」は単なる文字と数字とハイフンの組み合わせです。

ファイルを作成する /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

ルートディレクトリ環境に入るにはいくつかの魔法が必要です。

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

次に、ブートUSBディスクをセットアップしますgrub

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

これで、新しく作成されたUSBブートディスクを使用して再起動および起動できるようになります。

トラブルシューティング

(a)apt install --reinstall grub-efi-amd64コマンド用にネットワークが接続されている必要があります。ネットワークは接続されているがDNSに障害がある場合は、試してください

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b)を呼び出す前に、元のLinuxで使用されてinitramfsいる現在のvmlinuz...ファイルが新しいルートディレクトリに存在する必要があります。そうでない場合は、見つけてそこに置きます。

(c)このgrub-installコマンドは、デフォルトでは、mountedでなくても検出できる他のすべてのLinuxディスクを検索し、新しい起動USBの起動メニューに追加します。通常、これは望ましくないため、次の行を/boot/default/grub.cfg次の行に追加することで回避できます。

GRUB_DISABLE_OS_PROBER=true

注: 暗号化キーを含むテキストファイルをリムーバブルブートUSBに追加できます。


0

簡単な答え:いいえ。

複雑な答え:

ディスクまたはパーティションを暗号化すると、そのディスクまたはパーティションに現在あるすべてのものが消去されるため、ディスクを暗号化するには、ディスクの内容も削除する必要があります。開始する前に、適切なデータのバックアップを作成する必要があります。明らかに、これは完全なディスク暗号化を使用するためにシステムを再インストールする必要があることを意味し、他の方法はありません。これは、ランダムデータがディスク全体に書き込まれ、データの回復がより困難になるためです。

しかし、最近では、ルートパーティションを暗号化する必要はありません。何かが配線された場合、データを回復する可能性がなく、システムの外にいることに注意してください代わりに、個人情報のみを暗号化することを検討してください。

関連する質問を参照してくださいインストール後にディスク全体を暗号化する方法は?


「データを回復する可能性がない状態でシステムから出ています」<---それは誤りです。暗号化キーがあれば、ライブメディアでデータを回復できます。
con-f-use

@ con-f-useは、条件付きの「何かがワイヤリングした場合」があったことを考慮に入れます。
ブライアム

よくできているなら、暗号化されたディスク上のLUKSヘッダーの最新のバックアップも維持する必要があります。しかし、私はそれを「暗号化キー」に含めます。それ以外は、データ回復の観点から完全な暗号化に害はありません。ただし、Ubuntuのどのバージョンがインストールされているか、どのプログラムがインストールされているかなどを確認できるという事実は、完全に暗号化されていないディスクに対する攻撃ベクトルを提供します。また、SSDも一般的に機能します。そのため、偏執的な人にとっては、完全なディスク暗号化を回避する方法はまだありません。
con-f-use

「しかし、最近では、ルートパーティションを暗号化する必要はありません。」自分で話してください、私は完全に同意しません。「ディスクまたはパーティションを暗号化すると、そのディスクまたはパーティションに現在あるすべてのものが消去されるため、ディスクを暗号化するには、ディスクの内容も削除する必要があります。」繰り返しますが、同意しません。Truecryptは、既存のディスクを使用してWindowsでFDEを実行する非常に良い例です。実際、これはインストールの事実上の方法です-暗号化されておらず、一度行われると暗号化されます。Ubuntuでatmを使用できないという点で答えは変わりませんが、あなたの声明は非常にカテゴリー的であり、間違っています。
クッキー

@Cookie後でインストールできるものがあるパーティションを暗号化するのはなぜですか?(そして、私は何でもインストールされているかもしれない企業/エンタープライズサーバーとは何の関係もない、すぐに使えるユーザーシステムについて話している)2)あなたが話しているのは、以降の日付までと、インストール後にパーティションを暗号化することができ、Linuxの暗号化システムを見つけることができない場合は、Windows、私の文は正しいです、今、それは不可能です。
Braiam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.