証明書の信頼
プライベートCAによって署名されたサービング証明書を持つTLSサーバーに接続するようにクライアントを構成する場合、サーバーの検証のためにクライアントにCA証明書を提供する必要があります。ca.crt
には、信頼する必要がある証明書が含まれている可能性がありますが、ca.crt
にアクセスするために、**サーバーと同じ Secret
をマウントしないでください**。これは、
- その
Secret
には、サーバーの秘密鍵も含まれており、サーバーのみがアクセスできる必要があるためです。Secret
に含まれるサービング証明書と秘密鍵には、必要なPodのみがアクセスできるように、RBACを使用する必要があります。 - CA証明書の安全なローテーションは、古いCA証明書と新しいCA証明書の両方を同時に信頼できる必要があることに依存しています。詳細については、FAQ を参照してください。
クライアントを構成する際には、信頼するCA証明書を独立して選択し、フェッチする必要があります。CAを帯域外でダウンロードし、サーバーの秘密鍵と証明書を含む Secret
とは別に、Secret
または ConfigMap
に格納してください。
trust-manager を使用して、これらの証明書を管理し、複数の名前空間に自動的に配布できます。
これにより、サーバーのキーと証明書を含む Secret
の内容が改ざんされた場合、クライアントは侵害されたサーバーへの接続に失敗します。
同じ概念は、相互認証TLSのサーバーを構成する場合にも適用されます。サーバーに、クライアント証明書と秘密鍵を含むSecretへのアクセス権を与えないでください。