众所周知,ITDOG 已经是非常厉害的测试工具。之前,ITDOG 大多都用于 Ping 服务器,而现在有一个“网站测速”功能,支持从一百多个节点向目标发送 HTTP 请求来获取网站访问情况。
这是好的功能,而很多小鬼发现,这简直就是免费 CC 攻击啊!
小手亿点,一分钟内就能制造绕过大部分小厂(包括润云)CDN 防火墙的巨量 HTTP 请求,轻轻松松搞瘫一个网站。
好在 ITDOG 也发现了这个问题,在他们网站上传了解决方案。
测试模式都是什么
ITDOG 有两种测试模式,一种叫“快速测试”,一种叫“慢速测试”。
快速测试就是让所有测试节点同时发起测试请求,这玩意儿容易打出 CC 攻击的效果。
慢速测试则是让节点排队测试,而不是一窝蜂都打进去。
不过小鬼不知道玩出什么花样的情况下,建议不需要自己测试的时候都禁了。
Nginx 服务器
屏蔽快速测试模式:
if ($http_checkmode = 'fast') { return 500; }
屏蔽慢速测试模式:
if ($http_checkmode = 'slow') { return 500; }
屏蔽所有模式:
if ($http_checkmode) { return 500; }
IIS 服务器
注:这些配置需要放置在配置文件<rewrite><rules>...放这里...</rewrite></rules>
节点里,并开启 URL 重写。
屏蔽快速测试模式:
<rule name="itdog_filter" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions> <add input="{HTTP_checkmode}" pattern="fast" /> </conditions> <action type="CustomResponse" statusCode="500" statusReason="ITDOG filter" statusDescription="ITDOG filter"/> </rule>
屏蔽慢速测试模式:
<rule name="itdog_filter" patternSyntax="Wildcard" stopProcessing="true"> <match url="*"/> <conditions> <add input="{HTTP_checkmode}" pattern="slow" /> </conditions> <action type="CustomResponse" statusCode="500" statusReason="ITDOG filter" statusDescription="ITDOG filter"/> </rule>
屏蔽所有模式:
<rule name="itdog_filter" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_checkmode}" pattern="fast" /> <add input="{HTTP_checkmode}" pattern="slow" /> </conditions> <action type="CustomResponse" statusCode="500" statusReason="ITDOG filter" statusDescription="ITDOG filter"/> </rule>
Apache 服务器
放置在站点配置文件.htaccess
中即可,一般在站点根目录。
屏蔽快速测试模式:
RewriteEngine On RewriteCond %{HTTP:checkmode} ^fast$ RewriteRule ^ - [R=500]
屏蔽慢速测试模式:
RewriteEngine On RewriteCond %{HTTP:checkmode} ^slow$ RewriteRule ^ - [R=500]
屏蔽所有模式:
RewriteEngine On RewriteCond %{HTTP:checkmode} ^fast$ [OR] RewriteCond %{HTTP:checkmode} ^slow$ RewriteRule ^ - [R=500]
宝塔 WAF
如果有宝塔 WAF (哪怕是免费的),也很好解决。
只需要在 WAF 设置里,添加一个扫描器规则,匹配请求头checkmode
,规则全部禁止访问,就好解决了。
Kangle 设置防 CC 攻击,选择首次访问验证也可阻止大部分 CC 攻击。
@氧化某人 Cloudflare 上临时解决方案是使用 WAF 创建一个对所有请求发起托管质询的规则,有效避免 CC 攻击,但会影响到用户体验。