この記事では、ブロック暗号化、Linux Unified Key Setup(LUKS)、およびFedoraLinuxで暗号化されたブロックデバイスを作成する手順について説明します。
ブロックデバイス暗号化は、ブロックデバイス上のデータを暗号化して保護するために使用され、データを復号化するには、ユーザーがアクセスするためのパスフレーズまたはキーを指定する必要があります。 これにより、デバイスがシステムから物理的に切り離されている場合でも、デバイスのコンテンツが保護されるため、追加のセキュリティメカニズムが提供されます。
LUKS (Linuxユニファイドキーのセットアップ)は、Linuxのブロックデバイス暗号化の標準であり、データのオンディスクフォーマットとパスフレーズ/キー管理ポリシーを確立することで機能します。 必要なすべてのセットアップ情報をパーティションヘッダー(別名: LUKSヘッダー)、したがって、データをシームレスに転送または移行できます。
LUKS カーネルデバイスマッパーサブシステムを dm-crypt デバイスデータの暗号化と復号化を保持する低レベルのマッピングを提供するモジュール。 あなたは使用することができます cryptsetupプログラム 暗号化されたデバイスの作成やアクセスなど、ユーザーレベルのタスクを実行します。
次の手順は、インストール後に暗号化されたブロックデバイスを作成および構成する手順を示しています。
をインストールします cryptsetup パッケージ。
#dnf installcryptsetup-luks。
次に、暗号化する前にデバイスにランダムデータを入力します。これにより、次のコマンドを使用して暗号化の強度が大幅に向上します。
#dd if = / dev / urandom of = / dev / sdb1 [高品質のランダムデータで遅い] また。 #badblocks -c 10240 -s -w -t random -v / dev / sdb1 [高品質のランダムデータで高速]
警告:上記のコマンドは、デバイス上の既存のデータをすべて消去します。
次に、 cryptsetup デバイスを次のようにフォーマットするコマンドラインツール dm-crypt / LUKS 暗号化されたデバイス。
#cryptsetup luksFormat / dev / sdb1。
コマンドを実行した後、入力するように求められます はい
次のスクリーンショットに示すように、(大文字で)使用するためにフォーマットするデバイスのパスフレーズを2回指定します。
操作が成功したかどうかを確認するには、次のコマンドを実行します。
#cryptsetup isLuks / dev / sdb1 && echoSuccess。
デバイスの暗号化情報の概要を表示できます。
#cryptsetup luksDump / dev / sdb1。
このセクションでは、暗号化されたデバイスの復号化されたコンテンツにアクセスする方法を構成します。 カーネルdevice-mapperを使用してマッピングを作成します。 このマッピングには、次のような意味のある名前を作成することをお勧めします。 luk-uuid (どこ デバイスのに置き換えられます LUKSUUIDユニバーサル一意識別子).
暗号化されたデバイスを取得するには UUID、次のコマンドを実行します。
#cryptsetup luksUUID / dev / sdb1。
取得した後 UUID、図のようにマッピング名を作成できます(前に作成したパスフレーズを入力するように求められます)。
#cryptsetup luksOpen / dev / sdb1luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c。
コマンドが成功すると、デバイスノードは /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c
これは復号化されたデバイスを表します。
作成されたばかりのブロックデバイスは、他の暗号化されていないブロックデバイスと同様に読み取りおよび書き込みが可能です。 次のコマンドを実行すると、マップされたデバイスに関する情報を確認できます。
#dmsetup info / dev / mapper / luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c。
次に、マップされたデバイス上にファイルシステムを作成する方法を見ていきます。これにより、他のブロックデバイスと同じようにマップされたデバイスノードを使用できるようになります。
マップされたデバイス上にext4ファイルシステムを作成するには、次のコマンドを実行します。
#mkfs.ext4 / dev / mapper / luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c。
上記のファイルシステムをマウントするには、そのマウントポイントを作成します。 /mnt/encrypted-device
次に、次のようにマウントします。
#mkdir -p / mnt / encrypted-device。 #mount / dev / mapper / luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c / mnt / cryptod-device /
次に、デバイスのマッピングを自動的に設定し、起動時にマウントするようにシステムを構成する必要があります。
にマッピング情報を追加する必要があります /etc/crypttab 次の形式のファイル。
luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c UUID = 59f2b688-526d-45c7-8f0a-1ac4555d1d7cなし。
上記の形式で:
ファイルを保存して閉じます。
次に、次のエントリをに追加します /etc/fstab システムの起動時にマップされたデバイスを自動的にマウントします。
/ dev / mapper / luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c / mnt / encoding-device ext4 00。
ファイルを保存して閉じます。
次に、次のコマンドを実行して systemdを更新する これらのファイルから生成された単位。
#systemctldaemon-reload。
最後に、LUKSヘッダーをバックアップする方法について説明します。 これは、LUKSヘッダーを含むセクターがユーザーエラーまたはハードウェア障害によって損傷した場合に、暗号化されたブロックデバイス内のすべてのデータが失われないようにするための重要な手順です。 このアクションにより、データの回復が可能になります。
LUKSヘッダーをバックアップします。
#mkdir / root / backups#cryptsetup luksHeaderBackup --header-backup-file luks-headers / dev / mapper / luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c
そして、LUKSヘッダーを復元します。
#cryptsetup luksHeaderRestore --header-backup-file / root / backups / luks-headers / dev / mapper / luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c
それで全部です! この記事では、を使用してブロックデバイスを暗号化する方法について説明しました LUKS NS Fedora Linux 分布。 このトピックまたはガイドに関する質問やコメントがありましたら、以下のフィードバックフォームを使用してご連絡ください。