Ped*_*iro 2 audit systemd docker
我正在尝试创建一个systemd启用并安装auditd在其上的 docker 容器。
我正在使用dockerhubcentos/systemd中提供的标准图像。但是当我尝试开始审核时,它失败了。
以下是我为创建并进入 docker 容器而执行的命令列表:
docker run -d --rm --privileged --name systemd -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos/systemd
docker exec -it systemd bash
Run Code Online (Sandbox Code Playgroud)
现在,在 docker 容器内:
yum install audit
systemctl start auditd
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Job for auditd.service failed because the control process exited with error code. See "systemctl status auditd.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)
然后我运行:
systemctl status auditd.service
Run Code Online (Sandbox Code Playgroud)
我得到这个信息:
auditd[182]: Error sending status request (Operation not permitted)
auditd[182]: Error sending enable request (Operation not permitted)
auditd[182]: Unable to set initial audit startup state to 'enable', exiting
auditd[182]: The audit daemon is exiting.
auditd[181]: Cannot daemonize (Success)
auditd[181]: The audit daemon is exiting.
systemd[1]: auditd.service: control process exited, code=exited status=1
systemd[1]: Failed to start Security Auditing Service.
systemd[1]: Unit auditd.service entered failed state.
systemd[1]: auditd.service failed.
Run Code Online (Sandbox Code Playgroud)
你们对为什么会发生这种情况有什么想法吗?
谢谢。
请参阅此讨论:
目前,auditd 只能在容器内使用来聚合来自其他系统的日志。它不能用于获取与容器或主机操作系统相关的事件。如果您只想聚合,请在auditd.conf 中设置local_events=no。
容器支持仍在开发中。
另请参阅此:
local_events 该 yes/no 关键字指定是否包含本地事件。通常您需要本地事件,因此默认值为 yes。当您只想聚合来自网络的事件时,您可以将此设置为 no。目前,如果审核守护进程在容器中运行,这非常有用。该选项只能在守护程序启动时设置一次。重新加载配置文件没有任何效果。
所以至少目前来说Date: Thu, 19 Jul 2018 14:53:32 -0400,这个功能还不支持,不得不等待。