- ネットワーク・バインド・ディスク暗号化の有効化
- Clevisを使用した自動暗号化と復号化の実行
- Clevisのインストールとテスト
Clevisのインストールとテスト
次の手順では、Oracle LinuxインスタンスにClevisクライアント・ソフトウェアをインストールする方法、Tangサーバーが提供するキーを使用して基本的な暗号化タスクを実行することによってClevisソフトウェアをテストする方法、および既存のinitrdブート・イメージを更新して、ブート時にLUKS暗号化されたパーティションを自動的に復号化するためにClevisクライアントと統合する方法について説明します。
clevis
パッケージおよび関連依存関係をインストールします。sudo dnf install -y clevis clevis-luks clevis-udisks2 clevis-dracut
各パッケージには異なる関数があります。
-
clevis
は、Tangサーバーと通信できる基本的な復号化クライアントを提供します -
ClevisとLUKSを統合してディスクまたはボリュームの自動復号化を実行するには、
clevis-luks
が必要です -
Clevisをリムーバブル・ストレージに使用されるudisksフレームワークと統合するには、
clevis-udisks2
が必要です。これにより、Clevisがリムーバブル・ディスクでLUKS復号化の実行をトリガーできます -
早期ブート統合のためにClevisツールをinitrdイメージに含めることができるように、ClevisをDracutと統合するには、
clevis-dracut
が必要です
-
- Clevisのテスト
Clevisが、Tangサーバーによって提供されるキーを使用してデータを暗号化できることをテストするには、次の手順に従います:
- 暗号化するコンテンツを含むプレーン・テキスト・ファイルを作成します。
echo "this is my secret message" > unencrypted.txt
- 信頼できるネットワーク上で設定および構成したTangサーバーを使用してプレーン・テキスト・ファイルを暗号化し、出力を別のファイルにパイプします。また、このコマンドでは署名キーを信頼するよう求められます。
clevis encrypt tang '{"url":"http://tang-server.example.org:7500"}' < unencrypted.txt > secret.jwe ... The advertisement contains the following signing keys: i9sPMu_sn6vMjzyJm8ZALj7opDE Do you wish to trust these keys? [ynYN] Y
Tangサーバーは、プロビジョニング・プロセス中にデータの暗号化に使用される強力な暗号化キーのリストアに使用される署名キーを指定して、リクエストに応答します。
- clevis encryptコマンドによって返される暗号化コンテンツを調べます。
cat secret.jwe eyJhbGciOiJFQ0RILUVTIiwiY2xldmlzIjp7InBpbiI6InRhbmciLCJ0YW5n Ijp7ImFkdiI6eyJrZXlzIjpbeyJhbGciOiJFQ01SIiwiY3J2IjoiUC01MjEi LCJrZXlfb3BzIjpbImRlcml2ZUtleSJdLCJrdHkiOiJFQyIsIngiOiJBUVNs ... bTJIWkpva19ETXZXTzVBejN0Zzg0dzBRd01xam9pczVnVFNzZlhTbERyNUVI
- 暗号化されたファイル内のデータを復号化して、復号化が可能であることを確認します。
cat secret.jwe |clevis decrypt this is my secret message
clevis decryptコマンドは、暗号化プロセス中に格納されたメタデータを使用して、POSTリクエストからTangサーバーに返された情報によってデータを復号化するために使用されるキーを導出します。
- 暗号化するコンテンツを含むプレーン・テキスト・ファイルを作成します。
- Clevis統合用のinitrdブート・イメージの更新
早期ブート復号化操作のためにClevis操作をinitrdブート・イメージに導入できるように、
clevis-dracut
パッケージがインストールされます。このパッケージをインストールしたら、dracutコマンドを実行して既存のinitrdブート・イメージを再構築し、Clevisと統合できます:sudo dracut -f
この手順では、Tangサーバーがアクセス可能である場合、ブート時にClevisがLUKS暗号化パーティションをロック解除できるようにします。ブート時にLUKSパスフレーズを要求されますが、パスフレーズが指定されず、ClevisがTangサーバーに接続できる場合、LUKSはデバイスをロック解除でき、パスフレーズ・プロンプトは一定期間の経過後に閉じます。