0

我正在努力编写自定义 wazuh 规则,以便在编写特定命令(powershell 和 bash)时发送警报。

谁能帮我?

提前致谢!

4

1 回答 1

0

Linux 系统有一个强大的审计工具,称为 auditd,它可以非常详细地记录系统中的操作和更改,但默认情况下,没有活动的 auditd 规则,所以我们往往会错过这个详细的历史记录。

让我们按照以下步骤创建自定义规则:

  1. 在我们的 linux-agent 机器上已经 sudo 编辑为 root,将以下审计规则附加到/etc/audit/rules.d/audit.rules
echo "-a exit,always -F auid=1000 -F egid!=994 -F auid!=-1 -F arch=b32 -S execve -k audit-wazuh-c" >> /etc/audit/rules.d/audit.rules
echo "-a exit,always -F auid=1000 -F egid!=994 -F auid!=-1 -F arch=b64 -S execve -k audit-wazuh-c" >> /etc/audit/rules.d/audit.rules

其中auid=1000代表用户 ID。如果不确定,您可以通过运行来验证此值:(grep centos /etc/passwd如果您有不同的用户名,请替换 centos)。

  1. 重新加载规则并确认它们就位:
auditctl -R /etc/audit/rules.d/audit.rules
auditctl -l

现在,我们将创建一个 Wazuh 将监视的命令列表:

  1. 在 wazuh-manager 上,/var/ossec/etc/lists/suspicious-programs使用以下内容创建:
ncat:
nc:
tcpdump:
ping:
  1. 在 wazuh-manager 上,将其添加到<ruleset>ossec 配置部分/var/ossec/etc/ossec.conf
<ruleset>
 <list>etc/lists/suspicious-programs</list>
  1. 现在让我们添加一个使用此列表作为其条件的一部分的新规则,以便/var/ossec/etc/rules/local_rules.xml在 Wazuh Manager 上添加以下内容。
<group name="audit">
  <rule id="100200" level="8">
      <if_sid>80792</if_sid>
      <list field="audit.command" lookup="match_key">etc/lists/suspicious-programs</list>
      <description>Audit: Suspicious Command: $(audit.exe)</description>
      <group>audit_command,</group>
  </rule>
</group>
  1. 编译 CDB 列表(如果您的版本低于v3.11.0):
/var/ossec/bin/ossec-makelists
  1. 重启 Wazuh 管理器

现在,如果您运行,例如,tcpdump –-version规则100200将匹配并触发警报。

您可以在此处查看更多信息

于 2021-08-20T07:56:58.387 回答