跟踪容器时丢失审计日志

跟踪容器时丢失审计日志

如您所知,默认情况下,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 配置,可确保轮换后任何所需文件都存在。

相关内容