如何在 Falco 上下文中通过 Ansible 在远程主机上识别命令 运行?
How to identify commands ran by Ansible on a remote host in Falco context?
我想知道是否有人知道如何通过 Ansible 在远程主机中识别命令 运行。
为了给您更多背景信息,我将深入描述我的工作流程:
我在凌晨 1 点到 6 点之间安排了一项工作,该工作运行合规性 Ansible 剧本以确保生产服务器配置是最新的且配置良好,但是,该剧本更改了/etc
个文件夹。
除此之外,我还有一个 Falco 堆栈,它密切关注生产服务器上发生的事情,并在发现我描述为可疑的事件时发出警报(它可以是系统调用/网络连接/敏感文件编辑“/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:在我看来,将用户 root
列入白名单 python3
不是解决方案。
Ansible 是 python 工具,因此访问文件的进程将是 python3
。 Ansible 执行的命令基于剧本中的步骤。
您可以通过修改falco
规则来解决您的问题。您可以评估 falcon 规则中的 proc.pcmdline
和 proc.aname
的链来识别该命令是由 ansible 进程执行的(例如进程是 python3
,parent 是sh
grandparent 是 sudo
,等等)
我想知道是否有人知道如何通过 Ansible 在远程主机中识别命令 运行。
为了给您更多背景信息,我将深入描述我的工作流程:
我在凌晨 1 点到 6 点之间安排了一项工作,该工作运行合规性 Ansible 剧本以确保生产服务器配置是最新的且配置良好,但是,该剧本更改了
/etc
个文件夹。除此之外,我还有一个 Falco 堆栈,它密切关注生产服务器上发生的事情,并在发现我描述为可疑的事件时发出警报(它可以是系统调用/网络连接/敏感文件编辑“/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:在我看来,将用户 root
列入白名单 python3
不是解决方案。
Ansible 是 python 工具,因此访问文件的进程将是 python3
。 Ansible 执行的命令基于剧本中的步骤。
您可以通过修改falco
规则来解决您的问题。您可以评估 falcon 规则中的 proc.pcmdline
和 proc.aname
的链来识别该命令是由 ansible 进程执行的(例如进程是 python3
,parent 是sh
grandparent 是 sudo
,等等)