WAF防护之CC防护应用

安全
前言

本示例仅做测试使用,进行学习交流,请自觉遵守法律法规!

本文中将 Web 应用防火墙简称为 WAF

问题描述

想要通过 WAF 检测跟拦截 CC 攻击请求,如何配置。

问题分析

CC 攻击是使用代理服务器向受害服务器发送大量貌似合法的请求,实现伪装,经常用于攻击页面。使用WAF的CC防护可根据网络访问 IP、Session 等各种 HTTP 请求对象进行请求限制,缓解 CC 攻击对服务器的影响。

解决方案

本文在 WAF 环境搭建成功,需要防护域名的流量已经调度到 WAF 集群,通过WAF可以访问到后端服务基础上。WAF环境的搭建,您可以参考此链接

:::warning 本文测试为模拟 CC 请求,并设置较低请求次数,来观察 CC 防护效果,并不涉及真实 CC 攻击。 :::

1、连续正常访问 WAF 防护的域名

使用curl进行测试,如下:

┌──(root)-[~/Test/waf]
└─# cat cc.sh                         
#!/bin/bash

for i in {1..20}
do
    curl -sI  shodan.xxxx.cn/sql/ >> cc.log
done

查看 cc.log 日志,其中正常返回如下:

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 01 Mar 2022 02:08:21 GMT
Content-Type: text/html
Content-Length: 7933
Connection: keep-alive
Vary: Accept-Encoding
Last-Modified: Fri, 31 Oct 2014 19:10:23 GMT
ETag: "1efd-506bcbfada5c0"
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Access-Control-Request-Method: GET,POST,PUT
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: X-Custom-Heade
Vary: Accept-Encoding

查看返回的响应码为 200 的个数,如下:

┌──(root)-[~/Test/waf]
└─# grep "HTTP/1.1 200" cc.log      
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
┌──(root)-[~/Test/waf]
└─# grep "HTTP/1.1 200" cc.log | wc -l
20

可以发现正常访问 20 次,都可以成功访问。

2、开启 CC 防护,添加规则

规则配置如下: alt

然后使用使用 curl 进行测试,如下:

┌──(root)-[~/Test/waf]
└─# cat cc.sh                         
#!/bin/bash

for i in {1..50}
do
    curl -sI  shodan.xxxx.cn/sql/ >> cc3.log
done

查看日志,发现 403 响应,如下:

HTTP/1.1 403 Forbidden
Server: nginx
Date: Tue, 01 Mar 2022 02:31:20 GMT
Content-Length: 0
Connection: keep-alive                     

然后查看控制台日志管理,如下: alt 可以发现攻击类型为 CC 攻击被拦截。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论