前言:
建站总会遇到ddos以及cc攻击,本文利用测压工具:[链接登录后可见],来模拟压力测试,并使用cloudflare或宝塔(aapanel)进行防护
无不良引导,随意攻击他人是违法行为,可能导致服务器被举报封禁,也会对他人财产进行不法侵害,后果自负
这里引用loc一个案例以示警告:[链接登录后可见]
webBenchmark测压演示
安装webBenchmark:
代码登录后可见
开始测压:
代码登录后可见
我以演示网站”ping.poiblog.com”为例,测试该网站下最大的一个2MB小文件”
代码登录后可见
带宽被打满了造成网站访问卡顿,同时短时间内产生大量的日志,继续下去可能会使机器硬盘容量不足而死机。
[链接登录后可见]
防御
套cloudflare防御
cloudflare可以自动防御ddos,也可以手动 设置规则 防御cc攻击
当配置了”Rate limiting rules”规则时(也就是配置CC规则),cloudflare会自动对超速的IP进行限制
cloudflare还会对doos的攻击IP发起质询检查,如果不是真实浏览器会拒绝
宝塔/aapanel设置防止CC
网站未套cdn
在应用商店搜索”nginx free firewall”,下载完成后打开即可
网站有cdn
网站有cdn的话,首先将cdn的IP加入白名单,这一步主要是避免源服务器拉黑了cdn节点 影响正常用户访问
套了cdn防cc可以在cdn设置请求速率限制,也可以继续使用 代码登录后可见 插件
如果在源服务器使用插件,就需要让nginx记录的IP为访客IP 而不是cdn的IP
代码登录后可见
国内CDN利用规则防御
国内cdn带有速率限制规则的厂家很少,aliyun的WAF也不免费
设置QPS:限制每个IP的每秒请求量 具体设置多少可以根据网站的文件资源,在没办法设置请求速率限制的情况下只能设置这个了
设置用量封顶限制:比如每天限制流量为2GB 这个很好的防止破产
设置请求速率限制:这个是最好的防CC策略,但我没有找到有这个的国内商家
你可以自行设置SHELL脚本来控制服务器的流量速率。