我正在运行几个基于RHEL的系统,这些系统利用2.6内核中的审计function来跟踪用户活动,并且需要将这些日志发送到集中的SYSLOG服务器进行监视和事件关联。 任何人都知道如何做到这一点?
编辑:11/17/14
这个答案可能仍然有效,但在2014年, 使用Audisp插件是更好的答案。
如果你正在运行股票ksyslogd系统日志服务器,我不知道如何做到这一点。 但是有很好的指导,可以通过Wiki的 rsyslog来完成。 ( http://wiki.rsyslog.com/index.php/Centralizing_the_audit_log )
我将总结:
在发送客户端( rsyslog.conf )上:
#auditd audit.log $ InputFileName /var/log/audit/audit.log $ InputFileTag tag_audit_log: $ InputFileStateFile audit_log $ InputFileSeverity信息 $ InputFileFacility local6 $ InputRunFileMonitor
请注意, imfile模块将需要先前在rsyslogconfiguration中加载。 这是负责的这一行:
$ ModLoad imfile
所以检查它是否在你的rsyslog.conf文件中。 如果不在那里,请在### MODULES ###部分下添加它以启用此模块; 否则,上面的auditd日志configuration将不起作用。
在接收服务器( rsyslog.conf )中:
$ template HostAudit,“/ var / log / rsyslog /%HOSTNAME%/ audit_log” local6。*
在两台主机上重新启动服务( service rsyslog restart ),您应该开始接收auditd消息。
最安全和最正确的方法是使用audispd syslog插件和/或audisp-remote 。
要快速获得它, 你可以编辑/etc/audisp/plugins.d/syslog.conf 。 尽pipe它被禁用,但RHEL默认包含这个function。 你只需要改变一行来启用它, active = yes 。
active = yes direction = out path = builtin_syslog type = builtin args = LOG_INFO format = string
但是这个默认不是很安全, 系统日志是一个不安全的协议在其基地,未encryption,未经鉴定,并在其原始的UDP规范,完全不可靠。 它还将许多信息存储在不安全的文件中。 Linux审计系统处理比通常发送给系统日志更敏感的信息,因此它是分离的。 audisp-remote还提供了Kerberos身份validation和encryptionfunction,所以它可以很好地作为安全传输。 使用audisp-remote,您可以使用audispd将审计消息发送到在中央系统日志服务器上运行的audisp远程服务器。 然后,audisp-remote将使用audispd syslog插件将它们提供给syslog dameon。
但还有其他的方法! rsyslog非常强大! rsyslog还提供了Kerberosencryption,再加上TLS。 只要确保它的安全configuration。
您可以使用audisp直接login到系统日志,它是审计包的一部分。 在Debian中(我还没有在其他发行版中试过)编辑/etc/audisp/plugins.d/syslog.conf并设置active = yes。