メインコンテンツまでスキップ
適用対象:
DuoKey Cockpit v2KMIP サーバーエンドポイント

認証とトランスポート​

クライアントトラフィックは KMIP ポート(デフォルト 5696)上の TLS であり、クライアント認証はオプションの相互 TLS です。

1

検証済み mTLS を強制する

信頼できるクライアント CA バンドルを構成し、提示されたクライアント証明書が検証され、その ID を認可のために信頼できるようにします。

2

クライアント証明書を必須にする

エンドポイントで require_client_cert をオンにし、許可する認証方式を mtls(およびクライアントが必要とする場合のみ token)に保ちます。

3

匿名アクセスを避ける

本番エンドポイントで匿名アクセスを有効にしないでください。簡単な接続性確認にのみ使用します。

信頼できるクライアント CA バンドル(Cockpit サーバー)BASH
# PEM bundle of client-CA certificates the KMIP listener will trust.
KMIP_CLIENT_CA_BUNDLE=/etc/duokey/kmip/client-ca-bundle.pem
本番環境はフェイルクローズ

KMIP_CLIENT_CA_BUNDLE がない場合、提示されたクライアント証明書は CA 検証なしで受け入れられ、信頼してはなりません。本番環境ではリスナーはバンドルが構成されるまで起動を拒否します — 必ず設定してください。

最小権限のエンドポイントポリシー​

各エンドポイントは独自のポリシーを持ちます。接続するシステムが必要とするものだけにスコープを絞ってください。

ControlRecommendation
許可する操作クライアントが使用する操作のみを付与します(例: Create、Get、Activate、Encrypt/Decrypt)。許可されていない操作は OperationNotSupported を返します。
許可するオブジェクトタイプ使用中のオブジェクトタイプ — 通常は SymmetricKey — に制限します。
目的ごとに 1 エンドポイント広くスコープされた 1 つのエンドポイントを共有するのではなく、システムや環境ごとに個別のエンドポイントをプロビジョニングします。
Cockpit におけるロールベースのアクセス

Cockpit のオペレーターは Operations.Kmip 権限(表示、作成、更新、削除、テスト)によって管理されます。管理権限は、それを必要とするロールにのみ付与してください。

監査​

エンドポイントで監査ログを有効にして、すべての KMIP 操作が記録されるようにし、KMIP メニューのエンドポイントの Operations タブから確認します。認証失敗の繰り返しや予期しない操作に注意してください。

鍵の衛生管理​

PracticeDetail
AES-256 を使用するデフォルトかつ推奨される共通鍵サイズ。HMAC 鍵は 256 ビット以上にすべきです。
意図的に有効化する鍵は有効化されるまで PreActive です。鍵が使用可能な状態になったときにのみ有効化してください。
ReKey でローテーションするReKey で鍵をロールします。これは新しい識別子の下で新しい素材を生成し、それを以前の鍵にリンクするため、既存データを引き続き復号できます。
Destroy の前に Revoke する運用停止した鍵を Destroy する前に、Revoke で Deactivated(または Compromised)に移行します。Destroy は取り消せません。
共通鍵のみ

サーバーは共通鍵(AES、HMAC)を生成します。RSA または EC 鍵ペアは生成せず、署名、アーカイブ、鍵エクスポートの操作も提供しません — 統合は共通鍵管理を中心に計画してください。

保存時の鍵素材の保護​

鍵素材は Cockpit データベースに 保存時に暗号化 されて格納され、プラットフォーム暗号鍵の下で AES-256-GCM によりシールされます — これは vault 資格情報に使用されるのと同じ保護です。

プラットフォーム暗号鍵とデータベースを保護する

保存された KMIP 鍵のセキュリティは、プラットフォーム暗号鍵に依存します。それを保護し、Cockpit データベースへのアクセスを制限し、両方をバックアップおよびリカバリ計画に含めてください。プラットフォーム鍵を失うと、保存された鍵素材を復号できなくなります。

証明書のライフサイクル​

  • KMIP リスナーは Cockpit の HTTPS エンドポイントと同じ TLS 証明書 を提示します — その証明書の更新は Cockpit 運用の一部として管理してください。
  • クライアント 証明書を定期的にローテーションし、運用停止したクライアント CA の信頼をバンドルから削除してください。

本番前の検証​

組み込みの Client Simulator を使用して、本番システムを接続する前に、エンドポイントに対してライフサイクル全体(作成 → 有効化 → 取得 → 暗号化/復号 → 失効 → 破棄)を実行します。相互運用性は、OASIS リファレンスクライアントである PyKMIP でも検証されています。

本番チェックリスト​

AreaBefore go-live
mTLSクライアント CA バンドルが構成済み。require_client_cert がオン。匿名アクセスがオフ。
ポリシー許可する操作とオブジェクトタイプがクライアントに合わせてスコープされている。
監査エンドポイントで監査ログが有効になっている。
鍵デフォルトアルゴリズムが AES-256。有効化とローテーションの方針が合意されている。
バックアップCockpit データベースとプラットフォーム暗号鍵がバックアップに含まれている。
検証エンドポイントが Client Simulator で実行済み。エンドポイントが Running である。

関連リソース​