本文最后更新于 239 天前,其中的信息可能已经有所发展或是发生改变。
众所周知,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
,规则全部禁止访问,就好解决了。