Ubuntuでハードディスクを暗号化する方法

Full Disk Encryption Ubuntu Featured

ディスクを暗号化することは、敏感な情報を安全に保つ方法の一つです。暗号化がなければ、強力なシステムパスワードも他のオペレーティングシステムを使用してファイルにアクセスすることを防ぐことはできません。

暗号化は、読み取り可能な情報を暗号文と呼ばれる読み取り不可能なデータに変換し、キーを使用してのみ復号化できるようにします。Linuxでは、ほとんどのディストリビューションがインストール中または後にフルディスク暗号化を簡単に許可します。

このガイドでは、Ubuntuでドライブを暗号化する手順をご紹介します。初めて設定する場合でも、既存のシステムに暗号化を追加する場合でも、役立つ情報を提供します。

フルディスク暗号化とは?

フルディスク暗号化(FDE)は、ドライブ全体を保護し、すべてのファイルやシステムデータを含みます。例えば、起動時に、ユーザーアカウントにログインする前にドライブのロックを解除するためにパスフレーズまたはキーを入力する必要があります。

最適なセキュリティを確保するために、Linuxのインストール中にディスク全体を暗号化します。これにより、システムパーティションとスワップスペースの両方が暗号化され、暗号化プロセスがエラーなくスムーズに実行されることが保証されます。ただし、フルディスクを暗号化すると、特に古いハードウェアではわずかなパフォーマンスの低下が生じる場合があります。

暗号化の利点と欠点

ハードドライブ全体を暗号化することは完璧なアイデアのように思えますが、それにはいくつかの問題があります。利点と欠点を見てみましょう。

暗号化の利点

  • プライバシーの向上
  • 暗号化キーを持つ人のみがオペレーティングシステムとその上のすべてのファイルにアクセスできる
  • 国家政府やハッカーがあなたのマシンを監視してプライバシーを侵害することはできない

暗号化の欠点

  • 他のLinuxオペレーティングシステムでLinuxファイルシステムにアクセスしたりマウントしたりすることが困難で、ほぼ不可能です
  • これらのパーティションからデータを回復することは不可能です
  • ユーザーが復号化キーを失った場合、不運になります

インストールの準備

Ubuntuでの暗号化は、OSレベルでインストール開始時に行うのが最適です。アクティブなUbuntuインストールを暗号化することは実現可能ではないため、重要なファイルをDropboxやGoogle Drive(または他のハードドライブ)にバックアップし、Ubuntuの再インストールの準備をします。

ubuntu-encrypt-ubuntu-alternative-downloads

最新バージョンのUbuntuをダウンロードし、USBフラッシュドライブ(少なくとも2GBのサイズ)を用意します。

ライブUSBディスクを作成するためのプログラムが必要です。Etcherツールをダウンロードし、ZIPアーカイブから抽出し、抽出したファイルを右クリック(またはマウスでハイライトし、Enterキーを押す)して実行します。

Downloading Etcher tool from the web.

注意: Etcherはアイコンの作成を求めます – はいを選択してください。

Etcher内で、Select Imageボタンをクリックし、以前にダウンロードしたUbuntu ISOイメージを選択します。その後、USBフラッシュドライブを接続します。Etcherが自動的に検出し、選択します。最後に、Flash!ボタンを選択して作成プロセスを開始します。

完了したら、フラッシュドライブを接続したままでコンピュータを再起動し、コンピュータのBIOSをロードしてUSBから起動するオプションを選択します。

注意: マシンがUSBからのブートをサポートしていない場合は、Ubuntuの32ビット版をダウンロードし、コンピュータの書き込みソフトウェアを使用してISOをDVDに焼きます。

Ubuntuインストール中のフルディスク暗号化

Ubuntu Linuxは、インストールプロセス中に有効にできる簡単なフルディスク暗号化機能を提供しています。この機能は、幅広くサポートされているディスク暗号化標準のLUKS(Linux Unified Key Setup)をインストレーションワークフローに統合することで、暗号化を簡素化します。一度有効にすると、ディスクの再フォーマットなしに暗号化を無効にすることはできません。

Ubuntuインストールメディアから起動してインストールプロセスを開始します。パーティショニング操作を開始するとき、Advanced Featuresオプションを選択して暗号化を設定します。

Advanced Features Option Of Disk in Ubuntu installtion.

次に、Use LVM and encryptionオプションを選択します。LVM(Logical Volume Management)は、ディスクスペースの管理を柔軟にし、パーティションのサイズ変更や複数の論理ボリュームの管理を簡単にします。

Choosing LVM and encryption options.

次に、セキュリティキー(パスワード)を作成します。このキーは、システムを起動するたびにドライブの復号化に使用します。

