LUKSでClevisを使用
LUKSで暗号化されているボリュームまたはデバイスの場合、ClevisをLUKSスロットにバインドできます。ClevisがLUKSスロットにバインドされると、ユーザーがLUKSパスフレーズの入力を求められるときに、ネットワーク・バインドの自動復号化がトリガーされます。
次の手順では、LUKSスロットに対してClevisをバインドおよびバインド解除し、ClevisがボリュームまたはデバイスのLUKSと統合されていることを確認し、Tangキーがローテーションされる場合はボリュームまたはデバイスのClevisを更新する方法について説明します。
ClevisをLUKSスロットにバインド
ClevisをLUKSスロットにバインドして、Tangサーバーを使用してLUKS暗号化デバイスをロック解除するには、clevis luks bindコマンドを実行します。このコマンドでは、Tangサーバーによって通知されるキーを信頼するように求められます。同様に、このコマンドはLUKSパスワードの入力を求めます。
コマンドを入力するときは、LUKSで暗号化されたデバイスへのパスを指定します。次の例では、システムはLVMを使用し、ルート・ボリュームはLUKSで暗号化されているため、デバイス・パスとして/dev/ol/rootが使用されます。/dev/sda1
などのブロック・デバイスを同様に使用できます。また、JSON文字列で、TangサーバーへのURLを指定する必要があります。
次の例を参照してください。
sudo clevis luks bind -d /dev/ol/root tang '{"url": "http://tang-server.example.org:7500"}'
...
The advertisement is signed with the following keys:
i9sPMu_sn6vMjzyJm8ZALj7opDE
Do you wish to trust the advertisement? [yN] y
Enter existing LUKS password:
この操作では、いくつかの手順が実行されます。
- Clevisは、プライマリLUKSキーと同じエントロピを持つ新しいキーを作成します。
- 新しいキーは、Tangキーを使用してClevisによって暗号化されます。
- Clevisは、LUKSヘッダーのTangサーバーに接続するためのトークンおよびメタデータを格納します。
- キーはLUKSで使用可能です。
Tangキー・ローテーションのためのClevisの更新
Tangサーバー管理者は、定期的にサーバーのTangキーをローテーションして、セキュリティを強化できます。これが発生した場合、ClevisはLUKSトークンを正しく復号化できなくなる可能性があり、新しいTangキーを使用して再生成する必要があります。ClevisがLUKSトークンの復号化に失敗した場合、ブート時にパスフレーズの入力を使用してLUKSに対して認証する必要があります。
Tangキーがローテーションされているかどうかを確認し、新しく暗号化されたトークンを再生成するには、次の手順を実行します。
トークンの再生成手順が機能しない場合は、オプションで既存のLUKSスロットからClevisをバインド解除すると再度バインドできます。