プロファイルの適用範囲: レベル 1
証明書を使用してKubelet認証を有効にする。
APIサーバからkubeletへの接続は、ポッドのログを取得したり、実行中のポッドに (kubectlを通じて) アタッチしたり、kubeletのポートフォワーディング機能を使用するために使用されます。これらの接続はkubeletのHTTPSエンドポイントで終了します。デフォルトでは、APIサーバはkubeletのサービング証明書を検証しないため、接続が中間者攻撃の対象となり、不信頼または公衆ネットワーク上での実行が安全ではありません。Kubelet証明書認証を有効にすることで、APIサーバがリクエストを送信する前にKubeletを認証できるようになります。
注意デフォルトでは、
clientCAFile は /etc/kubernetes/kubelet-ca.crt に設定されています。 |
影響
APIサーバおよびkubeletにTLSを構成する必要があります。
監査
OpenShift は、内部クラスターコンポーネントの証明書の統合管理を提供します。OpenShift 4 には、独立した信頼の連鎖を提供する複数の CA が含まれており、プラットフォーム
CA が誤って誤った目的に使用される証明書に署名することがないようにし、クラスターのセキュリティ状態を向上させます。
次のコマンドでクライアントCAファイルを検証できます:
for node in $(oc get nodes -ojsonpath='{.items[*].metadata.name}'); do oc get --raw /api/v1/nodes/$node/proxy/configz | jq '.kubeletconfig.authentication.x509.clientCAFile' done
すべてのノードが
clientCAFile
値として /etc/kubernetes/kubelet-ca.crt
を使用していることを確認してください。修復
None.
clientCAFile
の値を変更することはサポートされていません。