尝试仅通过 syslog 转发我的 auditd 事件,但我不知道要使用哪个工具。我不想将所有内容都发送到我的 syslog 服务器,因为这会在日志中产生冗余。我已将 audispd syslog 插件设置为活动状态,据我所知,这应该使 auditd 使用 syslog 来记录事件。现在我要做的就是设置正确的工具,以便将 auditd 的事件转发到我的日志服务器。
如果我对如何做这件事有误解,请告诉我。*我正在 CentOS 7 上尝试这个
答案1
Auditd 到 syslog 插件设施设置
Audisp 插件默认会将审计数据发送到 syslog 设备user
。不过您可以更改此设置。
cat /etc/audisp/plugins.d/syslog.conf
# This file controls the configuration of the syslog plugin.
# It simply takes events and writes them to syslog. The
# arguments provided can be the default priority that you
# want the events written with. And optionally, you can give
# a second argument indicating the facility that you want events
# logged to. Valid options are LOG_LOCAL0 through 7, LOG_AUTH,
# LOG_AUTHPRIV, LOG_DAEMON, LOG_SYSLOG, and LOG_USER.
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO
format = string
关键在于Valid options are LOG_LOCAL0 through 7
您可以根据自己的需要进行调整。在我的系统上,它们是上述默认设置,并且我在user
设施日志中收到审计消息。
答案2
我使用这个配置的原因是这个au-remote
插件不可靠,会丢失很多消息。它还会让我的系统日志充斥着错误。我还想将转发的审计日志单独保存在聚合服务器上。
首先,配置syslog
插件:
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO LOG_LOCAL6
请注意,有两个参数args
, 和priority
。facility
优先LOG_INFO
级表示发送所有严重程度为info
或更严重的消息。设施基本上是rsyslog
审计调度程序应将消息路由到的通道。它可以是插件文档中列出的任何有效选项syslog
。我之所以使用它,LOG_LOCAL6
是因为我的系统中没有其他应用程序使用它,并且我想将审计日志分开。
编辑/etc/audisp/plugins.d/au-remote.conf
以禁用该au-remote
插件:
active = no
这文档对于 syslog 插件建议如下:
如果您要聚合多台计算机,则应编辑 auditd.conf,将 name_format 设置为有意义的格式,将 log_format 设置为 enriched。这样,您就可以知道事件来自何处,并在将事件发送到计算机之前在本地解析用户名和组。
因此我使用了以下设置:
NAME_FORMAT = HOSTNAME
LOG_FORMAT = ENRICHED
审计日志已在本地写入/etc/audit
,因此无需编辑/etc/rsyslog.conf
,并告诉它将local6
来自审计调度程序的消息写入文件。您只需确保已配置 rsyslog 进行转发,消息就会发送到聚合服务器。
如果你仅有的希望转发审计消息,请在 中执行以下操作/etc/rsyslog.conf
,然后重新启动rsyslog.service
:
local6.* @@logs.example.com:514
重新启动审计守护进程以应用设置(不要使用systemctl restart
):
service restart auditd
然后,在您的日志聚合服务器上,编辑/etc/rsyslog.conf
以将传入消息写入专用文件:
local6* /var/log/auditd-forwarded
/etc/logrotate.d/syslog
最后,将此日志添加到(聚合服务器上的)日志轮换计划中:
/var/log/spooler
/var/log/auditd-forwarded
{
missingok
笔记:您可以选择将logrotate
配置放在其自己的文件中。
已经验证可以在 CentOS 7 上运行。
答案3
我对这个文件中的键和值感到困惑,所以这里有一个适合我的工作配置:-(使用的系统:Ubuntu 16.04)/etc/audisp/plugins.d/syslog.conf
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_LOCAL6 #send log to local6 facility
编辑 rsyslog 配置以保存 auditd 日志
/etc/rsyslog.d/50-default.conf
local6.* @@192.168.8.147:6161 #send local6 log to central log server listening on tcp port 6161
# To save local6 to file
local6.* /tmp/auditd.log