RHEL-7中将auditd日志重定向至本地rsyslog的方法咨询
当然可以实现!在RHEL 7(3.10.0-862.el7.x86_64)上,你完全能把auditd的审计日志转发到本地rsyslog,无需依赖外部日志服务器。下面是一步步的实操指南:
1. 确保audisp-syslog插件已安装
RHEL 7默认可能已经包含了这个插件,但为了保险起见,执行以下命令确认安装:
yum install -y audisp-syslog
2. 启用audisp的syslog转发功能
编辑/etc/audisp/plugins.d/syslog.conf文件,将active参数设置为yes,确保配置如下:
active = yes direction = out path = builtin_syslog type = builtin args = LOG_INFO format = string
active = yes:启用该插件args = LOG_INFO:指定日志的优先级为INFO(可根据需求调整为LOG_WARNING等)format = string:以字符串格式发送日志,方便rsyslog处理
3. 验证auditd的调度器配置
编辑/etc/audit/auditd.conf,确保以下配置存在且未被注释:
dispatcher = /sbin/audispd
这是auditd将日志转发给audispd的关键配置,默认情况下应该已经启用。
4. 配置rsyslog接收audit日志
编辑/etc/rsyslog.conf(或在/etc/rsyslog.d/下新建一个配置文件,比如audit.conf),添加一条规则来处理auditd转发的日志。例如,将日志写入单独的文件:
# 接收auditd通过local6设施发送的日志,写入指定文件 local6.* /var/log/audit/audit_rsyslog.log
如果希望同时将audit日志写入系统默认的messages文件,也可以保留默认的*.info;mail.none;authpriv.none;cron.none /var/log/messages规则,因为LOG_INFO优先级的日志会被这条规则匹配。
5. 重启相关服务使配置生效
依次重启auditd和rsyslog服务:
systemctl restart auditd systemctl restart rsyslog
6. 验证配置是否生效
可以通过触发一条审计事件来测试,比如执行:
ausearch -m user_login
然后查看你配置的rsyslog日志文件(比如/var/log/audit/audit_rsyslog.log),或者/var/log/messages,应该能看到对应的audit日志条目。
另外,你也可以停止auditd的文件日志写入(可选):如果不想再往默认的/var/log/audit/audit.log写日志,可以修改/etc/audit/auditd.conf中的log_file配置为/dev/null,不过建议先确保rsyslog转发正常后再做这个操作。
内容的提问来源于stack exchange,提问作者anish anil

