如何从应用程序登录到AUDITD?

问题描述 投票:0回答:1

我们正在考虑从rsyslog转到auditd,但我还没有找到应用程序应该如何向auditd输出日志消息。 (使用rsyslog可以很好地记录)。

linux logging syslog rsyslog
1个回答
1
投票

您对auditd的理解是对日志记录的替代是不正确的。 Auditd不是syslog / rsyslog类型日志记录的直接替代品。而是它根据对内核的系统调用生成日志。

然后man page解释它:

auditd是Linux审核系统的用户空间组件。它负责将审计记录写入磁盘。使用ausearchaureport实用程序查看日志。使用auditctl实用程序配置审计系统或加载规则。在启动期间,/etc/audit/audit.rules中的规则由auditctl读取并加载到内核中。另外,还有一个augenrules程序,它读取位于/etc/audit/rules.d/的规则并将它们编译成audit.rules文件。审计守护程序本身具有管理员可能希望自定义的一些配置选项。它们位于auditd.conf文件中。

还有一个很好的auditd概述,标题为:A Brief Introduction to auditd

....由于它在内核级别运行,因此它为我们提供了我们想要的任何系统操作的钩子。我们可以选择在特定系统调用发生时写入日志,无论是unlink还是getpid。我们可以监控对任何文件,所有网络流量的访问,实际上是我们想要的。细节水平非常惊人,因为它的运行水平如此之低,所以信息的粒度非常有用。

我还会指导你们这个名为“How To Use the Linux Auditing System on CentOS 7”的教程。您可以从auditd获得日志记录类型的示例。

type=SYSCALL msg=audit(1434371271.277:135496): arch=c000003e syscall=2 success=yes exit=3 a0=7fff0054e929 a1=0 a2=1fffffffffff0000 a3=7fff0054c390 items=1 ppid=6265 pid=6266 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=113 comm="cat" exe="/usr/bin/cat" key="sshconfigchange"

type=CWD msg=audit(1434371271.277:135496):  cwd="/home/sammy"

type=PATH msg=audit(1434371271.277:135496): item=0 name="/etc/ssh/sshd_config" inode=392210 dev=fd:01 mode=0100600 ouid=0 ogid=0 rdev=00:00 objtype=NORMAL

这完全来自单个事件,但是通过auditd记录了3条消息。您可以通过msg=audit(...)字段判断哪些事件是关联的。

我向您展示了这个示例,因为这种类型的日志记录是从内核驱动的,而不是应用程序本身。

注意:Auditd的真正目的是生成与Linux内核交互的审计日志,而syslog / rsyslog实际上是用于从应用程序本身进行通用日志记录。

© www.soinside.com 2019 - 2024. All rights reserved.