我正在努力编写自定义 wazuh 规则,以便在编写特定命令(powershell 和 bash)时发送警报。
谁能帮我?
提前致谢!
Linux 系统有一个强大的审计工具,称为 auditd,它可以非常详细地记录系统中的操作和更改,但默认情况下,没有活动的 auditd 规则,所以我们往往会错过这个详细的历史记录。
让我们按照以下步骤创建自定义规则:
/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)。
auditctl -R /etc/audit/rules.d/audit.rules
auditctl -l
现在,我们将创建一个 Wazuh 将监视的命令列表:
/var/ossec/etc/lists/suspicious-programs
使用以下内容创建:ncat:
nc:
tcpdump:
ping:
<ruleset>
ossec 配置部分/var/ossec/etc/ossec.conf
:<ruleset>
<list>etc/lists/suspicious-programs</list>
/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>
/var/ossec/bin/ossec-makelists
现在,如果您运行,例如,tcpdump –-version
规则100200
将匹配并触发警报。
您可以在此处查看更多信息。