开源安全管理平台wazuh-阻止恶意IP访问

文章目录

Wazuh是一个功能强大的开源安全平台,它集成了安全信息与事件管理(SIEM)和扩展检测与响应(XDR)的能力,旨在为本地、虚拟化、容器化及云环境中的工作负载提供统一的威胁预防、检测和响应解决方案。
开源安全管理平台wazuh-安装与配置》介绍了wazuh的安装和配置,本文基于已经完成的wazuh安装配置基础上通过POC来验证wazuh的功能,通过wazuh来阻止已知的恶意IP的访问。

一、环境准备

POC环境如下图所示:

主机 描述
安全管理平台wazuh-server (192.168.0.40) All in one安装wazuh,监控wazuh-agent上报的告警信息进行可视化展示,并联动wazuh-agent进行主动的拦截阻止
Nginx服务器 (192.168.0.41) 安装Nginx服务及wazuh-agent
Apache2服务器 (192.168.0.43) 安装Apache2服务及wazuh-agent
kali (192.168.0.65) Kali (模拟恶意IP主机)

以上除192.168.0.65是kali linux外,其他主机都是ubuntu。

二、wazuh配置

1、wazuh-agent配置

1)安装nginx服务并配置wazuh-agent

在192.168.0.41上安装nginx

bash 复制代码
sudo apt updat
sudo apt install nginx

允许防火墙访问

bash 复制代码
sudo ufw allow 'Nginx Full'
sudo ufw status
sudo ufw app list

验证nginx服务状态

bash 复制代码
sudo systemctl status nginx

用浏览器访问http://192.168.0.41验证nginx服务是否正常访问

将以下内容添加到 /var/ossec/etc/ossec.conf 文件中,以配置 Wazuh 代理并监控 nginx访问日志

xml 复制代码
  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/nginx/access.log</location>
  </localfile>

重启wazuh-agent使配置生效

bash 复制代码
sudo systemctl restart wazuh-agent
2) 安装apach2并配置wazuh-agent

在192.168.0.43上安装apach2

bash 复制代码
sudo apt update
sudo apt install apache2

允许防火墙访问

bash 复制代码
sudo ufw allow 'Apache'
sudo ufw status
sudo ufw app list

验证nginx服务状态

bash 复制代码
sudo systemctl status apache2

用浏览器访问http://192.168.0.43 验证apache2服务是否正常访问

将以下内容添加到 /var/ossec/etc/ossec.conf 文件中,以配置 Wazuh 代理并监控 apache2访问日志

xml 复制代码
<localfile>
  <log_format>syslog</log_format>
  <location>/var/log/apache2/access.log</location>
</localfile>

重启wazuh-agent使配置生效

bash 复制代码
sudo systemctl restart wazuh-agent

2、wazuh-server配置

1)配置IP信息黑名单

下载Alienvault IP信誉数据库:

bash 复制代码
sudo wget https://iplists.firehol.org/files/alienvault_reputation.ipset -O /var/ossec/etc/lists/alienvault_reputation.ipset

将攻击端点的IP地址(kali的IP地址192.168.0.65)添加到IP信誉数据库中:

bash 复制代码
sudo echo "192.168.0.65" >> /var/ossec/etc/lists/alienvault_reputation.ipset

下载一个将 .ipset 格式转换为 .cdb 列表格式的脚本:

bash 复制代码
sudo wget https://wazuh.com/resources/iplist-to-cdblist.py -O /tmp/iplist-to-cdblist.py

通过运行iplist-to-cdblist.py将ipset转换成.cdb 列表格式blacklist-alienvault

bash 复制代码
sudo python3 /tmp/iplist-to-cdblist.py /var/ossec/etc/lists/alienvault_reputation.ipset /var/ossec/etc/lists/blacklist-alienvault

为生成的文件分配正确的权限:

bash 复制代码
sudo chown wazuh:wazuh /var/ossec/etc/lists/blacklist-alienvault

确认一下恶意IP192.168.0.65是否在黑名单里

2)配置响应模块以阻止恶意IP地址

在Wazuh服务器上的 /var/ossec/etc/rules/local_rules.xml 自定义规则集文件中添加一个自定义规则以触发Wazuh主动响应脚本。

