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,可以有效地查询和报告审计日志,帮助管理员进行安全审计和合规性检查。

相关推荐
半壶清水2 分钟前
[软考网规考点笔记]-OSI参考模型与TCP/IP体系结构
网络·笔记·tcp/ip
IP搭子来一个43 分钟前
2026年动态IP代理怎么选:共享好还是独享好?
服务器·网络协议·tcp/ip
比奇堡派星星1 小时前
awk命令
linux·运维·服务器
WW、forever1 小时前
【服务器】上传百度网盘数据至服务器
运维·服务器
清水白石0081 小时前
Python 柯里化完全指南:从函数式思想到工程实践
linux·服务器·python
m0_694845572 小时前
netcut 是什么?简单安全的在线剪贴板搭建与使用教程
运维·服务器·安全·开源·云计算·github
女王大人万岁2 小时前
Golang标准库 CGO 介绍与使用指南
服务器·开发语言·后端·golang
宸迪2 小时前
【python】使用uv管理项目包依赖
linux·python·uv
网云工程师手记3 小时前
DDNS-Go部署与使用体验:动态公网IP远程访问不再断
运维·服务器·网络·网络协议·网络安全
HalvmånEver3 小时前
Linux:基于信号量的环形队列与生产者消费者模型(一)
linux·运维·服务器·信号量