我正在运行几个基于 RHEL 的系统,它们利用 2.6 内核中的审计功能来跟踪用户活动,我需要将这些日志发送到集中式 SYSLOG 服务器进行监控和事件关联。有人知道如何实现这一点吗?
答案1
编辑:11/17/14
这个答案可能仍然有效,但在 2014 年,使用 Audisp 插件是更好的答案。
如果你正在运行 ksyslogd 系统日志服务器,我不知道该怎么做。但是在他们的网站上有使用 rsyslog 执行此操作的很好的说明维基百科。 (http://wiki.rsyslog.com/index.php/Centralizing_the_audit_log)
我总结一下:
在发送客户端(
rsyslog.conf
):#
auditd 审计日志 $输入文件名 /var/log/audit/audit.log $输入文件标签标签_审计日志: $输入文件状态文件审计日志 $InputFileSeverity 信息 $输入文件设施 local6 $输入运行文件监控器请注意,
imfile
模块需要事先在 rsyslog 配置中加载。以下是负责该操作的行:$ModLoad 图像文件
因此请检查它是否在您的
rsyslog.conf
文件中。如果不存在,请将其添加到### MODULES ###
启用此模块的部分下;否则,上述 auditd 日志配置将不起作用。在接收服务器上 (
rsyslog.conf
):$模板 HostAudit,“/var/log/rsyslog/%HOSTNAME%/audit_log” 本地6.*
service rsyslog restart
在两台主机上重新启动服务( ),然后您就应该开始接收auditd
消息。
答案2
最安全和正确的方法是使用 audispd系统日志插件和/或audisp-远程。
快速使其工作您可以编辑 /etc/audisp/plugins.d/syslog.conf。RHEL 默认包含此功能,尽管它被禁用。您只需更改一行即可启用它,活动 = 是。
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO
format = string
但这在默认情况下并不是很安全;syslog 本质上是一种不安全的协议,未加密、未认证,并且在其原始 UDP 规范中完全不可靠。它还将大量信息存储在不安全的文件中。Linux 审计系统处理的敏感信息比通常发送到 syslog 的信息要多,因此它是分离的。audisp-remote 还提供 Kerberos 身份验证和加密,因此它可以很好地用作安全传输。使用 audisp-remote,您可以使用 audispd 将审计消息发送到在中央 syslog 服务器上运行的 audisp-remote 服务器。然后 audisp-remote 将使用 audispd syslog 插件将它们输入到 syslog 守护程序中。
但还有其他方法!rsyslog 非常强大!rsyslog 还提供 Kerberos 加密和 TLS。只需确保其配置安全即可。
答案3
您可以使用 audisp 直接记录到 syslog,它是 Audit 包的一部分。在 Debian 中(我还没有在其他发行版中尝试过)编辑:
/etc/audisp/plugins.d/syslog.conf
并设置active=yes
。