プロファイル適用性: レベル1
読み取り専用ポートを無効にします。
Kubeletプロセスは、メインのKubelet APIに加えて読み取り専用のAPIを提供します。この読み取り専用APIには認証されていないアクセスが提供されており、クラスタに関する潜在的に機密情報を取得する可能性があります。
![]() |
注意デフォルト値についてはAmazon EKSのドキュメントを参照してください。
|
影響
読み取り専用ポートの削除には、それを使用していたすべてのサービスをメインのKubelet APIを使用するように再構成する必要があります。
監査
- Kubelet構成ファイルを使用している場合、
authentication: anonymous: enabled
が0に設定されていることを確認してください。 - 該当するノードにSSH接続します。各ノードで以下のコマンドを実行して、適切なKubelet設定ファイルを見つけてください。
ps -ef | grep kubelet
上記のコマンドの出力は、Kubeletの設定ファイルの場所である--config/etc/kubernetes/kubelet/kubelet-config.json
に似たものを返すはずです。 - Kubeletの設定ファイルを開く:
cat /etc/kubernetes/kubelet/kubelet-config.json
--read-only-port
引数が存在し、0に設定されていることを確認してください。--read-only-port
引数が存在しない場合、--config
で指定されたKubelet設定ファイルがあることを確認してください。ファイルに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