在docker容器-kubernetes中启用命令行审核日志记录



希望您能提供帮助。

我正在尝试在docker容器中启用审计日志记录,因此,如果有人kubectl exec到docker容器并运行任何命令,那么这些命令就会被记录下来,我们可以在kubectl logs中查看它们,并使用fluentd进行捕获。

在容器的/etc/profile中添加以下行的选项对root有效,但对non-root用户无效,因为/proc/1/fd/1仅由root用户拥有和可写,并且更改所有权或权限不是一个选项。

trap 'echo "$USER":"$BASH_COMMAND" >> /proc/1/fd/1' DEBUG

到目前为止已经尝试了以下几种:

  • 一个可行的选项是将容器作为non-root运行,但不幸的是,这不是一个选项
  • 只更改权限/所有权的选项不会更改权限/所有者
  • 此外,将mesg y添加到/etc/profile以允许访问root用户也不起作用,因为在执行su - non-root时,权限被拒绝(mesg: cannot open /dev/pts/2: Permission denied(-无法更改权限
  • 添加一个特殊文件并尝试从那里重定向日志的选项也不起作用,但权限仍然被拒绝。例如:
mkfifo -m 666 /tmp/logpipe  #create the special file
trap 'echo "$USER":"$BASH_COMMAND" <> /tmp/logpipe > /proc/1/fd/1' DEBUG  # in /etc/profile
  • 更改为trap 'echo "$USER":"$BASH_COMMAND"' DEBUG也不起作用,因为在docker的情况下,日志需要转到/proc/1/fd/1

如何在docker容器中启用命令行审核日志记录,或者在以root用户身份运行的容器中解决non-root/proc/1/fd/1权限问题?

非常感谢任何想法。

啊,遇到了我自己的问题:D因此,Falco可以用作HIDS(基于主机的入侵检测系统(,它将根据Flaco配置中定义的规则对任何异常活动发出警报。这可以作为Deamonset(特权(部署,也可以直接部署在节点上。

相关内容

  • 没有找到相关文章

最新更新