容器内部操作审计功能可以方便您审计组织内成员或应用程序进入容器后执行的命令操作。本文介绍如何使用容器内部操作审计功能,以及如何通过日志服务收集分析审计日志,并根据需求为审计日志设置自定义的告警规则。
计费说明
容器内部操作审计功能当前处于公测中,可以免费使用。开通容器内部操作审计功能后,使用日志服务SLS的相关功能,会产生相关费用。日志服务相关计费信息,请参见计费概述。
使用限制
集群类型:仅支持ACK集群Pro版、ACK集群基础版、ACK专有集群。
集群版本及操作系统限制:仅支持内核版本大于4.19的Alibaba Cloud Linux、Ubuntu、ContainerOS操作系统。
Alibaba Cloud Linux:集群版本为1.18及以上。
ContainerOS:集群版本为1.24及以上
Ubuntu:
集群版本为1.30及以上。如需升级集群,请参见手动升级集群。
目前不支持CPFS存储卷、镜像加速插件、安全加固等功能。
步骤一:启用容器内部操作审计功能
您可以通过安装logtail-ds组件和ack-advanced-audit组件启用容器内部操作审计功能。
logtail-ds组件:将审计日志收集到日志服务并创建默认的审计报表。
ack-advanced-audit组件:实现容器内操作审计。
容器内部操作审计功能启用后,默认将在logtail-ds组件使用的日志Project中创建一个名为advaudit-${cluster_id}的日志库,用于保存审计日志。该日志库数据的保存时间为180天。如需修改日志保存时间,请参见管理Logstore。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在组件管理页面,在日志与监控页签定位logtail-ds组件,在安全页签定位ack-advanced-audit组件,并按照页面提示完成安装。
步骤二:查看审计报表
容器内部操作审计功能启用后,默认将在日志Project下创建一个名为Kubernetes容器内部操作审计的报表。
登录日志服务控制台。
在Project列表区域,选择集群使用的日志Project,单击名称进入日志Project页面。
在页面左侧的图标栏单击仪表盘图标,然后单击Kubernetes容器内部操作审计查看审计报表内容。
查看进入Pod容器的次数以及相关Pod信息。
执行操作的Kubernetes操作账号信息、进入容器后执行的命令列表以及常见的高危列表。
步骤三:查看详细日志记录
您可以通过以下两种方式查看详细的日志记录。
在审计报表页面查看:适用于查看最近的单个事件的日志记录。
在日志库页面通过查询语句查看:适用于复杂场景,查看更多的历史信息以及历史事件。
在审计报表页面查看
在Kubernetes容器内部操作审计报表页面,通过单击风险程序操作列表区域的traceId和eventId表格列的链接,查看对应审计日志的详细信息。
单击traceId表格列的链接,可以查看单次进入容器后执行的所有操作命令的审计日志。
单击eventId表格列的链接,可以查看执行的单个命令的详细信息。
在日志库页面通过查询语句查看
在日志库页面,通过查询语句查看详细的审计日志记录。
登录日志服务控制台。
在Project列表区域,选择集群使用的日志Project,单击名称进入日志Project页面。
在 页签中,单击名为advaudit-${cluster_id}的日志库(Logstore)。
advaudit-${cluster_id}中,${cluster_id}为您的集群ID。
在输入框中输入查询和分析语句。
查询进入某个Pod的容器后执行的命令操作审计日志:输入* and k8s.pod.namespace: <namespace> and k8s.pod.name: <pod_name>,将<namespace>替换为Pod所在的命名空间,<pod_name>替换为Pod的名称。
查询执行指定程序的操作审计日志:输入* and process.name: <name>,将<name>替换为待查找的程序名称。
更多查询统计方式,请参见日志服务查询分析方法。
单击15分钟(相对),设置查询分析的时间范围。
单击查询/分析,查看查询分析结果。
(可选)步骤四:配置操作审计告警
通过日志服务的告警功能,您可以配置容器内部操作审计的实时告警,便于监控容器内关键的操作事件。告警方式支持钉钉机器人、自定义Webhook和通知中心。更多告警配置方式,请参见告警。
关闭容器内部操作审计功能
您可以通过卸载ack-advanced-audit组件关闭容器内部操作审计功能。
关闭容器内部操作审计功能,不会删除自动创建的advaudit-${cluster_id}日志库,您需要登录日志服务控制台手动删除该日志库,请参见删除Logstore。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在组件管理页面,单击日志与监控页签,找到ack-advanced-audit组件,单击组件右下方的卸载,按照页面提示完成卸载。
相关文档
关于ack-advanced-audit、logtail-ds组件的发布记录及说明,请参见ack-advanced-audit、Logtail发布历史。
API Server审计日志功能能够帮助集群管理人员排查“什么人在什么时间对什么资源做了什么操作”,请参见使用集群API Server审计功能。