プロファイル適用性: レベル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を使用していることを確認してください。修復
なし。
clientCAFile値の変更はサポートされていません。
