セキュリティの観点から、機密データを暗号化して、詮索好きな目やハッカーから保護することが重要です。 Linux Unified Key Setup(LUKS)は、Linuxディスク暗号化の優れたツールであり一般的な標準です。関連するすべてのセットアップ情報がパーティションヘッダーに保存されるため、データの移行が容易になります。
LUKSで暗号化されたディスクまたはパーティションを設定するには、cryptsetupユーティリティを使用する必要があります。残念ながら、ディスクを暗号化することの欠点の1つは、システムを再起動するか、ディスクを再マウントするたびに、手動でパスワードを入力する必要があることです。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
ただし、ネットワークバウンドディスク暗号化(NBDE)は、ユーザーの介入なしに暗号化されたディスクのロックを自動的かつ安全に解除できます。これは、Red Hat Enterprise Linux 7.4、CentOS 7.4、Fedora 24以降のいくつかのLinuxディストリビューション、およびそれぞれのそれ以降のバージョンで利用できます。
NBDEは、次のテクノロジーで実装されています。
- クレビスフレームワーク: LUKSボリュームを自動的に復号化してロック解除するプラグイン可能なフレームワークツール
- 唐サーバー: 暗号化キーをネットワークプレゼンスにバインドするためのサービス
Tangは、Clevisクライアントに暗号化キーを提供します。 Tangの開発者によると、これはキーエスクローサービスに代わる安全でステートレスな匿名の代替手段を提供します。
NBDEはクライアントサーバーアーキテクチャを使用するため、クライアントとサーバーの両方を構成する必要があります。 Tangサーバー用にローカルネットワーク上の仮想マシンを使用できます。
sudoを使用してTangをインストールします:
sudo yum install tang -y
Tangサーバーを有効にします:
sudo systemctl enable tangd.socket --now
Tangサーバーはポート80で動作するため、firewalldに追加する必要があります。適切なfirewalldルールを追加します:
sudo firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload
これでサーバーがインストールされます。
この例では、/dev/vdc
という名前の新しい1GBディスクを追加したと仮定します。 システムに。
fdiskまたはpartedを使用してプライマリパーティションを作成します:
sudo fdisk /dev/vdc
次の手順を実行して、クライアントをインストールします。
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.
Command (m for help):
nと入力します 新しいパーティションを作成するには:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Enterを押します プライマリパーティションを選択するためのキー:
Using default response p
Partition number (1-4, default 1):
Enterを押します キーを押してデフォルトのパーティション番号を選択します:
First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Enterを押します 最後のセクターを選択するためのキー:
Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set
Command (m for help): wq
wqと入力します 変更を保存してfdiskを終了するには:
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
partprobe
を実行します パーティションテーブルの変更をシステムに通知するには:
sudo partprobe
sudoを使用してcryptsetupパッケージをインストールします:
sudo yum install cryptsetup -y
cryptsetup luksFormat
を使用します ディスクを暗号化するコマンド。 はいと入力する必要があります プロンプトが表示されたら、ディスクを暗号化するためのパスフレーズを選択して入力します。
sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase for /dev/vdc1:
Verify passphrase:
cryptsetup luksOpen
を使用します 暗号化されたパーティションを論理デバイスにマップするコマンド。たとえば、encryptedvdc1
を使用します 名前として。また、パスフレーズをもう一度入力する必要があります:
sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:
暗号化されたパーティションは、/dev/mapper/encryptedvdc1
で利用できるようになりました。 。
暗号化されたパーティションにXFSファイルシステムを作成します:
sudo mkfs.xfs /dev/mapper/encryptedvdc1
暗号化されたパーティションをマウントするためのディレクトリを作成します:
sudo mkdir /encrypted
cryptsetup luksClose
を使用します パーティションをロックするコマンド:
cryptsetup luksClose encryptedvdc1
sudoを使用してクレビスパッケージをインストールします:
sudo yum install clevis clevis-luks clevis-dracut -y
/ etc / crypttabを変更して、起動時に暗号化されたボリュームを開きます:
sudo vim /etc/crypttab
次の行を追加します:
encryptedvdc1 /dev/vdc1 none _netdev
/ etc / fstabを変更して、再起動中または起動時に暗号化されたボリュームを自動的にマウントします。
sudo vim /etc/fstab
次の行を追加します:
/dev/mapper/encryptedvdc1 /encrypted xfs _netdev 1 2
この例では、TangサーバーのIPアドレスが192.168.1.20
であると想定しています。 。必要に応じて、ホスト名またはドメインを使用することもできます。
次のclevis
を実行します コマンド:
sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:
rwA2BAITfYLuyNiIeYUMBzkhk7M
Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:
Yと入力します Tangサーバーのキーを受け入れ、初期セットアップ用の既存のLUKSパスワードを提供します。
ルート以外のパーティションのパスフレーズの入力を求められないようにするには、systemctlを介してclevis-luks-askpass.pathを有効にします。
sudo systemctl enable clevis-luks-askpass.path
クライアントがインストールされます。これで、サーバーを再起動するたびに、Tangサーバーからキーを取得することで、暗号化されたディスクが自動的に復号化されてマウントされるようになります。
なんらかの理由でTangサーバーが利用できない場合は、パーティションを復号化してマウントするために、パスフレーズを手動で提供する必要があります。