誰かがあなたのハード ドライブをコンピュータに接続するときに、ドライブをマウントするためのユーザー資格情報を提供する必要があるように、ハード ディスクを暗号化したい場合があります。 Linux では、個々のブロック デバイスを暗号化できます。この記事では、LUKS を使用して Linux でブロック デバイスを暗号化する方法を学習します。 LUKS は、ルート パーティション全体、論理ボリューム、または特定のパーティションを暗号化するために使用できる Linux 暗号化レイヤーです。
このチュートリアルでは、次の Linux ディストリビューションについて説明します
- Debian
- Ubuntu
- RHEL
- CentOS
- ロッキー Linux
- Almalinux
cryptsetup-luks パッケージをインストール
Cryptsetup ユーティリティ ツールには、Linux システムでブロック デバイスの暗号化を設定するために使用される cryptsetup-luks パッケージが付属しています。インストールは次のコマンドを使用して実行できます。
Ubuntu/Debian
$ apt-get install cryptsetup
RHEL/CentOS/Rocky Linux/Almalinux
$ dnf install cryptsetup-luks
LUKS パーティションを準備する
ユーティリティ ツールをインストールしたら、暗号化用のパーティションを準備します。使用可能なすべてのパーティションとブロック デバイスを一覧表示するには、次のコマンドを実行します。
$ fdisk -l
$ blkid
次に、cryptsetup luksFormat コマンドを使用して、パーティションに暗号化を設定します。この例では、パーティション sdb が暗号化に使用されます。環境に基づいて独自の仮定を立てることができます。
$ cryptsetup -y -v luksFormat /dev/sdb
上記のコマンドを実行すると、パーティション上のすべてのデータが削除されます
ここで、上記の手順で LUKS 暗号化パーティションにマウントされた論理デバイス マッパー デバイスを作成する必要があります。この例では、暗号化 開かれた LUKS パーティションのマッピング名に指定された名前です。
次のコマンドは、ボリュームを作成し、パスフレーズまたは初期キーを設定します。パスフレーズは復元できないことに注意してください。
$ cryptsetup luksOpen /dev/sdb encrypted
パーティションのマッピングの詳細は、次のコマンドを使用して見つけることができます。
$ ls -l /dev/mapper/encrypted
次のコマンドを使用して、マッピングのステータスを表示します。マッピング名を encrypted に置き換えます .
$ cryptsetup -v status encrypted
cryptsetup と luksDump コマンドを使用して、デバイスが暗号化のために正常にフォーマットされていることを確認できます。この例では、確認のために sdb パーティションが使用されています。
$ cryptsetup luksDump /dev/sdb
LUKS パーティションをフォーマット
LUKS で暗号化されたパーティションにゼロを書き込むと、ブロック サイズがゼロで割り当てられます。次のコマンドを使用して、暗号化されたブロック デバイスにゼロを設定します。
$ dd if=/dev/zero of=/dev/mapper/encrypted
dd コマンドの実行には時間がかかる場合があります。進行状況を確認するには pv コマンドを使用してください。
$ pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M
注:暗号化 を置き換えます
目的のファイル システムで新しいパーティションをフォーマットします。この例では、ext4 ファイル システムが使用されています。
$ mkfs.ext4 /dev/mapper/encrypted
暗号化を置き換える あなたのデバイスマッパー名で。
新しいファイル システムをマウントします。この例では、新しいファイル システムは /encrypted にマウントされます
$ mkdir /encrypted $ mount /dev/mapper/encrypted /encrypted
encrypted デバイス マッパー名を置き換えます 独自のマッパー名を使用してください。
$ df -h $ cd /encrypted $ ls -l
そのため、LUKS を使用して Linux で暗号化されたパーティションを作成することに成功しました。