Task

在cluster中启用审计日志。为此,请启用日志后端,并确保:

  • 日志存储在 /var/log/kubernetes/audit-logs.txt
  • 日志文件能保留 10 天
  • 最多保留 2 个旧审计日志文件

/etc/kubernetes/logpolicy/sample-policy.yaml 提供了基本策略。它仅指定不记录的内容。

注意:基本策略位于cluster的master节点上。

编辑和扩展基本策略以记录:

  • RequestResponse 级别的 persistentvolumes 更改
  • namespace front-apps中 configmaps 更改的请求体
  • Metadata 级别的所有 namespace 中的 ConfigMap 和 Secret 的更改

此外,添加一个全方位的规则以在 Metadata 级别记录所有其他请求。

注意:不要忘记应用修改后的策略。

参考资料

https://kubernetes.io/zh-cn/docs/tasks/debug/debug-cluster/audit/

解答
先切换集群

kubectl config use-context KSCH00601

1切换到 Master

ssh master01 && sudo -i

2配置审计策略

mkdir bak07
cp /etc/kubernetes/logpolicy/sample-policy.yaml bak07/
vim /etc/kubernetes/logpolicy/sample-policy.yaml
......
- level: RequestResponse
resources:
- group: ""
resources: ["persistentvolumes"]
- level: Request
resources:
- group: ""
resources: ["configmaps"]
resourceNames: ["front-apps"]
- level: Metadata
resources:
- group: "" # core API 组
resources: ["secrets", "configmaps"]
- level: Metadata
omitStages:
- "RequestReceived"

3配置 master 节点 kube-apiserver.yaml
首先备份配置文件

cp /etc/kubernetes/manifests/kube-apiserver.yaml bak07/

添加一下参数:

# 审计策略 yaml 文件位置,通过 hostpath 挂载
--audit-policy-file=/etc/kubernetes/logpolicy/sample-policy.yaml # 如果考试中已存在,修改即可
# 审计日志位置,通过 hostpath 挂载
--audit-log-path=/var/log/kubernetes/audit-logs.txt # 如果考试中已存在,修改即可
# 保留审计日志文件的最大天数为10天
--audit-log-maxage=10 # 如果考试中已存在,修改即可
# 保留的审计日志文件的最大数量为2个
--audit-log-maxbackup=2 # 如果考试中已存在,修改即可

接下来挂载数据卷,在volumeMounts 下面新增:

volumeMounts:
- mountPath: /etc/kubernetes/logpolicy/sample-policy.yaml
name: audit
readOnly: true
- mountPath: /var/log/kubernetes/
name: audit-log
readOnly: false

最后配置 hostPath,在volumes 下新增:

volumes:
- name: audit
hostPath:
path: /etc/kubernetes/logpolicy/sample-policy.yaml
type: File - name: audit-log
hostPath:
path: /var/log/kubernetes/
type: DirectoryOrCreate

4重启kubelet 服务

systemctl restart kubelet

大概等待2分钟左右,查看服务是否正常,日志是否有输出

kubectl get po -A
tail -f /var/log/kubernetes/audit-logs.txt

 

