Kubernetes 集群开启审计日志的具体配置步骤主要取决于集群类型。对于托管集群(如阿里云 ACK、腾讯云 TKE),通常可在控制台的安全管理或审计页面直接开启,系统会自动安装日志采集组件。对于自建集群,需修改 kube-apiserver 的启动配置文件(如 kube-apiserver.yaml),添加审计策略文件路径、日志输出路径及保留策略等参数,并创建对应的审计策略 YAML 文件定义记录规则,最后重启 kube-apiserver 服务生效。配置时需注意审计级别选择,避免过度记录导致性能下降。
使用和管理容器内部操作审计功能收集并分析审计日志 - 容器服务 Kubernetes 版 ACK(ACK)- 阿里云帮助中心
步骤一:启用容器内部操作审计功能 可通过以下步骤开启容器内部操作审计功能。启用此功能后,将安装以下两个组件。日志采集组件:将审计日志收集到日志服务并创建默认的审计报表。ack-advanced-audit 组件:实现容器内操作审计。默认将在日志采集组件使用的日志 Project 中创建一个名为 advaudit-${cluster_id} 的日志库,用于保存审计日志。该日志库数据的保存时间为 180 天。如需修改日志保存时间,请参见管理 LogStore。容器服务管理控制台,在左侧导航栏选择集群列表。在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择安全管理>审计。在审计页面单击容器审计页签,然后单击开始安装。
【Kubernetes】开启审计日志策略 (Policy)
2、配置使用审计策略 # 备份 kube-apiserver.yaml cp/etc/kubernetes/manifests/kube-apiserver.yaml /etc/kubernetes/kube-apiserver.xml.bak # 修改,vi /etc/kubernetes/manifests/kube-apiserver.yaml(spec.container.- command) --audit-log-maxsize=100# 单个审计日志轮转前的最大大小 (MB),默认为 100MB --audit-log-maxage=10# 定义保留旧审计日志文件的最大天数,与 --audit-log-maxbackup 参数用于删除旧的审计日志文件 --audit-log-maxbackup=2# 定义保留的审计日志文件的最大数量 --audit-policy-file=/etc/kubernetes/logpolicy/policy.yaml# 审计日志的基本策略 --audit-log-path=/var/log/kubernetes/audit.log# 日志保留位置 # 配置挂载 --- volumeMounts: - mountPath: /etc/kubernetes/logpolicy/policy.yaml name: audit readOnly:true - mountPath: /var/log/kubernetes/ name: audit-log readOnly:false
Kubernetes 如何在 CentOS 上进行安全审计
以下是详细的步骤和建议:启用 Kubernetes 审计日志 修改 kube-apiserver 配置文件:编辑/etc/kubernetes/manifests/kube-apiserver.yaml 文件,添加或修改以下参数:--audit-policy-file=/etc/kubernetes/audit/audit-default-policy.yaml--audit-log-path=/var/log/audit/audit.log--audit-log-maxbackup=10--audit-log-format=json--audit-log-maxage=10--audit-log-maxsize=500 这些参数分别指定了审计策略文件的位置、审计日志文件的路径、最大备份数量、日志格式、最大保留时间以及单个日志文件的最大大小。创建和配置审计策略文件:创建/etc/kubernetes/audit/audit-default-policy.yaml 文件,定义审计策略。例如:apiVersion:audit.k8s.io/v1kind:Policyrules:-level:RequestResponseresources:-group:""resources:["pods"]verbs:["create","update","patch"] 这个策略记录了所有对 Pods 的创建、更新和补丁操作的请求和响应。重启 kube-apiserver 服务:应用配置更改后,重启 kube-apiserver 服务以使更改生效。
云原生|kubernetes|apiserver 审计日志的开启
简介:云原生|kubernetes|apiserver 审计日志的开启 审计日志是 kube-apiserver 中比较常见的一种加固手段,通过对每一次请求的行为进行审计,从而达到加固集群的目的,同时,审计日志还能够帮助我们 troubleshooting,因为每一次请求的内容都会被记录下来,如果请求的内容本身有问题,从而导致 api 返回 5xx 的错误,我们可以从审计日志中直接把报错信息抓出来给开发,帮助他们定位问题。但有一点特别需要注意,如果审计策略是不恰当的,什么都记录的,可能会造成集群的内存资源浪费 (审计日志会占用很多内存的) 审计日志记录功能会增加 API server 的内存消耗,因为需要为每个请求存储审计所需的某些上下文。内存消耗取决于审计日志记录的配置。审计记录最初产生于 kube-apiserver 内部。每个请求在不同执行阶段都会生成审计事件;这些审计事件会根据特定策略 被预处理并写入后端。策略确定要记录的内容和用来存储记录的后端。当前的后端支持日志文件和 webhook。如何正确的开启 apiserver 的审计日志?首先,我们需要一个审计策略文件,该文件是 yaml 格式的,此文件内容定义的是要抓取审计哪些内容。
FAQ
审计日志默认存储在哪里?
自建集群通常存储在 kube-apiserver 节点指定的本地路径(如/var/log/kubernetes/audit.log),托管集群则存储于云厂商提供的日志服务项目中。
审计策略文件的作用是什么?
审计策略文件定义了需要记录哪些事件以及应包含哪些数据,处理事件时将按顺序与规则列表进行比较,第一个匹配规则设置事件的审计级别。
开启审计日志对集群性能有何影响?
审计日志记录功能会增加 API server 的内存消耗,因为需要为每个请求存储审计所需的某些上下文,不当的策略可能造成集群内存资源浪费。