最近这几天,我这个小博客又又又又又遭受了广泛攻击!前天突然发现网站页面显示异常,一看静态内容全都 404 了,原来是 CDN 停止访问了。进入多吉云后台一查,发现触发了“封顶模式”,即 1 小时内流量超过 2GB 就会自动停用域名(可自定义,给这个设计点赞👍)。仔细一看,果然又被人恶意刷流量了!
我紧急把 CDN 停掉,切回源站。没想到,我这台 36 元一年买的百度云小鸡(4C4G3M 带宽),居然还能硬扛住,撑了大半天。直到下午,我才认真分析攻击来源,发现绝大多数请求来自广东省,并且几乎全部集中在首页。于是我逐步调整防护,顺便也探索了宝塔 WAF 的自定义规则功能。下面分享下这次经历和一些小心得,希望对大家有帮助 🙂。

1. 攻击情况回顾
1.1 攻击表现
前天网站首页出现异常,静态文件无法访问,页面全是 404。后台显示因为触发了流量上限保护,CDN 自动停止服务。分析日志后发现:
- 攻击主要来自广东省的大量 IP
- 集中攻击网站首页
/ - 请求延迟仅 1ms 左右,显然是批量程序
1.2 临时应对措施
我第一反应是直接停掉 CDN,完全切回源站。令人意外的是,小鸡服务器居然还能抗住半天没有立刻崩溃 🤯。不过晚饭时间,服务器还是撑不住死机了。于是我手动屏蔽了一些攻击网段,情况暂时好转。
2. 网站优化调整
2.1 静态资源走 CDN
第二天,我修改了网站配置,让 JS、CSS 等静态资源重新走 CDN。这样做有两个好处:
- 保证正常用户访问体验,不受影响
- 避免攻击者通过刷静态流量来耗尽 CDN 配额
实际体验下来,图片啥的慢点儿无所谓,整体体验其实还是不错的,对于正常访客来说完全没有影响。我打算以后都这么干了,能省一分是一分呐~😆😆😆
2.2 源站压力控制
因为首页才是主要攻击目标,所以把资源分流到 CDN 后,源站压力明显下降。即使遭遇短时高并发,源站也不至于直接宕机。
3. WAF 防护探索
3.1 地区限制(粗暴做法)
刚才出去跑步,回来洗澡一看服务器又挂了!于是,我直接利用宝塔面板 WAF 的“地区限制”功能,一刀切地屏蔽广东省流量。虽然能拦下攻击,但正常访客也全部受影响,误杀太严重。


3.2 自定义规则(更精细化)
继续研究后,我发现宝塔面板 WAF 还有“自定义规则”功能,可以组合条件来控制。例如:
- 匹配 URI 等于
/ - 匹配省份等于 广东
- 动作:返回 444 响应
这样就只屏蔽了广东省访问首页的请求,而访问博客内页依旧正常。考虑到攻击几乎都打首页,而真实访客通常是通过搜索引擎直接进入具体文章页,这种策略就显得更合理 🎯。

真肯定是有坏蛋在捣鬼,之前我也遇到过。
直接给我流量干完了,然后我又重新买的流量。