当前位置: 首页 > news >正文

audit审计

audit审计

    • 安装audit
    • 配置审计服务
      • 配置auditd capp 环境
      • 定义审计规则
        • 使用auditctl应用程序定义审计规则
        • 定义控制规则
      • 重载规则
    • 审计

安装audit

参考: https://blog.csdn.net/u010039418/article/details/85091142

# rhel
dnf install -y audit# debian
## audispd-plugins提供了 一些插件和规则
sudo apt install -y auditd audispd-plugins

配置审计服务

审计守护进程可以在/etc/audit/auditd.conf

配置文件中进行配置。此文件包含修改审核守护进程行为的配置参数。任何空行或#后面的文本都将被忽略


配置auditd capp 环境

默认auditd配置应该适用于多数环境。但是,如果您的环境必须满足受控访问保护配置文件(CAPP)设置的标准

  • 保存审核日志文件的目录(通常为/var/log/audit)驻留在单独的分区上。这可以防止其他进程占用此目录中的空间,并为审计守护进程提供对剩余空间的准确检测
  • max_log_file参数指定单个审计日志文件的最大大小,必须设置为充分利用保存审计日志文件的分区上的的可用空间
  • max_log_file_action参数一旦max_log_file达到设置时采取的操作,应设置keep_logs为防止审计日志文件被覆盖

定义审计规则

审计系统根据一组审计规则运行,这些规则定义了日志文件中捕获的内容,可以指定三种类型的审计规则

  1. 控制规则–允许修改审计系统的行为以及某些配置
  2. 文件系统规则-也称为文件监视,允许审计对特定文件或目录的访问
  3. 系统调用规则–允许记录任何指定程序进行的系统调用

可以使用auditctl程序在命令行指定审计规则(请注意,这些规则在重新启动后不会持久),或写入/etc/audit/audit.rules文件

# 创建审计规则文件
touch /etc/audit/rules.d/10-root-commands.rules

配置审计规则内容如下

# 审计规则:针对 64 位架构,监控以 root 身份执行的命令
## -a always,exit: 添加一条审计规则,始终生效并在系统调用退出时触发
## -F arch=b64: 仅适用于 64 位架构
## -S execve: 监控 `execve` 系统调用(用于执行程序)
## -F euid=0: 仅审计有效用户 ID 为 0(即 root 用户)的进程
## -k root-commands: 将审计事件标记为 `root-commands`,便于后续查询
-a always,exit -F arch=b64 -S execve -F euid=0 -k root-commands# 审计规则:针对 32 位架构,监控以 root 身份执行的命令
## -a always,exit: 添加一条审计规则,始终生效并在系统调用退出时触发
## -F arch=b32: 仅适用于 32 位架构
## -S execve: 监控 `execve` 系统调用(用于执行程序)
## -F euid=0: 仅审计有效用户 ID 为 0(即 root 用户)的进程
## -k root-commands: 将审计事件标记为 `root-commands`,便于后续查询
-a always,exit -F arch=b32 -S execve -F euid=0 -k root-commands

使用auditctl应用程序定义审计规则

与审计服务和审计日志文件交互的所有命令都需要root权限。确保以root用户执行这些命令

auditctl命令允许您控制审计系统的基本功能并决定记录哪些事件的规则


定义控制规则

以下是一些允许您修改审计系统行为的控制规则

  • -b 设置内核中现有审计缓存区的最大数值
auditctl -b 8192
  • -f 该选项允许确定希望内核如何处理关键错误,有0,1,2三个值,0是不输出日志,1位输出printk日志,2会大量输出日志信息。默认值位1
auditctl -f 2

重载规则

# 重载规则
sudo augenrules --load# 验证规则是否已加载
sudo auditctl -l

审计

# 审计
sudo ausearch -k root-commands# 只看命令执行记录
sudo ausearch -k root-commands|grep argc# 查看最近10分钟的
sudo ausearch -k root-commands -ts recent# 查看今天的
sudo ausearch -k root-commands -ts today## -i 格式化输出,更易读
sudo ausearch -k root-commands -i# 向history一样只显示命令
ausearch -k root-commands -i | grep 'proctitle='

相关文章:

  • 蓝桥杯17. 机器人塔
  • 机器人雅克比Jacobian矩阵程序
  • leetcode-排序
  • 【鸿蒙HarmonyOS】深入理解router与Navigation
  • 从边缘到云端,如何通过时序数据库 TDengine 实现数据的全局洞
  • C语言五子棋项目
  • 【PostgreSQL教程】PostgreSQL 特别篇之 语言接口连接Perl
  • 体积小巧的 Word 转 PDF 批量工具
  • VMware中CentOS 7虚拟机设置固定IP(NAT模式)完整教程
  • HarmonyOS 是 Android 套壳嘛?
  • ubantu18.04(Hadoop3.1.3)Hive3.1.2安装指南
  • C++算法(15):INT_MIN/INT_MAX使用指南与替代方案
  • 网络原理 - 6
  • ActiveMQ 核心概念与消息模型详解(一)
  • 数据结构的学习(1)二分查找,利用二分查找找局部最小值,选择排序,冒泡排序,插入排序,位运算的基础知识
  • Java虚拟机面试题:JVM调优
  • Vue3 小功能记录:密码的显示与隐藏功能
  • 实时数仓体系概览与架构演进
  • LeetCode-47. 全排列 II
  • Kafka集群
  • 佩斯科夫:俄美总统会晤正在筹备中,未设定停火最后期限
  • 牛市早报|外汇局:4月以来外汇市场交易保持平稳,跨境资金延续净流入
  • 依托空域优势,浦江镇将建设上海首个“低空融合飞行示范区”
  • 2025年上海车展后天开幕,所有进境展品已完成通关手续
  • 用了半年的洗衣机竟比马桶还脏,别再这样洗衣服了
  • 官方披露:WinRAR安全漏洞可绕过安全警告,执行恶意软件