ビュー:
プロファイル適用性: レベル1
読み取り専用ポートを無効にする。
Kubeletプロセスは、メインのKubelet APIに加えて読み取り専用のAPIを提供します。この読み取り専用APIには認証されていないアクセスが提供されており、クラスタに関する潜在的に機密性のある情報を取得する可能性があります。
注意
注意
デフォルト値についてはGKEドキュメントを参照してください。

影響

読み取り専用ポートの削除には、それを使用していたサービスをメインのKubelet APIを使用するように再構成する必要があります。

監査

Kubelet設定ファイルを使用している場合、authentication: anonymous: enabled0に設定されていることを確認してください。
  1. まず、関連するノードにSSH接続します。
  2. 各ノードで次のコマンドを実行して、適切なKubelet設定ファイルを見つけてください。
    ps -ef | grep kubelet
  3. 上記のコマンドの出力は、Kubeletの設定ファイルの場所である--config /etc/kubernetes/kubelet/kubelet-config.jsonに類似したものを返すはずです。
  4. Kubeletの設定ファイルを開く:
    cat /etc/kubernetes/kubelet/kubelet-config.json
  5. --read-only-port引数が存在し、0に設定されていることを確認してください。--read-only-port引数が存在しない場合は、--configで指定されたKubelet設定ファイルがあることを確認してください。
  6. ファイルにreadOnlyPortエントリがある場合、それが0に設定されていることを確認してください。

修復

Kubeletの設定ファイルを変更する場合、kubelet-config.jsonファイル/etc/kubernetes/kubelet/kubelet-config.jsonを編集し、以下のパラメータを0に設定してください。
"readOnlyPort": 0
実行可能な引数を使用する場合、各ワーカーノードのkubeletサービスファイル/etc/systemd/system/kubelet.service.d/10-kubelet-args.confを編集し、KUBELET_ARGS変数文字列の末尾に以下のパラメータを追加してください。
--read-only-port=0
各修復について:
お使いのシステムに基づいて、kubeletサービスを再起動し、ステータスを確認してください。
systemctl daemon-reload
systemctl restart kubelet.service
systemctl status kubelet -l