我想知道是否有人知道如何识别Ansible在远程主机中运行的命令。
为了给您提供更多的上下文,我将深入描述我的工作流程:
/etc文件夹中的一些文件。此外,我还有一个Falco堆栈,它可以监视生产服务器上的情况,并在发现我描述为可疑的事件时发出警报(可以是syscall/网络连接/敏感文件编辑"/etc/passwd,pam.conf,.“)。
所以我遇到的问题是,我的剧本会触发一些警告,例如:
Warning Sensitive file opened for reading by non-trusted program (user=XXXX user_loginuid=XXX program=python3 command=python3 file=/etc/shadow parent=sh gparent=sudo ggparent=sh gggparent=sshd container_id=host image=<NA>)我的问题是,我们能否为所有的Ansible命令设置一个“标志或前缀”,这将允许我白名单这个前缀的标志,避免触发我的警报。
PS:在我看来,为用户python3添加root不是一个解决方案。
发布于 2021-03-14 04:05:56
Ansible是python工具,因此访问文件的进程将是python3。Ansible执行的命令基于剧本中的步骤。
您可以通过修改falco规则来解决问题。您可以在falcon规则和proc.aname链中评估该命令,以确定该命令是由ansible进程(例如)执行的。进程是python3,父进程是sh,祖父母是sudo,等等)
https://stackoverflow.com/questions/66620069
复制相似问题