WAZUHOSSEC - 覆盖规则似乎不起作用。

问题描述 投票:0回答:1

我正试图按照文档中的规定覆盖一条规则,就像下面这样

https:/documentation.wazuh.com3.12learning-wazuhreplace-stock-rule.html。

所以我把一条规则复制到local_rules.xml中,创建了自己的组(在此之前也试着把它放在规则原来的组标签中),但它似乎完全忽略了它。

这是我在local_rules. xml中的内容。

<group name="istvan">
    <rule frequency="8" id="31533" level="9" overwrite="yes" timeframe="20">
        <if_matched_sid>31530</if_matched_sid>
        <same_source_ip/>
        <description>High amount of POST requests in a small period of time (likely bot).</description>
        <group>pci_dss_6.5,pci_dss_11.4,gdpr_IV_35.7.d,nist_800_53_SA.11,nist_800_53_SI.4,</group>
    </rule>
</group>

我只把级别改成了9,并添加了overwrite="yes "标签。我的想法是,它不会给我发送这个警报(因为我的treshold被设置为10级以上),保存,重启,但它完全无视它,我仍然收到那些带有10级标签的警报。

坦率地说,我开始不明白为什么会发生这种情况。

有什么办法吗?

谢谢。

customization rules ossec
1个回答
0
投票

一个测试预期行为的好方法是使用 /var/ossec/bin/ossec-logtest 如该文档中提到的。

为了详细说明,我将以该文档为例。

  • 我将覆盖规则5716。https:/github.comwazuhwazuh-rulesetblob317052199f751e5ea936730710b71b27fdfe2914rules0095-sshd_rules.xml#L121。,如下图所示。

    [root@localhost vagrant]# egrep -iE "ssh" /var/ossec/etc/rules/local_rules.xml -B 4 -A 3
    
    <rule id="5716" overwrite="yes" level="9">
      <if_sid>5700</if_sid>
      <match>^Failed|^error: PAM: Authentication</match>
      <description>sshd: authentication failed.</description>
      <group>authentication_failed,pci_dss_10.2.4,pci_dss_10.2.5,gpg13_7.1,gdpr_IV_35.7.d,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AU.14,nist_800_53_AC.7,</group>
    </rule>
    
  • 不需要重启Wazuh管理器就可以测试日志,打开...。/var/ossec/bin/ossec-logtest 然后粘贴我的日志。

2020/05/26 09:03:00 ossec-testrule: INFO: Started (pid: 9849).
ossec-testrule: Type one log per line.

Oct 23 17:27:17 agent sshd[8221]: Failed password for root from ::1 port 60164 ssh2


**Phase 1: Completed pre-decoding.
      full event: 'Oct 23 17:27:17 agent sshd[8221]: Failed password for root from ::1 port 60164 ssh2'
      timestamp: 'Oct 23 17:27:17'
      hostname: 'agent'
      program_name: 'sshd'
      log: 'Failed password for root from ::1 port 60164 ssh2'

**Phase 2: Completed decoding.
      decoder: 'sshd'
      dstuser: 'root'
      srcip: '::1'
      srcport: '60164'

**Phase 3: Completed filtering (rules).
      Rule id: '5716'
      Level: '9'
      Description: 'sshd: authentication failed.'

正如预期的那样,等级已经被覆盖,最初是5级。 虽然在你的情况下,你必须在低于20秒的时间范围内粘贴8次日志才能触发该规则。

  • 如果你能分享触发该警报的日志,我可以用它进行测试。

另一方面,你可以创建一个兄弟规则来简单地忽略你的规则31533,类似于下面。

<rule id="100010" level="2">
   <if_sid>31533</if_sid>
   <description>Ignore rule 31533</description>
 </rule>

确保之后重启Wazuh管理器以应用该更改。

你可以在这里找到更多关于自定义规则解码器的信息。https:/wazuh.comlogcreating-decoders-and-rules-from-scratch。

希望对你有所帮助。


0
投票

最后和开发人员沟通后,发现确实是忽略了local_rules.xml。我有一条规则被strage排除了(可能是语法有问题,虽然它没有报错)。

      "rule_exclude": [
     "31151"

当我把它删除后,它开始按照用户指南中的描述工作。

© www.soinside.com 2019 - 2024. All rights reserved.