最近、私たちはLinuxホストでTPMを設定する方法を見ました。起動時に grub パラメータとカーネルがチェックサムされ、チェックサムが期待どおりの場合、TPM モジュールはルートファイルシステムとシステムのキーブートを解凍します。改ざんされた場合、キーは開かず、コンピュータは起動しません。良くて安全です。
同様に、FreeIPAサーバーに機密情報(TLS証明書キーまたはTLS証明書自体など)を保存し、ホストが認証された後にのみホストに渡したいと思います。目的は、nginxウェブサイト(Google「NGINXを使用してSSL秘密鍵を安全に配布する」)で説明されているように、証明書をディスクに保存せずにNginx(または他のWebサーバー)に提供することです(RAMディスクも機能します) 。
また、SSH公開鍵を使用してファイルを暗号化する方法(Googleの「SSH鍵を使用したファイルの暗号化と復号化」)に関する記事を見つけました。気になりました。 。
ipa
簡単に言えば、既存のコマンドを使用してこれを実行し、ホスト上の/etc/krb5.keytab
ファイルを使用して作業を確認することで無人で実行できるようにする方法はありますか?
ありがとうございます!
編集:より具体的には、LetsEncryptで署名されたワイルドカードTLS証明書と対応する暗号化キー(その後、Nginxサーバーにロードできる)を含む文字列を手動で復号化することなく検索したいと思います。
- ステップ1:ホストが自動的にLDAPサーバーに認証するようにします(文字列が暗号化されている場合はオプション)。私はすでにそうしていますが、私のアプリケーションでどのように使用するのかわかりません。
- ステップ2:LDAPに保存されている文字列を取得する(jpegPhotoまたはオーディオでも、ホストオブジェクトに保存されている場合は別のプロパティにあります)
- ステップ3:文字列の復号化(1つの方法は、予期しない方法でSSHキーペアを使用することです)。https://www.bjornjohansen.com/encrypt-file-using-ssh-key。 Kerberosも同様の方法で使用できますか? )
- ステップ4:正しい位置にロープを置きます。 nginxのブログ記事ではtempfsファイルシステムのファイルの使用をお勧めしますが、私はカーネルキーチェーンを好みます。
- ステップ5:次の説明に従って設定されたNginxを起動します。https://www.nginx.com/blog/secure-distribution-ssl-private-keys-nginx/
FreeIPAはすでに証明書と連携しているので(参考文献を参照ipa help cert
)、任意の証明書(FreeIPA生成証明書とは対照的)を使用することはそれほど難しくないと予想しました。
編集^2:FreeIPAにはこのような秘密を処理する機能があることがわかりました。避難。関係のないLDAP属性にデータを入力する必要はなく、暗号化を実行する必要もなく、秘密をサービスプリンシパル、ユーザー、またはグループに関連付けることができます。ヘルプ(ipa help vault
)に記載されていますが、アルファベットの末尾にあるので、それまで読んだことはありません。彼らは「1つのCLIのほとんどの機能」を誇るためにAWSと競争しています。 :-)
ベストアンサー1
FreeIPAには、Vaultと呼ばれるこれらの秘密を処理する機能があることがわかりました。関係のないLDAP属性にデータを入力する必要はなく、暗号化を実行する必要もなく、秘密をサービスプリンシパル、ユーザー、またはグループに関連付けることができます。
ヘルプ(ipa help vault
)に記載されていますが、アルファベットの末尾にあるので、それまで読んだことはありません。 FreeIPAは、「ほとんどの機能を単一のCLIに含めること」を誇るためにAWSと競合しています。 :-)
まだ正確なCLIパラメータを特定する必要があるため、まだ回答として追加することを検討していません。