Creating Passphrase Key

最後に、インストーラーはLVMパーティションを含む新しいパーティションのレイアウトを表示します。暗号化が有効になっているため、これらのパーティションは安全に暗号化されます。変更を確認し、手続きを進めます。

Reviewing Choices

設定が完了したら、インストールを完了し、コンピュータを再起動します。これで、起動時に毎回、暗号化されたドライブのロックを解除するためにセキュリティキーを入力する必要があります。このキーがない限り、ドライブ上のデータにはアクセスできません。

残念ながら、既存のUbuntuインストールにフルディスク暗号化を追加することはできませんが、LUKSや同様のツールを使用して個別のディレクトリやパーティションを暗号化することはできます。

インストール後のディスクの暗号化

すでにUbuntuをインストールしていて、完全な再インストールを開始したくない場合でも、ホームディレクトリーやスワップスペースなどの特定のエリアを暗号化することにより、システムのセキュリティを向上させることができます。たとえば、ホームディレクトリーにはユーザー特有の敏感なデータが保存され、オペレーティングシステムはスワップスペースを使用してRAMからのデータを一時的に保存します。

インストール後にホームディレクトリーとスワップスペースを暗号化することで、システム全体を再インストールすることなく、データを保護する追加のセキュリティレイヤーが提供されます。このプロセスは比較的簡単ですが、データ損失を防ぐために、常に復旧パスフレーズを安全に保管しておくことが重要です。

始めるには、部分暗号化のためにEcryptfs-utilsおよびCryptsetupパッケージをインストールします。

sudo apt install ecryptfs-utils cryptsetup

ログイン中にアクティブなホームフォルダーを暗号化することはできません。手続きを進めるために、一時ユーザーを作成します。

sudo adduser new-temp

Adding new temporary user.

指示に従ってパスワードとユーザーの詳細を設定します。次に、新しいユーザーにsudo権限を付与します。

sudo usermod -aGsudo encrypt-temp

ログアウトし、電源メニューから一時ユーザーに切り替えます。

Switching user from power menu in Ubuntu.

次に、ターゲットユーザーのホームディレクトリを暗号化します。

sudo ecryptfs-migrate-home -u

Encrypting Home directory in Ubuntu using ecryptfs tool.

プライマリユーザーの名前と置き換えてください。プライマリユーザーのパスワードを入力するように求められます。このプロセスは、ディレクトリのサイズによっては時間がかかる場合があります。

暗号化が完了したら、一時ユーザーからログアウトし、元のアカウントに戻ります。テストファイルを作成して読み取ることで暗号化を確認します。

echo "Your Text"> test.txt && cat test.txt

ファイルの書き込みと読み取りが成功すれば、正しく暗号化が適用されています。

また、データへのアクセスを失わないように、次のコマンドを実行して復旧パスフレーズをメモしておくのも良いアイデアです。

sudo ecryptfs-unwrap-passphrase

プロンプトが表示されたらログインパスワードを入力します。

スワップスペースの暗号化

スワップスペースは物理メモリ(RAM)をディスクストレージに拡張します。ただし、スワップスペースを暗号化することで、敏感な情報が暗号化されていない仮想メモリに漏れ出さないようにします。このことは、システムのサスペンド/再開機能に影響を与える可能性があります。

Linuxシステムでスワップスペースを作成するには、スワップファイルまたはスワップパーティションを作成できます。作成済みのスワップファイルがある場合は、現在のスワップスペースを次のコマンドで確認できます。

swapon -s

スワップサイズを確認するには、次のコマンドを実行します。

free -h

さて、スワップスペースを暗号化するには、次のコマンドを実行します。

sudo ecryptfs-setup-swap

Encrypting Swap space partition.

暗号化が完了したら、一時ユーザーを削除します。

sudo deluser --remove-home new-temp

さらに、暗号化プロセス中にホームディレクトリのバックアップが作成されます。ls -lh /homeコマンドを使用して「/home」にあるバックアップを確認できます。

すべてが正常に動作している場合は、次のrmコマンドでバックアップを安全に削除できます。

sudo rm -r 

まとめ

新しいシステムを構築する場合でも、古いシステムを保護する場合でも、ディスク暗号化は堅固な保護レイヤーを提供します。また、Cryptsetupを使用してLUKSでドライブやパーティションを暗号化したり、VeraCryptのような使いやすい代替手段を使用したりすることもできます。

暗号化は包括的なセキュリティ戦略の一部であることを忘れないでください。ファイアウォールや多要素認証などの他の対策と組み合わせることで、Linuxラップトップのプライバシーをさらに強化し、堅牢なデータ保護を実現します。