CKS 考试题整理 (09)-日志审计 log audit的更多相关文章

  1. Windows Sqlserver Automatic Log Audit Via C/C++

    catalog . 数据库日志审计产品 . Mysql日志审计 . SQLServer日志审计 1. 数据库日志审计产品 Relevant Link: http://enterprise.huawei ...

  2. [置顶] kubernetes1.7新特性:日志审计变化

    背景概念 出于安全方面的考虑,Kubernetes提供了日志审计记录,用来记录不同普通用户.管理员和系统中各个组件的日志信息. Kubernetes日志审计是Kube-apiserver组件的一部分功 ...

  3. MySQL审计工具Audit Plugin安装使用

    本实验的审计插件均是安装在 mysql-community-server-5.7.9 的服务器上. 插件安装(社区版) 插件下载地址: https://bintray.com/mcafee/mysql ...

  4. Bugku-CTF分析篇-日志审计(请从流量当中分析出flag)

    日志审计 请从流量当中分析出flag

  5. oracle之二日志挖掘log miner

    日志挖掘 log miner 6.1 log miner的作用: 数据库恢复中有时会需要对Redo log进行分析, 要会使用log miner,以便确定要恢复的时间点或SCN 6.2 有两种日志挖掘 ...

  6. SQL Server 审计(Audit)

    审计(Audit)用于追踪和记录SQL Server实例,或者单个数据库中发生的事件(Event),审计运作的机制是通过捕获事件(Event),把事件包含的信息写入到事件日志(Event Log)或审 ...

  7. Linux简单的日志审计

    生产环境日志审计解决方案 所谓的日志审计,就是记录所有系统及相关的用户行为,并且可以自动分析.处理.展示(包括文本或者录像) 1)     :通过环境变量以及rsyslog服务进行全部日志审计(信息太 ...

  8. Linux系统实战项目——sudo日志审计

    Linux系统实战项目——sudo日志审计   由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...

  9. python的paramiko源码修改了一下,写了个操作命令的日志审计 bug修改

    python的paramiko源码修改了一下,写了个操作命令的日志审计,但是记录的日志中也将backspace删除键记录成^H这个了,于是改了一下代码,用字符串的特性. 字符串具有列表的特性 > ...

  10. linux日志审计项目案例实战(生产环境日志审计项目解决方案)

    所谓日志审计,就是记录所有系统及相关用户行为的信息,并且可以自动分析.处理.展示(包括文本或者录像) 推荐方法:sudo配合syslog服务,进行日志审计(信息较少,效果不错) 1.安装sudo命令. ...

随机推荐

  1. jquery中判断复选框有没有被选上

    页面部分: <input type="checkbox" id="cbx" /><label for="cbx">点 ...

  2. 基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点

    作为一个技术博主,了不起比较喜欢各种折腾,之前给大家介绍过 ChatGPT 接入微信,钉钉和知识星球(如果没看过的可以翻翻前面的文章),最近再看开源项目的时候,发现了一个 ChatGPT Web UI ...

  3. 为什么我推荐你使用 systemd timer 替代 cronjob?

    概述 前几天在使用 Terraform + cloud-init 批量初始化我的实验室 Linux 机器.正好发现有一些定时场景需要使用到 cronjob, 进一步了解到 systemd timer ...

  4. 在英特尔 CPU 上加速 Stable Diffusion 推理

    前一段时间,我们向大家介绍了最新一代的 英特尔至强 CPU (代号 Sapphire Rapids),包括其用于加速深度学习的新硬件特性,以及如何使用它们来加速自然语言 transformer 模型的 ...

  5. Java线程池浅析

    1. 什么是线程池?我们为什么需要线程池? 线程池即可以存放线程的容器,若干个可执行现成在"容器"中等待被调度. 我们都知道,线程的生命周期中有以下状态:新建状态(New).就绪状 ...

  6. C++核心知识回顾(函数&参数、异常、动态分配)

    复习C++的核心知识 函数与参数 传值参数.模板函数.引用参数.常量引用参数 传值参数 int abc(int a,int b,int c) { return a + b * c; } a.b.c是函 ...

  7. jenkins 自动化部署 2023

    参考 https://www.jenkins.io/doc/book/installing/docker/ https://blog.csdn.net/zqqiang0307/article/deta ...

  8. Email发送邮件使用ical4j将时间同步日历中

    1.Maven依赖 <!--邮件--> <dependency> <groupId>org.springframework.boot</groupId> ...

  9. TypeScript 引用资源文件后提示找不到的异常处理

    在tsx中引用图片,在文件文本编辑器中提示错误引用: typescript无法识别非代码文件(js是可以的).如果需要在ts中识别此文件资源,可以先声明文件类型. 新建一个ts文件,比如global. ...

  10. 分享Zeal的全套离线文档

    鉴于Zeal自身的下载速度... 为了方便大家,现在把我自己下载好的Zeal离线文档全部分享出来 百度网盘链接:https://pan.baidu.com/s/19WeEWij3evnuMWhzbHu ...