内蔵ハードディスクや外付けハードディスクを暗号化することで、個人データへの不正アクセスを防ぐことができます。Linuxでハードドライブを暗号化するのは難しいので、コマンドを順を追って説明します。
外付けハードドライブの暗号化
-
cryptsetupがあるかどうかを確認する:ターミナルに「sudo cryptsetup --version」と入力する。バージョン番号が表示される代わりに「command not found」と表示される場合は、cryptsetupをインストールする必要がある。
- sudoを使用する必要があることに注意。sudoを使用せずにcryptsetupを実行しようとすると、 プログラムがインストールされていても「command not found」となる。
-
どのデバイスが接続されているかを確認する:sudo fdisk -l。
-
外付けハードディスクを接続する。
-
どのデバイスが接続されているか再度確認する。sudo fdisk -lをもう一度実行し、異なる部分を探します。それが接続したハードディスクです。そのデバイス名(例:/dev/sdb)を覚えておいてください。本記事では/dev/sdXと表記します。必ず実際のパスに置き換えてください。
-
残しておきたいデータをバックアップする。次のステップでは、ハードディスク・ドライブからすべてのデータを消去します。
-
外付けハードディスク・ドライブをアンマウントします。取り外すのではなく、アンマウントするだけです。ファイルマネージャーを使うか、sudo umount /dev/sdXでアンマウントできます。
-
ハードドライブからすべてのファイルシステムとデータを消去する。これは暗号化のセットアップには必要ありませんが、推奨されます。
- ファイルシステムのヘッダーのみを素早く消去するには、次のようにします: sudo wipefs -a /dev/sdX
- ハードドライブ上のすべてのデータを上書きするには、次のようにします: sudo dd if=/dev/urandom of=/dev/sdX bs=1M。プログレス・バーやその他の出力は表示されませんが、外付けハードディスク・ドライブに書き込み時に点滅するランプが付いていれば、点滅し始めるはずです。
- 外付けハードディスク・ドライブが大きい場合は、長時間待つ必要があります。デバイスやハードディスク・ドライブにもよりますが、256GBの場合、1秒間に30MB、約2時間半かかることがあります。
- 進捗状況を確認したい場合は、ddのプロセスIDを調べ、別のターミナルを開いてsudo kill -USR1 pid(pidはプロセスID)を使用する。これはプロセスを終了させるのではなく(-USR1パラメーターなしでkillするとそうなる)、何バイトコピーしたかを表示させるだけである。
- sudo dd if=/dev/zero of=/dev/sdX bs=1Mを使用して、代わりにゼロで上書きすると、高速になる可能性があるが、ランダムデータで上書きするよりも多少安全性が低くなる。
-
cryptsetupを実行する: sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sdX
- cryptsetupは、データが取り消し不能に上書きされることを警告します。YES」と入力して上書きすることを確認し、続行する。パスフレーズを選択するよう促される。パスフレーズを選択すると、暗号化のセットアップにしばらく時間がかかる。
- cryptsetup が既存のパーティションについて警告する場合(WARNING: Device /dev/sdX contains already ...... partition signature という形式のメッセージ)、既存のファイルシステムを適切に消去していません。ファイルシステムとデータを消去するステップを参照すべきですが、警告を無視して続行することも可能です。
-
暗号化パーティションを開く: sudo cryptsetup luksOpen /dev/sdX sdX (sdX を先ほどセットアップした暗号化パーティションに置き換えます)。
- パスフレーズの入力を求められます。前のステップで選んだパスフレーズを入力します。
-
暗号化パーティションがどこにマッピングされているか確認してください。通常は /dev/mapper/sdX ですが、sudo fdisk -l で再確認してください。
-
暗号化されたパーティションに新しいファイルシステムを作成します。暗号化をセットアップすることで、以前存在したものは消去されます。コマンドを使います: sudo mkfs.ext4 /dev/mapper/sdX
- dev/mapper/sdX を指定することが重要です。dev/sdXを指定すると、暗号化されていないEXT4パーティションとしてフォーマットされます。
- sudo mkfs.ext4 -L MyEncryptedDisk /dev/mapper/sdX のように、-L オプションでファイルシステムにラベルを付けることができます。
-
予約領域を削除する。デフォルトでは、いくつかのスペースが予約されていますが、ハードドライブからシステムを実行するつもりがない場合は、ハードドライブに少し広いスペースを確保するためにそれを削除することができます。 コマンドを使用します: sudo tune2fs -m 0 /dev/mapper/sdX
-
暗号化されたデバイスを閉じる: sudo cryptsetup luksClose sdX
- これで外付けハードドライブを安全に取り外すことができます。外付けハードドライブを再び開いて使用する方法については、「暗号化された外付けハードドライブを開く」を参照してください。
暗号化された外付ハードディスク・ドライブを開く
-
外付ハードディスク・ドライブを接続します。
-
プロンプトが表示されるまで待ちます。システムによっては、自動的にパスフレーズの入力を求められます。パスフレーズを正しく入力すると、デバイスがマウントされます。
-
プロンプトが開かない場合は、手動でドライブをマウントする。
- デバイス名を検索する: lsblk
- 初めてマウントする場合は、マウントするディレクトリを作成します。例えば、sudo mkdir /mnt/encrypted。そうでなければ、以前作成したディレクトリを使います。
- 暗号化パーティションを開く: sudo cryptsetup luksOpen /dev/sdX sdX
- 暗号化パーティションをマウントする: sudo mount /dev/mapper/sdX /mnt/encrypted
-
初めてドライブをマウントする場合は、パーミッションを調整してください。初めてドライブをマウントする場合、ドライブへの書き込みにはsudoが必要です。これを変更するには、そのフォルダの所有権を現在のユーザーに移します: sudo chown -R `whoami`:users /mnt/encrypted
- ハードドライブが自動的にマウントされた場合は、lsblkを使ってマウントされた場所を調べることができます。多くの場合、以下のようなパスにあります:/メディア/ユーザー名/ドライブラベル
-
ハードドライブを使う。暗号化されたハードドライブを他のハードドライブと同じように使用することができます。
-
暗号化されたハードドライブをアンマウントしてください。これは安全に切断するために必要です。ファイルマネージャやターミナルから行うことができます:
- 暗号化パーティションをアンマウントする: sudo umount /mnt/encrypted
- 暗号化パーティションを閉じる: sudo cryptsetup luksClose sdX
- Device sdX is not active. "というエラーメッセージが表示される場合、暗号化パーティションは別の名前でオープンされています(手動でマウントする代わりにプロンプトでパスフレーズを入力した場合などに起こりえます)。lsblk コマンドで見つけることができます。cryptタイプのエントリーを探してください。
コメント
最新を表示する
NG表示方式
NGID一覧