帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 分布式云容器平台ACK One
  4. 操作指南
  5. 注册集群
  6. 安全管理
  7. 使用配置巡检功能检查注册集群Workload安全隐患

使用配置巡检功能检查注册集群Workload安全隐患

  • 安全管理
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

ACK提供巡检功能,帮助您扫描集群中工作负载配置的安全隐患。执行巡检任务后,系统会生成巡检报告,您可以根据报告结果查看并处理风险项,实时了解集群中工作负载的健康状态。

前提条件

  • 您已通过容器服务Kubernetes版接入一个注册的Kubernetes集群。具体操作,请参见创建注册集群。

  • 您已安装Logtail组件。具体操作,请参见步骤二:安装logtail-ds组件。

执行巡检

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择安全管理 > 配置巡检。

  3. 可选:按照页面提示安装并升级巡检组件。

    巡检组件security-inspector本身不计费,但会占用您的Pod资源。组件介绍及变更记录,请参见security-inspector。

  4. 执行巡检。

    重要
    • 请在业务低峰期执行巡检操作。

    • 默认巡检所有支持的检查项,您可以在配置巡检页面右上方,单击巡检配置,然后配置巡检时执行的检查项。更多信息,请参见检查项。

    • 立即执行:在配置巡检页面右上方,单击立即执行巡检。

    • 定期执行:在配置巡检页面右上方,单击巡检配置,然后选中定期巡检,并配置巡检周期。

  5. 等待巡检完成后,在巡检详情页签,单击巡检结果对应操作列中的详情,查看检查结果。

巡检详情

巡检详情页面通过表格化的方式展示不同工作负载的详细巡检结果,主要包括以下功能:

  • 支持按照是否有风险、命名空间、工作负载类别等条件对结果进行过滤展示工作负载的巡检通过项和风险项数量。

  • 展示巡检结果的各个检查项的详细信息,包括Pod和Container维度的检查状态(已通过、未通过)、检查项详细说明以及加固建议。如有未通过的检查项无需处理,您可以将其加入白名单。

  • 查看工作负载的YAML文件。

检查项

配置巡检功能会扫描并展示以下检查项的扫描结果。

检查项ID

检查项

检查的内容及安全风险

修复建议

hostNetworkSet

禁止容器共享主机的网络命名空间

通过检查Workload的Pod spec中是否配置了hostNetwork: true,检查是否配置了共享使用主机的网络namespace。如果配置了,存在Pod中容器攻击主机网络、嗅探主机网络数据的风险。

修改Pod spec,删除hostNetwork字段。

示例:1

hostIPCSet

禁止容器共享主机的IPC命名空间

通过检查Workload的Pod spec中是否配置了hostIPC: true,检查是否配置了共享使用主机的IPC namespace。如果配置了,存在Pod中容器攻击主机上进程、嗅探主机上进程数据的风险。

修改Pod spec,删除hostIPC字段。

示例:2

hostPIDSet

禁止容器共享主机的PID命名空间

通过检查Workload的Pod spec中是否配置了hostPID: true,检查是否配置了共享使用主机的PID namespace。如果配置了,存在Pod中容器攻击主机上进程、采集主机上进程数据的风险。

修改Pod spec,删除hostPID字段。

示例:3

hostPortSet

禁止容器内进程监听节点主机端口

通过检查Workload的Pod spec中是否配置了hostPort,检查是否配置了把容器中监听的端口映射到主机指定端口上。如果配置了,存在挤占主机可用端口以及被非预期的请求方请求容器端口的风险。

修改Pod spec,删除hostPort字段。

示例:4

runAsRootAllowed

禁止以root用户启动容器

通过检查Workload的Pod spec中是否未配置runAsNonRoot: true,检查是否未配置使用非root用户运行容器。如果未配置,存在被容器中的恶意进程入侵用户应用、入侵主机甚至入侵整个集群的风险。

修改Pod spec,增加runAsNonRoot: true。

示例:5

runAsPrivileged

禁止以特权模式启动容器

通过检查Workload的Pod spec中是否配置了privileged: true,检查是否配置了允许以特权模式运行容器。如果配置了,存在被容器中的恶意进程入侵用户应用、入侵主机甚至入侵集群的风险。

修改Pod spec,删除privileged字段。

示例:6

privilegeEscalationAllowed

禁止容器内子进程拥有提升权限的能力

通过检查Workload的Pod spec中是否未配置allowPrivilegeEscalation: false,检查是否未配置禁止容器中的子进程拥有比父进程更高的权限。如果未配置,存在被容器中的恶意进程实现越权操作的风险。

修改Pod spec,增加allowPrivilegeEscalation:false字段。

示例:7

capabilitiesAdded

禁用非必需的Linux Capabilities

通过检查Workload的Pod spec中的capabilities字段,检查是否配置了允许容器中的进程拥有SYS_ADMIN、NET_ADMIN、ALL等特权Linux Capabilities。如果配置了,存在被容器中的恶意进程通过这些特权入侵用户应用、入侵或破坏组件和集群的风险。

修改Pod spec,根据实际需求只添加必需的Linux Capabilities,删除不需要的Linux Capabilities。

不依赖额外Linux Capabilities,删除所有不需要的Linux Capabilities。示例:

8

只添加必需的Linux Capabilities,删除所有不需要的Linux Capabilities。示例:9

notReadOnlyRootFileSystem