bash 复制代码
<group name="attack,">
  <rule id="100100" level="10">
    <if_group>web|attack|attacks</if_group>
    <list field="srcip" lookup="address_match_key">etc/lists/blacklist-alienvault</list>
    <description>IP address found in AlienVault reputation database.</description>
  </rule>
</group>

将自定义规则集加入到Wazuh server /var/ossec/etc/ossec.conf 的配置文件中

xml 复制代码
<ossec_config>
  <ruleset>
    <!-- Default ruleset -->
    <decoder_dir>ruleset/decoders</decoder_dir>
    <rule_dir>ruleset/rules</rule_dir>
    <rule_exclude>0215-policy_rules.xml</rule_exclude>
    <list>etc/lists/audit-keys</list>
    <list>etc/lists/amazon/aws-eventnames</list>
    <list>etc/lists/security-eventchannel</list>
    <list>etc/lists/blacklist-alienvault</list>

    <!-- User-defined ruleset -->
    <decoder_dir>etc/decoders</decoder_dir>
    <rule_dir>etc/rules</rule_dir>
  </ruleset>
</ossec_config>

将活动响应块添加到Wazuh服务器/var/ossec/etc/ossec.conf 文件:

防火墙丢弃命令与Ubuntu本地iptables防火墙集成,并丢弃来自攻击端点的网络连接60秒

xml 复制代码
<ossec_config>
  <active-response>
    <disabled>no</disabled>
    <command>firewall-drop</command>
    <location>local</location>
    <rules_id>100100</rules_id>
    <timeout>60</timeout>
  </active-response>
</ossec_config>

重新启动Wazuh管理器以应用更改生效:

bash 复制代码
sudo systemctl restart wazuh-manager

三、效果验证

1、模拟攻击

用kali(192.168.0.65)访问 http://192.168.0.41和http://192.168.0.43

攻击端点首次连接到受害者的Web服务器。首次连接后,Wazuh主动响应模块临时阻止对Web服务器的任何后续连接60秒。

通过浏览器访问可以看到首次访问后每次都会被阻止60秒才能继续访问。

通过curl http://192.168.0.41curl http://192.168.0.43 首次可以返回信息,每次过60秒才能再次返回信息。

2、可视化效果验证

可以在Wazuh仪表板中可视化警报数据。在威胁狩猎模块,添加过滤器以查询警报。

在威胁狩猎模块可以看到有恶意IP地址在信誉库中被匹配到的告警,被防火墙自动阻断响应的告警以及60秒以后自动解除阻断的处置信息。

在详情信息中可以看到攻击阻止的详细信息,通过攻击源IP匹配到了信誉库的黑名单,触发了防火墙封堵规则进行了自动封堵。

至此,我们通过一个完整的POC验证了wazuh发现恶意IP攻击到自动封堵阻止攻击的全过程。


作者博客:http://xiejava.ishareread.com/

相关推荐
苏灿烤鱼6 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"
python·开源·agent
stormzhangV12 小时前
微信内部的生产级模型,居然开源了
开源·ai编程
yunlong326715 小时前
吊车选型与载荷计算:避开4个坑,安全吊装不再难
安全·方案·事故·吊装·起重·吊装重量·吊装半径
IT大白鼠16 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Flynt16 小时前
1200个AI Agent自己组了个群,把Hugging Face黑了
安全·openai·agent
冬奇Lab17 小时前
Code Agent 解剖(15):Harness 设计之五——可观测性
人工智能·开源
冬奇Lab17 小时前
开源项目第203期:Cumora — AI Agent 与人类同队的跨平台团队协作工具
人工智能·开源·资讯
IT古董19 小时前
AI 资讯日报 | 2026年8月29日:开源大模型三连发,DeepSeek 500 亿融资落地
人工智能·开源
Acrel123421 小时前
筑牢用电安全防线,ARCM300 守护低压配电消防安全
安全
xiaoqiMikko21 小时前
一条 CVSS 9.0 的 RCE,advisory 里没写修复版是哪个 —— fastjson 16723 的字段考古
java·安全