如您所知,默认情况下,Ubuntu Focal 上未安装 Linux Audit。我安装了它,我的目标是跟踪容器的操作。我有这个 seccomp 配置文件:
{
"defaultAction": "SCMP_ACT_LOG",
"architectures": [
"SCMP_ARCH_X86_64",
"SCMP_ARCH_X86",
"SCMP_ARCH_X32"
],
"syscalls": []
}
然后,为了执行跟踪,我使用提到的 seccomp 配置文件启动容器:
docker run --security-opt seccomp=seccomplog.json --rm -it ubuntu
我执行一些操作,然后从容器中获取跟踪:
ausearch -m 1326
目前一切都很好。
然后,我删除了所有内容,/var/log/audit
以便跟踪另一个容器。但是,在使用上述 seccomp 配置文件运行新容器后,审计文件夹中仍然没有文件,这意味着没有日志。
为什么不再有新的审计日志文件?
答案1
一些日志系统对于其日志文件是否存在很“敏感”:如果文件不存在,日志系统通常根本无法记录。
最简单的做法可能是sudo touch /var/log/audit/audit.log
重新启动 auditd - 我已经在其他日志系统上做过同样的操作。
接下来,/var/log/audit/audit.log
您可能希望强制日志轮换,而不是删除。阅读logrotate
,尤其是强制选项。一般来说,每个日志系统都有一个 logrotate 配置,可确保轮换后任何所需文件都存在。