最近建站总会遇到DDoS或者CC攻击,如何测试自己的网站到底抗不抗攻击呢?这里可以利用测压工具:webBenchmark来模拟压力测试,如何防护CC攻击呢?这里是可以使用Cloudflare或BT宝塔面板国际版(aapanel)进行防护。接下来搬主题就分享一下进行网站压力测试及CC防御的方法图文教程。
注意:本站只是学习和交流,禁止直接拿来攻击其他人的网站。网络不是法外之地!
一、webBenchmark测压
安装webBenchmark:
wget https://github.com/maintell/webBenchmark/releases/download/0.5/webBenchmark_linux_x64 chmod +x webBenchmark_linux_x64
开始测压:
官网命令 ./webBenchmark_linux_x64 -c [COUNT] -s [URL] -r [REFERER] -c int concurrent routines for download (default 16) 下载线程数,默认16线程 -r string referer url 从哪里跳转到该网站,这个主要针对设置了防盗链的资源 -s string target url (default "https://baidu.com") 压力测试目标网址 -i string custom ip address for that domain, multiple addresses automatically will be assigned randomly 网站IP,指定网站IP即使套了CDN,数据包也不会经过CDN而是直接到源站 -H http header pattern http header pattern, use Random with number prefix will generate random string, same key will be overwritten -f string randomized X-Forwarded-For and X-Real-IP address -p string post content
搬主题以演示网站”dd.tanglu.cf”为例,测试该网站下最大的一个2MB小文件”http://dd.tanglu.cf/1.png“
./webBenchmark_linux_x64 -c 512 -s http://dd.tanglu.cf/1.png -i 51.81.222.246 #512线程,目标IP为源站IP #源站服务器显示有512个请求
因为服务器带宽小(只有100MB)所以还未打满CPU,但是带宽被打满了也造成了网站卡顿。同时30s的时间产生了7MB的Nginx访问日志,继续下去可能会使机器硬盘容量不足而直接崩掉。
二、如何防御
1、套Cloudflare防御
Cloudflare可以自动防御DDoS,也可以手动 设置规则 防御cc攻击。
当配置了”Rate limiting rules”规则时(也就是配置CC规则),Cloudflare会自动对超速的IP进行限制。
Cloudflare还会对DDoS的攻击IP发起质询检查,如果不是真实浏览器会拒绝。
2、BT宝塔/aapanel设置防止CC
网站未套CDN
在应用商店搜索”Nginx free firewall”,下载完成后打开即可
网站有CDN
网站有CDN的话,首先将CDN的IP加入白名单,这一步主要是避免源服务器拉黑了CDN节点 影响正常用户访问
套了CDN防cc可以在CDN设置请求速率限制,也可以继续使用 Nginx free firewal
插件
如果在源服务器使用插件,就需要让Nginx记录的IP为访客IP 而不是CDN的IP
#在nginx的http块中加入下面两行即可实现记录访客IP set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For; #然后重启nginx更新配置
这样插件就不会拦截CDN的IP而是拦截某个访客的IP
3、国内CDN利用规则防御
国内CDN带有速率限制规则的厂家很少,阿里云的WAF也不免费,这里演示的是腾讯云的CDN
设置QPS:限制每个IP的每秒请求量 具体设置多少可以根据网站的文件资源,在没办法设置请求速率限制的情况下只能设置这个了
设置用量封顶限制:比如每天限制流量为2GB 这个很好的防止破产
设置请求速率限制:这个是最好的防CC策略。在一些CDN厂家可以进行设置。
文章转自tanglu:https://blog.tanglu.me/stop-cc/
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容