OSSEC联动阻断WEB页面CC攻击

实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

实验名称:

OSSEC联动阻断WEB页面CC攻击

实验环境

三台机器 一台OSSEC服务器,同时作为WEB服务器 一台windows客户端,访问WEB 一台linux客户端,访问WEB

实验原理

OSSEC服务器,根据日志与规则,解析出对应IP字段,调用默认脚本,使用iptables进行IP阻断。

实验步骤

一、 安装iptables用于阻断

登录OSSEC服务器,切换为root用户

sudo -i 输入密码360College

安装iptables

yum install -y iptables*

启动iptables

systemctl start iptables

在局域网放行SSH的22和80端口

iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -s 192.168.0.0/24 -j ACCEPT

二、配置WEB服务器

vim /var/www/html/test.txt 随便输入内容。

三、添加APACHE日志监控

编辑OSSEC配置

vim /var/ossec/etc/ossec.conf

加入以下内容,注意位置

<localfile>
<log_format>apache</log_format>
<location>/var/log/httpd/access_log</location>
</localfile>

保存后退出

添加日志权限

chmod +r /var/log/httpd/access_log

四、 新建告警规则

登录 OSSEC服务器操作 vim /var/ossec/rules/web_rules.xml

在最后加入

  <rule id="31179" level="3">
   <if_sid>31108</if_sid>
   <url>.txt</url>
   <description>target url </description>
  </rule>

<rule id="31180" level="13" frequency="15" timeframe="60">
  <if_matched_sid>31179</if_matched_sid>
  <same_source_ip />
  <description>alert_attack </description>
  <group>DDOS</group>
</rule>

保存退出后,重启服务器端服务

/var/ossec/bin/ossec-control restart

五、测试报警与阻断

登录 web-curl-client

重复发送测试命令,发20次,注意替换IP为OSSEC SERVER IP地址 curl 192.168.0.55/test.txt

到后面发送已经没有响应

六、阻断规则配置思路

查看配置 vim /var/ossec/etc/ossec.conf

 其关键是srcip这个参数识别。 OSSEC能中apache日志中识别到这个参数

当含有srcip的规则,触发告警,且级别大于6,就会自动阻断。 

查看iptables规则 iptables -nvL

查看阻断日志 cat /var/ossec/logs/active-responses.log

此时用另一台windows设备是可以正常访问OSSEC的WEB页面

实验小结:

OSSEC的阻断思路,是从日志中提取IP来进行操作。 OSSEC自带的阻断脚本比较完善,只会阻断600秒,600秒后,会放出iptables的小黑屋。又可以重新访问。

当然也可以结合规则 ,提取其它字段进行脚本操作。

posted @ 2020-11-17 20:23  码小农的幸福生活  阅读(335)  评论(0编辑  收藏  举报