Wazuh - 利用CDB list过滤私网IP地址

需求

​ 目前平台接入了Suricata的告警规则, 由于镜像源的关系部分规则产生了**’误’**告警, 因此需要针对这部分规则进行IP地址的过滤。

解决方法

  1. 修改Suricata的规则, 如果你的**’误’**告警量很大且为了性能考虑, 推荐直接修改Suricata的规则。
  2. 由于我这边的Suricata告警都是利用Wazuh进行**’消费’的。因此, 我这边直接采用了Wazuh CDB list**这个功能进行指定IP地址的过滤。

步骤

1. 创建 CDB list

Each key must be unique and is terminated with a colon :.

For IP addresses the dot notation is used for subnet matches:

key CIDR Possible matches
192.168.: 192.168.0.0/16 192.168.0.0 - 192.168.255.255
172.16.19.: 172.16.19.0/24 172.16.19.0 - 172.16.19.255
10.1.1.1: 10.1.1.1/32 10.1.1.1
1
2
3
$ vim /var/ossec/etc/lists/private_ip

10.168.:PrivateNet

Since Wazuh v3.11.3, CDB lists are built and loaded automatically when the analysis engine is started. Therefore, when adding or modifying CDB lists, it is no longer needed to run ossec-makelists, just restart the manager.

从Wazuh v3.11.3开始,将在启动分析引擎时自动构建和加载CDB列表。因此,添加或修改CDB列表时,不再需要运行ossec-makelists,只需重新启动管理器即可。

3.11.3 之前版本需要执行

1
$ /var/ossec/bin/ossec-makelists
2. 在 ossec.conf 中添加 list
1
2
3
4
5
6
7
8
$ vim /var/ossec/etc/ossec.conf

<ossec_config>
<ruleset>
<!-- User-defined CDB -->
<list>etc/lists/private_ip</list>
</ruleset>
</ossec_config>
3. 重启进程
1
$ systemctl restart wazuh-manager
4. 配置规则
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<var name="SAME_IP_TIME">120</var>
<var name="SAME_IP_IGORE">300</var>

<group name="local,suricata,ids,">

<rule id="102018" level="8" frequency="5" timeframe="$SAME_IP_TIME" ignore="$SAME_IP_IGORE">
<if_matched_sid>86601</if_matched_sid>
<field name="alert.signature_id">2013057</field>
<list field="src_ip" lookup="not_address_match_key">etc/lists/private_ip</list>
<description>Wazuh Rules - Same ip of attack occurred 5 times within $SAME_IP_TIME seconds. $(src_ip) -> $(alert.signature) -> $(alert.signature_id).</description>
<options>no_full_log</options>
</rule>

</group>
5. 测试规则
1
$ /var/ossec/bin/ossec-logtest

参考