容器计算服务 ACS(Container Compute Service)提供了工作负载配置的巡检功能,帮助您扫描集群中工作负载配置的安全隐患。执行巡检任务后,ACS会生成巡检报告,您可以根据报告结果查看并处理集群风险项,实时了解集群健康状态。
前提条件
已创建ACS集群。具体操作,请参见创建ACS集群。
如果您当前使用的是RAM用户,请确保已参见下方内容完成RAM授权和RBAC授权。
RAM授权
请完成容器计算服务ACS配置巡检页面的RAM授权操作,确保当前RAM用户拥有操作当前集群配置巡检页面的权限,否则会出现权限不足无法操作配置巡检页面功能的问题。具体操作,请参见为RAM用户或RAM角色授予RAM权限。
如果您还需要使用巡检报告功能,请完成日志服务指定
logproject
(当前集群logtail-ds组件所使用的logproject
)的RAM授权,确保当前RAM用户拥有日志服务指定logproject
的数据读取权限,否则会出现权限不足无法查看巡检报告的问题。具体操作,请参见RAM自定义授权示例。RBAC授权
请完成容器计算服务ACS配置巡检页面涉及资源的RBAC授权,授予RAM用户指定集群的管理员权限,以确保RAM用户拥有操作配置巡检页面中涉及的Kubernetes资源的权限。具体操作,请参见配置RAM用户或RAM角色RBAC权限。
启用集群工作负载配置巡检功能
登录容器计算服务控制台,在左侧导航栏选择集群。
在集群页面,单击目标集群名称,然后在左侧导航栏,选择安全管理 > 配置巡检。
可选:安装并升级巡检组件。
如果您首次使用未安装巡检组件,请按照页面提示安装security-inspector组件。若巡检组件不是最新版本,请按照页面提示将组件升级至最新版本。组件安装完成后,您也可以在集群信息页面的概览页签,单击安全巡检进入配置巡检页面。
关于security-inspector组件的介绍和变更记录,请参见security-inspector。
在配置巡检页面右上方,单击立即执行巡检,等待巡检完成后,在巡检详情页签的操作列,单击详情查看巡检详情。
重要为了更好地提升系统的稳定性和高可用性,同时确保业务的连续性和用户体验,请在业务低峰期执行巡检操作。
可选:在配置巡检页面右上方,单击巡检配置,开启或禁用定期自动执行配置巡检的功能以及配置巡检时执行的检查项。
巡检详情
巡检详情页面通过表格化的方式展示不同工作负载的详细巡检结果,主要包括以下功能:
支持按照是否有风险、命名空间、工作负载类别等条件对结果进行过滤展示工作负载的巡检通过项和风险项数量。
展示巡检结果的各个检查项的详细信息,包括Pod和容器维度的检查状态(已通过、未通过)、检查项详细说明以及加固建议。如有未通过的检查项无需处理,您可以将其加入白名单。
查看工作负载的YAML文件。
巡检报告
巡检报告中主要展示最近执行的巡检扫描结果,主要包括以下几类信息:
扫描结果概览,包括总的检查条目数、检查各个资源项数目及百分比、整体的健康度。
各大类扫描结果统计,包括报告健康检查、镜像、网络、资源、安全等大类的结果。
各个工作负载配置的详细扫描结果,包括资源类别、资源名称、命名空间、检查类型、检查项、检查结果等内容。
检查项
配置巡检功能会扫描并展示以下检查项的扫描结果。
检查项名称 | 检查的内容及安全风险 | 修复建议 |
hostNetworkSet | 通过检查工作负载的Pod Spec中是否配置了 | 修改Pod Spec,删除 示例: |
hostIPCSet | 通过检查工作负载的Pod Spec中是否配置了 | 修改Pod Spec,删除 示例: |
hostPIDSet | 通过检查工作负载的Pod Spec中是否配置了 | 修改Pod Spec,删除 示例: |
hostPortSet | 通过检查工作负载的Pod Spec中是否配置了 | 修改Pod Spec,删除 示例: |
runAsRootAllowed | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
runAsPrivileged | 通过检查工作负载的Pod Spec中是否配置了 | 修改Pod Spec,删除 示例: |
privilegeEscalationAllowed | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
capabilitiesAdded | 通过检查工作负载的Pod Spec中的 | 修改Pod Spec,根据实际需求只添加必需的Linux Capabilities,删除不需要的Linux Capabilities。 不依赖额外Linux Capabilities,删除所有不需要的Linux Capabilities。示例: 只添加必需的Linux Capabilities,删除所有不需要的Linux Capabilities。示例: |
notReadOnlyRootFileSystem | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: 如果需要修改某个目录下的文件,可以通过 示例: |
cpuRequestsMissing | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
cpuLimitsMissing | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
memoryRequestsMissing | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
memoryLimitsMissing | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
readinessProbeMissing | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
livenessProbeMissing | 通过检查工作负载的Pod Spec中是否未配置 | 修改Pod Spec,增加 示例: |
tagNotSpecified | 通过检查工作负载的Pod Spec中的 | 修改Pod Spec,修改 示例: |
anonymousUserRBACBinding | 通过检查集群内的RBAC(Role-based access control)绑定找出配置了匿名用户访问权限的配置项。如果配置了允许匿名用户访问集群资源的配置项,则存在被恶意匿名用户窃取集群敏感信息、攻击和入侵集群的风险。 | 修改扫描出来的RBAC绑定,根据实际情况删除允许匿名用户访问集群资源的权限配置项。 示例: |
事件
事件类型 | 事件名称 | 事件内容示例 | 事件说明 | 处理措施 |
Normal | SecurityInspectorConfigAuditStart | Start to running config audit | 开始执行巡检任务。 | 无需处理。 |
Normal | SecurityInspectorConfigAuditFinished | Finished running once config audit | 巡检任务执行完成。 | 无需处理。 |
Warning | SecurityInspectorConfigAuditHighRiskFound | 2 high risks have been found after running config audit | 巡检执行完之后,发现部分工作负载存在未修复的高风险检查项。 |
|