オープンソースの Kubernetes の kubelet で使用される安全でない読み取り専用ポート 10255 は、Pod とコンテナを悪意のある攻撃にさらすリスクがあります。このセキュリティリスクを軽減するため、Container Service for Kubernetes (ACK) は、Kubernetes 1.26 以降を実行する ACK クラスターにおいて、デフォルトでは kubelet の読み取り専用ポート 10255 を開かなくなりました。代わりに、kubelet は認証ポート 10250 を使用します。
リスクの免責事項
攻撃者はノードに侵入し、kubelet の読み取り専用ポート 10255 を利用してノード上のアプリケーションに関する情報を取得し、情報漏洩を引き起こす可能性があります。この問題を解決するため、ACK は、Kubernetes 1.26 以降を実行する ACK クラスターにおいて、デフォルトでは kubelet の読み取り専用ポート 10255 を開かなくなりました。代わりに、kubelet は認証ポート 10250 を使用します。
クラスターが 1.26 より前の Kubernetes バージョンを実行している場合は、このトピックの手順に従って、関連するモニタリングコンポーネントを更新し、kubelet の読み取り専用ポート 10255 を手動で閉じることを推奨します。詳細については、「関連するモニタリングコンポーネントを更新し、kubelet の読み取り専用ポート 10255 を手動で閉じる」をご参照ください。
アプリケーションでポート 10255 を使用している、または使用する予定がある場合は、潜在的なセキュリティリスクを評価することを推奨します。Kubernetes 1.26 以降では、kubelet パラメーターを変更してポート 10255 を開くことができます。詳細については、「kubelet の読み取り専用ポート 10255 を手動で開く」をご参照ください。
影響範囲
Kubernetes 1.26 より前のバージョンを実行する ACK クラスターで、クラスター内の kubelet がポート 10255 を使用している、または使用する予定があるものが影響を受けます。
関連するモニタリングコンポーネントの更新と kubelet の読み取り専用ポート 10255 の手動でのクローズ
お使いのクラスターの Kubernetes バージョンが 1.26 より前の場合、関連するモニタリングコンポーネントを更新し、クラスター内の kubelet の読み取り専用ポート 10255 を手動で閉じることを推奨します。
注意事項
クラスターに仮想ノード (ack-virtual-node) が含まれている場合、または Kubernetes 1.26 より前のバージョンを実行する ACK サーバーレスクラスターをお使いの場合は、チケットを送信し、テクニカルサポートにポート 10255 を閉じるよう依頼してください。
操作手順
ACK コンソールにログインし、左側のナビゲーションペインで [クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックし、左側のナビゲーションペインで を選択します。
関連するコンポーネントを見つけて更新します。
metrics-server を 0.3.9.4-ff225cd-aliyun 以降に更新します。クラスターに metrics-server がインストールされていない場合、操作は不要です。
ack-arms-prometheus がインストールされている場合は、コンポーネントを 1.1.15 以降に更新します。クラスターに ack-arms-prometheus がインストールされていない場合、操作は不要です。
説明この更新によって、クラスターのモニタリング性能が低下したり、アプリケーションに影響が出たりすることはありません。
左側のナビゲーションペインで を選択します。ノードプールの一覧で、次の手順を実行して、すべてのクラスターノードでポート 10255 を閉じます。
ノードプールの [操作] 列で、 を選択します。
[カスタムパラメーター] セクションで、[readOnlyPort] を
0に設定し、[送信] をクリックしてポート 10255 を閉じます。
重要ポート 10255 を閉じるときは、ノード上の kubelet 設定ファイル
/etc/kubernetes/kubelet-customized-args.confを手動で変更しないでください。ACK コンソールで kubelet を設定すると、この設定ファイルは自動的に上書きされます。
kubelet の読み取り専用ポート 10255 を手動で開く
アプリケーションでポート 10255 を使用している、または使用する予定がある場合は、潜在的なセキュリティリスクを評価することを推奨します。Kubernetes 1.26 以降では、kubelet パラメーターを変更してポート 10255 を開くことができます。
操作手順
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックし、左側のナビゲーションペインで を選択します。
ノードプールの [操作] 列で、次の手順を実行して、すべてのクラスターノードでポート 10255 を開きます。
を選択します。
[カスタムパラメーター] セクションで、[readOnlyPort] を
10255に設定し、[送信] をクリックしてポート 10255 を開きます。