auditctl 缓冲区设置 - 有多大?

dre*_*rew 5 security linux redhat centos auditd

audit.rules在CentOS 5、6 和 7 上的默认文件中,设置以下内容:

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320
Run Code Online (Sandbox Code Playgroud)

但没有提及所提供的数字是什么单位。

的手册页auditctl不清楚:

OPTIONS
       -b backlog
              Set max number of outstanding audit buffers allowed 
              (Kernel Default=64) If all buffers  are  full,  the
              failure flag is consulted by the kernel for action.
Run Code Online (Sandbox Code Playgroud)

我见过对此值的建议,其中包含大量可能的数字(320、8192,一直到 32768 及以上)。

我想确保我设置的值是合理的,并且我不仅仅是掩盖低效audit.rules文件的痕迹。

内核/审计缓冲区是否有某种隐含的大小?这里的建议是什么?

Ell*_* B. 6

backlog 选项限制可以排队等待写入日志的消息数量。因此,backlog 选项的单位不是字节或连接,而是“审核消息数”。

为此设置选择合理的值完全取决于您的系统。我建议从默认值开始,然后根据需要增加它。如果超出积压限制,您将audit: backlog limit exceeded在日志中看到该消息。

积压队列存储在内存中,因此增加积压限制将随着队列的增长而增加内存消耗。每条消息通常不到 9000 字节。您不希望积压限制太低,但您也不希望设置一个过高的值,因为该值可能会占用系统内存的很大一部分。