攻击规模
今天凌晨3点到6点,遇到一波DDoS攻击,是目前的最高记录,值得记录一下:
攻击请求数:
攻击带宽:
攻击者数量:
攻击者来源:
此次发起攻击请求前3的IP和攻击请求数:
攻击类型
此次攻击是采用直接针对”/wp-admin/admin-ajax.php”路径的直接攻击,这的确打得我很痛,因为wordpress的评论功能就是靠ajax调用,我不可能对这个路径进行托管质询(否则就无法评论了),之前对我博客admin-ajax.php的攻击主要是通过TranslatePress来发起ajax调用从而进行的间接攻击(参见文章:家庭数据中心系列 破解WordPress AJAX的防护难题:利用Cloudflare Tunnel实现网站正常访问与攻击流量的”分流”防护),不过我已经把那条路堵死了,这次居然是直接攻击,被cloudflare挡下来了绝大部分:
但是还是有不少没达到全局速率限制的攻击进入了内网,这部分请求经过了内网WAF的过滤:
但是依旧有部分请求最终达到了源站,原因是我对admin-ajax.php访问的容忍度还是太高了:
看来之后不能留这些口子了。
在文章前面提到的”攻击请求数”和”攻击带宽”中都涉及到了未缓存的”请求”或者”带宽”,这里引出了一个问题,为什么cloudflare的统计中,未缓存的请求只有18.29k,而在我的内网WAF上却有高达将近200万的请求数呢?我觉得有3种可能原因:
- Cloudflare 将被拦截的请求(如触发 WAF 规则、速率限制、DDoS 防护等)排除在“未缓存请求”之外。
- 攻击工具可能对同一资源(如 admin-ajax.php)多次尝试,产生重复连接。例如:攻击者发送了一个请求,收到 429 或其他限制响应后,工具自动重试,源站会记录多次,但 Cloudflare 只统计初始请求。
这种细节倒也不重要了~。
另1:cloudflare Free账户能看的统计信息太少了,比较蛋痛。
另2:内网免费WAF的功能还是太少了,之前因为觉得浪费资源去掉了WAF后的负载均衡,不过现在看来,还是有加上的必要。
另3:这次算是把我博客打出问题了,逼我花了1秒钟重启了下wordpress的docker,咱也算是坦诚的人,绝不会不认,不过,真的没啥技术含量啊。
Cloudflare还是挺给力的。 如果换成国内的CDN,分分钟发账单
是的,如果按照腾讯云CDN的价格,20元100G,这就是1000了。