开源安全管理平台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/

相关推荐
世人万千丶15 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
AI_零食17 小时前
Flutter 框架跨平台鸿蒙开发 - 孤独指数应用
学习·flutter·开源·harmonyos
数字供应链安全产品选型17 小时前
AI造“虾”易,治理难?悬镜多模态 SCA 技术破局 AI 数字供应链治理困局!
人工智能·安全·网络安全·ai-native
芯智工坊17 小时前
第13章 Mosquitto监控与日志管理
前端·网络·人工智能·mqtt·开源
扬帆破浪18 小时前
开源的WPS AI文档编审软件适用场景:察元 AI 文档助手
人工智能·开源
扬帆破浪18 小时前
麒麟系统安装察元 WPS AI 文档助手:免费、开源、离线部署说明
人工智能·开源·wps
搜佛说18 小时前
01-第1章-概述与快速开始
物联网·golang·开源·软件工程·边缘计算·嵌入式实时数据库
ALex_zry18 小时前
gRPC服务熔断与限流设计
c++·安全·grpc
2301_8227032019 小时前
开源鸿蒙跨平台Flutter开发:跨端图形渲染引擎的类型边界与命名空间陷阱:以多维雷达图绘制中的 dart:ui 及 StrokeJoin 异常为例
算法·flutter·ui·开源·图形渲染·harmonyos·鸿蒙
kang0x019 小时前
Night Coder - Writeup by AI
安全