Ubuntu Server 20.04 的 Auditd TTY 设置

Ubuntu Server 20.04 的 Auditd TTY 设置

我在 Ubuntu 20.04 Server 上。我已经安装并配置了 auditd。

问题
如何通过 auditd 启用 TTY 日志记录?

/etc/auditd/rules.d/audit.rules 有:

-w /etc/securetty -p wa -k login
-w /dev/tty -p rwxa -k tty -F uid!=0

/etc/pam.d/common-password/etc/pam.d/common-auth

session    required     pam_tty_audit.so enable=* disable=adminuser log_passwd

问题:
当我以非管理员用户身份通过​​ ssh 进入服务器并执行命令后,输出aureport --tty始终为空白。

更新

如有疑问,请检查 dang 日志:

type=SYSCALL msg=audit(1673536130.491:301): arch=c000003e syscall=44 success=yes exit=56 a0=3 a1=7ffdd0aaf0e0 a2=38 a3=0 items=0 ppid=819 pid=834 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="auditctl" exe="/usr/sbin/auditctl" key=(null)

看来我的内核(linux-image-5.4.0-138-generic)不支持审计tty

#grep -E "^CONFIG_AUDIT_CONTROL=y|^CONFIG_AUDIT_TTY=y" /usr/lib/modules/$(uname -r)/build/.config
#

更多谜团:

我错误地认为内核中未激活的 CONFIG_AUDIT 和 CONFIG_AUDIT_TTY 是我所做某事的结果,因此我重新安装了当前内核并重新启动,假设默认设置会返回:

apt-get install --reinstall linux-image-5.4.0-138-generic

更正
auditd 日志文件现在显示:

type=EXECVE msg=audit(1673605183.202:290911): argc=4 a0="grep" a1="--color=auto" a2="tty" a3="/var/log/audit/audit.log"
type=SYSCALL msg=audit(1673605183.202:290912): arch=c000003e syscall=257 success=yes exit=3 a0=ffffff9c a1=7ffe12a5b784 a2=100 a3=0 items=1 ppid=4009 pid=217617 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 **tty=pts1** ses=6 comm="grep" exe="/usr/bin/grep" key="auditlog"

表明内核选项 tty 审计已启用。但是,除了日志文件之外,我没有其他方法可以验证这一点。

这是 repo 中提供的打包内核的问题吗?我仍然得到:

#grep -E "^CONFIG_AUDIT_CONTROL=y|^CONFIG_AUDIT_TTY=y" /usr/lib/modules/$(uname -r)/build/.config
#

更奇怪,但有进步
此命令aureport --tty | grep $(id -u username) 现在有时结果有时没有返回结果(大多数没有)...

结果的“命中”或“未命中”性质是否与日志文件轮换有关?也许 auditd 轮换文件的次数比它需要的次数要多,以至于无法发挥作用?……嗯

相关内容