前言
昨天去 IT 狗测速下网站,博主的 VPS 才 1 核 1G 的配置,100 多个 IP 瞬间把服务器 CPU 给搞到了 90%以上,太 TM 暴力了,多开两个页面刷一下直接就 502 了,等于直接 CC 攻击了好吧。
这里博主封禁了 itdog 和 17ce,这两个网站太暴力,封掉。其他测速站自行斟酌是否封禁,例如站长站测速是每 4 个 IP 一轮的测,不会影响网站,所以博主并没有封禁。
提取日志 IP
可以新建个网站,用测速站测一次,这样就得到 IP 了,然后用脚本把 IP 提取出来
#!/bin/bash
# 设置变量
LOG_FILE="/home/wwwlogs/yunloc.com.log"
OUTPUT_FILE="ip_list.txt"
TIME=$(date -d "now - 10 minutes" '+[%d/%b/%Y:%H:%M:%S]')
LAST_TIME=$(date '+[%d/%b/%Y:%H:%M:%S]')
# 获取 10 分钟内日志中所有 IP 地址,没有输出 IP 引号
IPS=$(awk -v start="$TIME" -v end="$LAST_TIME" '$2 > start && $2 < end{ print $1 }' "$LOG_FILE" | sort | uniq)
# 输出结果到文件
echo "$IPS" > "$OUTPUT_FILE"
echo "IP 地址已提取到 $OUTPUT_FILE 文件中。"
封禁 IP
可以利用 nginx lua 来封禁 IP,参考博主以前的文章
或者用自带的防火墙封禁
封禁 UA
IT 狗现在官网给出限制测速方法,大家可以参考官方版本
17ce 封禁就简单许多了,直接封禁 UA 头就可以了。
安装上面防火墙的可以在 /usr/local/nginx/conf/waf/wafconf/user-agent
里添加 UA 头
cdnunion_monitor
或者在 nginx 的 server 段加上
if ($http_user_agent ~* (17ce|cdnunion_monitor)) {
return 444;
}
直接返回 444 代码
boce 的封禁也和 17ce 一样,关键字为fromBoce
,把他封掉就好了
if ($http_user_agent ~* (fromBoce|cdnunion_monitor)) {
return 444;
}
结语
博主为啥要封禁测速网站?是怕一些脑子不正常的利用测速网站来搞破坏咯。
© 本站文章随意转载,但请注明出处!
>> 如果您觉得本站文章对您有所帮助,购买 VPS 时候请走本站AFF链接!
>> 某些文章具有时效性,若内容有错误或已失效,欢迎在下方评论区留言向我们反馈.
>> 所有文章均基于分享的原则,所有言论均个人观点,请注意全部都不是推荐,是分享!分享!分享!
>> 所有文章均基于分享的原则,所有言论均个人观点,请注意全部都不是推荐,是分享!分享!分享!
THE END
暂无评论内容