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. Linux 端口及防火墙常用命令

    Linux 端口及防火墙操作 查看端口操作 一. netstat命令 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l ...

  2. [Maven]探究settings.xml

    1 settings.xml的配置模块 1-1 localRepository The path to the local repository maven will use to store art ...

  3. Intellij_idea for循环 快捷键

    for循环四次.用 i 进行for循环 4.for fori 增强for循环 int [] arrays=new int[2]; arrays.for

  4. LINUX 下LAMP之yum方法部署环境

    一. 系统组成 系统由前台网站和后台保种服务两部分组成,其中后台保种可以扩展成多台设备,提高保种的资源量以及性能.下面安装以houtaiip代表后台保重服务器ip地址,qiantaiip代表前台网站i ...

  5. ES6教程笔记

    ES介绍 什么是ES ES全称 EcmaScript 是一种脚本语言的规范 Javascript为ES的实现 Ecma 是一个组织 Ecma组织 为什么要学习ES6? ES6的版本变动内容最多,具有里 ...

  6. MAPPO学习笔记(1):从PPO算法开始

    由于这段时间的学习内容涉及到MAPPO算法,并且我对MAPPO算法这种多智能体算法的信息交互机制不甚了解,于是写了这个系列的笔记,目的是巩固知识,并且进行一些粗浅又滑稽的总结. 1.PPO算法的介绍 ...

  7. 使用select需要注意的细节

    使用select需要注意的细节 在学校的时候就使用过select,但是在项目中使用的时候却犯了个错误. select如何使用就不进行总结了,网上教程太多,以下是项目中我写的一小段代码,便于总结. in ...

  8. prism journal导航按钮的可用性探索记录

    prism使用导航功能的时候,跳了几个坑,记录一下. 1.导航记录的产生,是在区域导航过程中产生的. _regionManager.Regions[PrismManager.MainViewRegio ...

  9. map和multimap

    map相对于set区别,map具有键值和实值,所有元素根据键值自动排序,pair的第一个值被称为键值key,pair的第二个值被称为实值value.map也是以红黑树为底层实现机制,根据key进行排序 ...

  10. C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地

    本文将探讨如何使用c#开发基于大语言模型的私域聊天机器人落地.大语言模型(Large Language Model,LLM 这里主要以chatgpt为代表的的文本生成式人工智能)是一种利用深度学习方法 ...