由于社区版Kubernetes的只读容器监控透出存在信息泄露风险,阿里云容器服务ACK 1.26及以上版本的集群已不再默认开放kubelet容器监控只读端口(10255),后续统一使用鉴权安全端口(10250)。
风险申明
在被攻破集群节点后,社区版Kubernetes默认开放的kubelet容器监控只读端口(10255)可能会被获取部分应用信息,存在信息泄露风险。因此,容器服务ACK 1.26及以上版本的集群不再默认开放kubelet容器监控只读端口(10255),后续统一使用鉴权安全端口(10250)。
若您的集群初始版本低于1.26,请您参照本文内容升级迁移监控组件,并手动关闭kubelet只读端口(10255)。具体操作,请参见升级迁移监控组件并手动关闭kubelet只读端口(10255)。
若您正在使用或计划依赖kubelet只读端口(10255),请充分了解并知悉数据安全风险。了解后,再按需在1.26及以上版本的集群中通过kubelet参数手动开启只读端口(10255)。具体操作,请参见手动开启kubelet只读端口(10255)。
影响范围
低于1.26版本的ACK集群,且正在使用或计划依赖kubelet只读端口(10255)。
升级迁移监控组件并手动关闭kubelet只读端口(10255)
如果您的集群初始版本低于1.26,请升级迁移监控组件,并手动关闭kubelet只读端口(10255)。
注意事项
若您的集群存在虚拟节点(ack-virtual-node),或者集群为版本低于1.26的ACK Serverless集群,请提交工单联系容器服务技术人员关闭10255端口。
操作步骤
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
定位并升级相关组件。
metrics-server组件:升级至v0.3.9.4-ff225cd-aliyun及以上版本。若您未安装,则无需处理。
ack-arms-prometheus组件:若您的集群已安装ack-arms-prometheus组件,升级至1.1.15及以上版本。若您未安装,则无需处理。
说明此升级过程不会对集群、应用和现有监控能力产生影响。
在左侧导航栏,选择
,在节点池列表,按照以下步骤关闭集群下所有节点池的10255端口。在操作列,单击节点池对应的
。在自定义参数区域,修改参数readOnlyPort的值为
0
,然后单击提交,完成10255端口的关闭。
重要关闭10255端口时,请勿在节点上手动修改kubelet参数配置文件
/etc/kubernetes/kubelet-customized-args.conf
。控制台上节点池kubelet的配置修改会将此配置文件覆盖。
手动开启kubelet只读端口(10255)
若您正在使用或计划依赖kubelet只读端口(10255),请充分了解并知悉数据安全风险。了解后,按需在1.26及以上版本的集群中通过kubelet参数手动开启只读端口(10255)。
操作步骤
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在节点列表的操作列,在节点池列表,按照以下步骤开启集群下所有节点池的10255端口。
单击节点池对应的
。在自定义参数区域,修改参数readOnlyPort的值为
10255
,然后单击提交,完成10255端口的开启。