CC爬虫攻击测试与防护
CC爬虫攻击测试与防护
本文章旨在对最基本的CC攻击进行测试与防护,本次测试的所有站点均为本人自建,没有也不会去攻击其他站点。希望各位读者能够遵循当地法律法规,不要做危害他人计算机的行为
测试流程
- 裸机无防护测试;
- WAF雷池测试
- Cloudflare 防护测试
测试
程序
在这里我用Python写了一个小脚本,主要使用了aiohttp
和asyncio
两个库,模拟高并发来进行测试
当然你同样可以使用requests
来进行测试
如果你想测试比较极端的环境,你甚至可以部署很多的Docker容器,模拟高并发环境
默认的参数total_requests = 10000
、threads = 20
肉鸡
测试的机器是一台2C2G的服务器:
上面部署了一个最基础的以Halo为模板的博客系统,来模拟常见的业务过程
裸机无防护测试
一上来攻击CPU直接炸了
网页访问很慢,由于我使用了Ajax加载,从而导致网页无法正常跳转,表现为一直留在原界面,用户端体验极差
WAF雷池测试
雷池实际上是一个类似于Nginx Proxy Manager的反代程序,不过它最具特色的就是带有防火墙功能:
因为专业版要钱,所以在这里我们只用最基础的社区版,按照官方的要求,我们应该将他部署在另外一台干净的反代服务器上,但是由于我们只进行最基础的测试,我这里就部署在同一台机器上了:
请务必确定反代前源服务器的可用性:(在这里你可以填入容器内的IP地址,就可以不开启云服务器的端口)
未开启防火墙
现在我们还未开启任何防护服务,开始测试:
可以看到在被攻击的全程,服务器被打爆了,CPU占有率一直高居不下,网站也无法正常访问
开启防火墙
开启人机验证,开启之后进入网页需要我们等待片刻(有点类似于Cloudflare的CAPTCHA)
此时我们重新攻击:
此时的过程很有意思,服务器的CPU占用会先飚的很高,之后会迅速降低,趋于平均,网站也恢复正常访问
Cloudflare 防护测试
CND
如图,已经通过 Cloudflare小黄云代理了:
开始测试:
服务器也还是直接炸了,网站无法正常打开
自动程序攻击模式未奏效
一直到攻击结束,Cloudflare都未能对CC攻击做出正确反映和拦截(我估计是要氪金?
Tunnels
我们先创建一个Tunnel,在这里我直接使用Docker进行部署:
开始测试之后:
还是炸,Cloudflare没有任何拦截作用~
最后还是欢迎光临我的小站:小树 | CC爬虫攻击测试与防护