介绍
Auditd工具可以帮助运维人员审计Linux。这个工具在大多数Linux操作系统中是默认安装的,是Linux审计系统中用户空间的一个组件,其负责将审计记录写入磁盘。
安装
$ apt-get install auditd or $ yum -y install audit auditd-libs
相关命令
auditctl : 即时控制审计守护进程的行为的工具,比如如添加规则等等
$ sudo auditctl -l#查看规则 $ sudo auditctl -D#清空规则
aureport:查看和生成审计报告的工具。
$ aureport -l #生成登录审计报告
ausearch:查找审计事件的工具
ausearch -i -p 4096
autrace:一个用于跟踪进程的命令。
autrace -r /usr/sbin/anacron
相关文件
/etc/audit/audit.rules : 记录审计规则的文件。 /etc/audit/rules.d/ : 规则子目录,可以直接在这里面添加.rules文件生效配置 /etc/audit/auditd.conf : auditd工具的配置文件。 /var/log/audit/audit.log : 默认日志路径
简单使用
0、目录审计
使用类似的命令来对目录进行审计,如下:
sudo auditctl -w /production/
以上命令将监控对 /production 目录 的所有访问。
1、监控文件或者目录的更改
auditctl -w /etc/passwd -p rwxa
-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd
-p : 指定触发审计的文件或者目录的访问权限
rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)
运行这条命令之后就开始监控了,但是机器重启之后就失效了,因此要永久生效就需要写到规则文件里面。
vim /etc/auditd/rules.d/auditd.rules
将auditctl的命令参数写到这个文件里面即可。
2、查找日志ausearch
-a number #只显示事件ID为指定数字的日志信息,如只显示926事件:ausearch -a 926 -c commond #只显示和指定命令有关的事件,如只显示rm命令产生的事件:auserach -c rm -i #显示出的信息更清晰,如事件时间、相关用户名都会直接显示出来,而不再是数字形式 -k #显示出和之前auditctl -k所定义的关键词相匹配的事件信息
3、日志字段说明参数说明:
time :审计时间。 name :审计对象 cwd :当前路径 syscall :相关的系统调用 auid :审计用户ID uid和 gid :访问文件的用户ID和用户组ID comm :用户访问文件的命令 exe :上面命令的可执行文件路径
4、查看审计日志
添加规则后,我们可以查看 auditd 的日志。使用 ausearch 工具可以查看auditd日志。
可以使用 ausearch 工具的以下命令来查看审计日志了。
$ sudo ausearch -f /etc/passwd
-f 设定ausearch 调出 /etc/passwd文件的审计内容
5、使用以下命令查看授权失败的详细信息:
$ sudo aureport -au
6、如果我们想看所有账户修改相关的事件,可以使用-m参数。
$ sudo aureport -m
Auditd 配置文件
我们已经添加如下规则:
$ sudo auditctl -w /etc/passwd -p rwxa $ sudo auditctl -w /production/
现在,如果确信这些规则可以正常工作,我们可以将其添加到/etc/audit/audit.rules中使得规则永久有效。以下介绍如何将他们添加到/etc/audit/audit.rules中去。
别忘了重启auditd守护程序
# /etc/init.d/auditd restart 或 # service auditd restart
总结
Auditd是Linux上的一个审计工具。你可以阅读auidtd文档获取更多使用auditd和工具的细节。例如,输入 man auditd 去看auditd的详细说明,或者键入 man ausearch 去看有关 ausearch 工具的详细说明。