开源安全管理平台wazuh-阻止恶意IP访问
文章目录
- 一、环境准备
- 二、wazuh配置
- 1、wazuh-agent配置
- 1)安装nginx服务并配置wazuh-agent
- 2) 安装apach2并配置wazuh-agent
- 2、wazuh-server配置
- 1)配置IP信息黑名单
- 2)配置响应模块以阻止恶意IP地址
- 三、效果验证
- 1、模拟攻击
- 2、可视化效果验证
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
sudo apt updat
sudo apt install nginx
允许防火墙访问
sudo ufw allow 'Nginx Full'
sudo ufw status
sudo ufw app list
验证nginx服务状态
sudo systemctl status nginx
用浏览器访问http://192.168.0.41验证nginx服务是否正常访问
将以下内容添加到 /var/ossec/etc/ossec.conf
文件中,以配置 Wazuh 代理并监控 nginx访问日志
<localfile><log_format>syslog</log_format><location>/var/log/nginx/access.log</location></localfile>
重启wazuh-agent使配置生效
sudo systemctl restart wazuh-agent
2) 安装apach2并配置wazuh-agent
在192.168.0.43上安装apach2
sudo apt update
sudo apt install apache2
允许防火墙访问
sudo ufw allow 'Apache'
sudo ufw status
sudo ufw app list
验证nginx服务状态
sudo systemctl status apache2
用浏览器访问http://192.168.0.43 验证apache2服务是否正常访问
将以下内容添加到 /var/ossec/etc/ossec.conf
文件中,以配置 Wazuh 代理并监控 apache2访问日志
<localfile><log_format>syslog</log_format><location>/var/log/apache2/access.log</location>
</localfile>
重启wazuh-agent使配置生效
sudo systemctl restart wazuh-agent
2、wazuh-server配置
1)配置IP信息黑名单
下载Alienvault IP信誉数据库:
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信誉数据库中:
sudo echo "192.168.0.65" >> /var/ossec/etc/lists/alienvault_reputation.ipset
下载一个将 .ipset 格式转换为 .cdb 列表格式的脚本:
sudo wget https://wazuh.com/resources/iplist-to-cdblist.py -O /tmp/iplist-to-cdblist.py
通过运行iplist-to-cdblist.py将ipset转换成.cdb 列表格式blacklist-alienvault
sudo python3 /tmp/iplist-to-cdblist.py /var/ossec/etc/lists/alienvault_reputation.ipset /var/ossec/etc/lists/blacklist-alienvault
为生成的文件分配正确的权限:
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主动响应脚本。
<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
的配置文件中
<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秒
<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管理器以应用更改生效:
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.41
和curl http://192.168.0.43
首次可以返回信息,每次过60秒才能再次返回信息。
2、可视化效果验证
可以在Wazuh仪表板中可视化警报数据。在威胁狩猎模块,添加过滤器以查询警报。
在威胁狩猎模块可以看到有恶意IP地址在信誉库中被匹配到的告警,被防火墙自动阻断响应的告警以及60秒以后自动解除阻断的处置信息。
在详情信息中可以看到攻击阻止的详细信息,通过攻击源IP匹配到了信誉库的黑名单,触发了防火墙封堵规则进行了自动封堵。
至此,我们通过一个完整的POC验证了wazuh发现恶意IP攻击到自动封堵阻止攻击的全过程。
作者博客:http://xiejava.ishareread.com/