【问题标题】:How to identify commands ran by Ansible on a remote host in Falco context?如何在 Falco 上下文中识别 Ansible 在远程主机上运行的命令?
【发布时间】:2021-03-14 00:56:34
【问题描述】:

我想知道是否有人知道如何识别 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:在我看来,将python3 用户root 列入白名单并不是一个解决方案。

【问题讨论】:

    标签: docker ssh ansible devops falco


    【解决方案1】:

    Ansible 是 python 工具,所以访问文件的进程将是python3。 Ansible 执行的命令基于 playbook 中的步骤。

    您可以通过修改falco 规则来解决您的问题。您可以评估 falcon 规则中的 proc.pcmdlineproc.aname 的链,以识别命令是由 ansible 进程执行的(例如进程是 python3,父进程是 sh 祖父是 sudo 等.)

    【讨论】:

      猜你喜欢
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多