auditd
auditd是Linux审计系统的用户空间组件,它负责将审计记录写入磁盘。
查看日志使用ausearch或aureport实用程序完成。
使用auditctl实用程序配置审核系统或加载规则。
在auditd启动期间,/etc/audit/audit.rules 中的审计规则由auditctl读取并加载到内核中。
或者还有一个 augenrules程序,读取/etc/audit/rules.d/中的规则并将其编译成audit.rules 审计规则文件中。
审计守护进程本身 有一些配置选项可以让管理员进行自定义配置
auditd相关工具与配置文件
auditctl : 即时控制审计守护进程的行为的工具,比如如添加规则等等
aureport : 查看和生成审计报告的工具
ausearch : 查找审计事件的工具
auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中
autrace : 一个用于跟踪进程的命令
/etc/audit/auditd.conf : auditd工具的配置文件
/etc/audit/rules.d/audit.rules:包含审核规则的文件
/etc/audit/audit.rules : 记录审计规则的文件
auditd的使用
1、安装auditd服务
CentOS7系统默认安装了audit服务
代码语言:javascript复制rpm -aq | grep audit
rpm -ql audit
2、配置audit.rules规则
默认情况下审计规则是空的
代码语言:javascript复制/*查看规则*/
auditctl -l
/*查看命令帮助*/
auditctl -h
例如添加一条规则
代码语言:javascript复制auditctl -w /data -p rwxa
/*监控/data目录
-w path : 指定要监控的路径
-p : 指定触发审计的文件/目录的访问权限
rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)*/
3、永久保存审计规则
代码语言:javascript复制vi /etc/audit/rules.d/audit.rules
例如将-w /data/ -p rwxa加入到最后一行
service auditd restart
auditctl -l
4、审计效果
在/data/目录下生成一个文件或者修改文件,查看审计日志
代码语言:javascript复制tail -f /var/log/audit/audit.log
5、实现将audit日志通过rsyslog转发给日志服务器
1)audit有rsyslog插件能实现转发到本地的rsyslog服务
代码语言:javascript复制cd /etc/audisp/plugins.d/
vi syslog.conf
修改如下两项
active = yes
args = LOG_LOCAL0
然后重启audit服务
service auditd restart
2)audit审计日志还会输出到/var/log/message文件中
如果需要禁止输出到/var/log/messages文件,可以修改rsyslog.conf配置项并重启rsyslog服务
在如下位置加入local0.none来实现不输出到/var/log/messages中
代码语言:javascript复制vi /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none;local0.none /var/log/messages
最后一行添加日志服务器
*.* @192.168.31.51
保存退出
service rsyslog restart
3)效果验证 如下图所示,审计日志只输出到日志服务器,未打印到/var/log/messages中