Linux 系统管理和监控命令---- auditctl命令

文章目录

auditctl 是 Linux 审计系统(Audit System)的命令行工具,用于配置和管理审计规则。审计系统用于记录系统事件和用户活动,以便进行安全审计和合规性检查。 auditctl 命令可以动态地添加、删除和查看审计规则。

基本语法

sh 复制代码
auditctl [OPTIONS] [COMMAND]

常用参数和选项

添加规则
  • -a:添加规则。
    • -a always,exit:添加一个始终记录的规则。
    • -a never,exit:添加一个从不记录的规则。
删除规则
  • -d:删除规则。
    • -d always,exit:删除一个始终记录的规则。
    • -d never,exit:删除一个从不记录的规则。
查看规则
  • -l:列出当前的审计规则。
控制审计系统
  • -e:启用或禁用审计系统。
    • -e 0:禁用审计系统。
    • -e 1:启用审计系统。
    • -e 2:启用审计系统,并且在内核中锁定配置,防止进一步的更改。
其他选项
  • -w:监视文件或目录。
    • -w /path/to/file:监视指定的文件或目录。
  • -k:为规则添加一个键(key),用于标识和过滤审计记录。
    • -k keyname:为规则添加一个键名。

使用示例

启用审计系统
sh 复制代码
auditctl -e 1
禁用审计系统
sh 复制代码
auditctl -e 0
添加文件监视规则

监视 /etc/passwd 文件的所有访问和修改操作:

sh 复制代码
auditctl -w /etc/passwd -p rwxa -k passwd_changes
  • -w /etc/passwd:监视 /etc/passwd 文件。
  • -p rwxa:监视读(r)、写(w)、执行(x)和属性更改(a)操作。
  • -k passwd_changes:为规则添加键名 passwd_changes
删除文件监视规则

删除对 /etc/passwd 文件的监视规则:

sh 复制代码
auditctl -W /etc/passwd
添加系统调用规则

监视所有对 /etc/shadow 文件的打开操作:

sh 复制代码
auditctl -a always,exit -F path=/etc/shadow -F perm=wa -k shadow_changes
  • -a always,exit:添加一个始终记录的规则。
  • -F path=/etc/shadow:指定监视的文件路径。
  • -F perm=wa:监视写(w)和属性更改(a)操作。
  • -k shadow_changes:为规则添加键名 shadow_changes
删除系统调用规则

删除对 /etc/shadow 文件的监视规则:

sh 复制代码
auditctl -d always,exit -F path=/etc/shadow -F perm=wa -k shadow_changes
列出当前的审计规则
sh 复制代码
auditctl -l

结合 ausearchaureport

auditctl 配置的审计规则会生成审计日志,这些日志可以使用 ausearchaureport 命令进行查询和报告。

查询审计日志

使用 ausearch 查询特定键名的审计记录:

sh 复制代码
ausearch -k passwd_changes
生成审计报告

使用 aureport 生成审计报告:

sh 复制代码
aureport -k

总结

auditctl 是一个强大的工具,用于配置和管理 Linux 审计系统的规则。通过使用 auditctl,可以监视文件和目录的访问、系统调用以及其他重要的系统事件。结合 ausearchaureport,可以有效地查询和报告审计日志,帮助管理员进行安全审计和合规性检查。

相关推荐
码出钞能力几秒前
更换libc.so导致linux变砖,通过LD_PRELOAD挽救
linux·服务器
小马学嵌入式~1 分钟前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
青 .29 分钟前
数据结构---二叉搜索树的实现
c语言·网络·数据结构·算法·链表
小猪咪piggy36 分钟前
【JavaEE】(24) Linux 基础使用和程序部署
linux·运维·服务器
AORO20251 小时前
三防手机的三防是指什么?推荐一款实用机型
网络·5g·智能手机·制造·信息与通信
Haven-1 小时前
Linux常见命令
linux·基本指令
IT 小阿姨(数据库)1 小时前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
MChine慕青1 小时前
顺序表与单链表:核心原理与实战应用
linux·c语言·开发语言·数据结构·c++·算法·链表
虎头金猫1 小时前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
努力学习的小廉2 小时前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法