前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >企业安全建设SIEM之K8s日志审计策略

企业安全建设SIEM之K8s日志审计策略

作者头像
瓦都剋
发布2022-04-27 15:29:24
7020
发布2022-04-27 15:29:24
举报
文章被收录于专栏:安全泰式柑汁安全泰式柑汁

0x01 目的

通过日志可以达到以下目标:

  • 集群里发生的活动。
  • 活动的发生时间及发生对象。
  • 活动的触发时间、触发位置及观察点。
  • 活动的结果以及后续处理行为。

0x02 配置文件

Master节点开启日志审计,API Server配置文件的目录是/etc/kubernetes/manifests/kube-apiserver.yaml

配置

说明

audit-policy-file

审计日志配置策略文件,文件路径为:/etc/kubernetes/audit-policy.yml。

audit-log-path

审计日志输出路径为/var/log/kubernetes/kubernetes.audit。

audit-log-maxsize

单个审计日志最大内存为100 MB。

audit-log-maxbackup

审计日志最大分片存储10个日志文件。

audit-log-maxage

审计日志最多保存期为7天。

0x03 审计级别-level

参数

说明

None

不记录。

Metadata

记录请求的元数据(例如:用户、时间、资源、操作等),不包括请求和响应的消息体。

Request

除了元数据外,还包括请求消息体,不包括响应消息体。

RequestResponse

记录所有信息,包括元数据以及请求、响应的消息体。

0x04 审计阶段-stage

记录日志可以发生在不同的阶段,参考以下表格内容:

参数

说明

RequestReceived

一收到请求就记录。

ResponseStarted

返回消息头发送完毕后记录,只针对 watch 之类的长连接请求。

ResponseComplete

返回消息全部发送完毕后记录。

Panic

内部服务器出错,请求未完成。

0x05 审计策略

Master节点机器,审计配置策略文件的目录是/etc/kubernetes/audit-policy.yml,内容如下

说明

  • 在收到请求后不立即记录日志,当返回体Header发送后才开始记录。
  • 对于大量冗余的kube-proxy watch请求,kubeletsystem:nodes对于节点的get请求,kube组件在kube-system下对于endpoint的操作,以及API Server对于Namespaces的get请求等不作审计。
  • 对于/healthz*/version*/swagger*等只读URL不作审计。
  • 对于可能包含敏感信息或二进制文件的Secrets,ConfigMaps,tokenreviews接口的日志等级设为metadata,该level只记录请求事件的用户、时间戳、请求资源和动作,而不包含请求体和返回体。
  • 对于一些如authentication、rbac、certificates、autoscaling、storage等敏感接口,根据读写记录相应的请求体和返回体。

0x06 审计日志样例

0x07 告警策略

7.1 对容器执行命令时告警

目前公司对于Kubernetes集群使用有严格限制,不允许用户登录容器或对容器执行命令,如果有用户执行命令时需要立即给出告警,并希望告警时能够显示用户登录的具体容器、执行的命令、操作人、事件ID、时间、操作源IP等信息

7.2 APIServer异常IP访问失败告警

为防止恶意攻击,需要监控内网访问的次数以及失败率,若访问次数到达一定阈值(10次)且失败率高于一定阈值(50%)则立即告警,并希望告警时能够显示用户的IP所属区域、操作源IP、是否高危IP等信息。

参考文档

  • 腾讯云:https://cloud.tencent.com/document/product/457/48346
  • 阿里云:https://help.aliyun.com/document_detail/91406.html
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小宝的安全学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 目的
  • 0x02 配置文件
  • 0x03 审计级别-level
  • 0x04 审计阶段-stage
  • 0x05 审计策略
  • 0x06 审计日志样例
  • 0x07 告警策略
    • 7.1 对容器执行命令时告警
      • 7.2 APIServer异常IP访问失败告警
      • 参考文档
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档