什么是 auditd 日志的 syslog 工具?

什么是 auditd 日志的 syslog 工具?

尝试仅通过 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, 和priorityfacility优先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

相关内容