开启容器内的文件系统只读功能

通过检查Workload的Pod spec中是否未配置readOnlyRootFilesystem: true,检查是否未配置容器中的文件系统是不可修改的。如果未配置,则存在被容器中的恶意进程恶意修改系统文件的风险。

修改Pod spec,增加readOnlyRootFilesystem: true,如果有需要修改某个目录下文件的需求,可以通过volumeMounts实现。

示例:

10

如果需要修改某个目录下的文件,通过volumeMounts字段实现。

示例:11

cpuRequestsMissing

配置运行容器所需的最少CPU资源

通过检查Workload的Pod spec中是否未配置resources.requests.cpu字段,可以检查是否未配置运行容器所需的最少CPU资源。如果未配置,则Pod有被调度到资源紧张的节点上的风险,可能会出现容器内进程运行缓慢的情况。

修改Pod spec,增加resources.requests.cpu字段。

示例:

12

cpuLimitsMissing

限制运行容器可使用的最大CPU资源

通过检查Workload的Pod spec中是否未配置resources.limits.cpu字段,检查是否未配置运行容器所需的最大CPU资源。如果未配置,则存在被容器内的异常进程消耗大量节点资源,甚至把整个节点或集群的资源消耗殆尽的风险。

修改Pod spec,增加resources.limits.cpu字段。

示例:

13

memoryRequestsMissing

配置运行容器所需的最少内存资源

通过检查Workload的Pod spec中是否未配置resources.requests.memory字段,检查是否未配置运行容器所需的最少内存资源。如果未配置,Pod有被调度到资源紧张的节点上的风险,可能会出现容器内进程OOM的风险。

修改Pod spec,增加resources.requests.memory字段。

示例:

14

memoryLimitsMissing

限制容器可使用的最大内存资源

通过检查Workload的Pod spec中是否未配置resources.limits.memory字段,检查是否未配置运行容器所需的最大内存资源。如果未配置,则存在被容器内的异常进程消耗大量节点资源,甚至把整个节点或集群的资源消耗殆尽的风险。

修改Pod spec,增加resources.limits.memory字段。

示例:

15

readinessProbeMissing

配置容器就绪探针

通过检查Workload的Pod spec中是否未配置readinessProbe字段,检查是否未配置检测容器内应用能否正常处理请求的探针。如果未配置,则存在容器内应用异常无法处理请求时仍旧有请求发送,继而导致业务异常的风险。

修改Pod spec,增加readinessProbe字段。

示例:

16

livenessProbeMissing

配置容器存活探针

通过检查Workload的Pod spec中是否未配置livenessProbe,检查是否未配置检测容器内应用是否出现异常需要重启容器的探针。如果未配置,存在容器内应用异常需要重启容器才能恢复时未及时重启导致业务异常的风险。

修改Pod spec,增加livenessProbe字段。

示例:

17

tagNotSpecified

容器使用明确的镜像版本

通过检查Workload的Pod spec中的image字段的值是否未包含镜像Tag或者使用了latest作为镜像Tag,检查是否未配置运行容器时使用指定Tag的容器镜像。如果未配置,存在运行容器时运行了非预期的容器镜像版本导致业务异常的风险。

修改Pod spec,修改image字段,使用指定的镜像Tag,并且不要使用latest作为镜像Tag。

示例:

18

anonymousUserRBACBinding

禁止匿名用户访问集群

通过检查集群内的RBAC(Role-based access control)绑定找出配置了匿名用户访问权限的配置项。如果配置了允许匿名用户访问集群资源的配置项,则存在被恶意匿名用户窃取集群敏感信息、攻击和入侵集群的风险。

修改扫描出来的RBAC绑定,根据实际情况删除允许匿名用户访问集群资源的权限配置项。

示例:

z-1

相关文档

  • Configure a Security Context for a Pod or Container

  • Configure Liveness, Readiness and Startup Probes

相关文章

在注册集群中配置容器安全策略(新版) 2025-04-18 18:12

注册集群能够提供更多符合K8s应用场景的策略规则,在规则配置上也更加灵活简单,帮助企业安全运维管理人员更好地使用策略治理相关能力。本文介绍如何在注册集群中安装策略治理组件及如何管理策略实例。 索引 背景信息</

在注册集群中安装和使用云安全中心 2025-04-18 18:12

云安全中心是一个实时识别、分析、预警安全威胁的统一安全管理系统,通过防勒索、防病毒、防篡改、镜像安全扫描、合规检查等安全能力,帮助您实现威胁检测、响应、溯源的自动化安全运营闭环,保护云上资产和本地服务器,同时满足监管合规要求。本文介绍如何在注册集群上安装和使用云安全中心。 前提条件

启用集群API Server审计功能 2025-04-18 18:12

审计(Auditing)产生于API Server内部,用于记录对Kubernetes API的请求以及请求结果。ACK集群提供API Server的审计日志,帮助集群管理人员排查“什么人在什么时间对什么资源做了什么操作”,可用于追溯集群操作历史、排查集群故障等,降低集群安全运维压力。

使用配置巡检功能检查注册集群Workload安全隐患 2025-04-18 18:12

ACK提供巡检功能,帮助您扫描集群中工作负载配置的安全隐患。执行巡检任务后,系统会生成巡检报告,您可以根据报告结果查看并处理风险项,实时了解集群中工作负载的健康状态。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1