背景描述
2023年8月15日下午4点网站无法正常打开,CPU、内存、负载均100%爆满,我一台服务器上有7.8个web服务,其中只有两个是动态的也就是用到了php服务,分别是https://www.nuoyo.cn和https://zy.nuoyo.cn,期间尝试只要关闭之后这两个站点,负载马上直线下降,一开启之后TCP连接数飙升250+
关键我还使用了百度CDN,好像并没有缓解什么资源

处理方法
1.首先尝试了宝塔面板自带的waf,设置了CC防御和规则,然而并无卵用,可以看到我现在的waf防火墙是关闭的,个人感觉没什么卵用,开启可能只会拦截正常用户,影响用户体验

于是从2023年8月15日7点我就关闭了站点改成了HTML单页:

2.最终解决办法,排查攻击IP,逐个击破:
使用netstat查看连接数,使用awk,cut正则过滤出IP
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
我排查出来的同段有序攻击IP地址如下:
182.138.255.97
182.138.255.177
182.138.255.157
182.138.255.148
182.138.255.140
182.138.255.128
150.138.138.201
150.138.138.150
124.237.212.239
124.237.212.236
124.237.212.233
124.237.212.188
122.228.213.80
122.228.213.66
122.228.213.104
121.228.171.245
121.228.171.217
121.228.171.209
121.228.171.140
121.228.171.132
113.240.118.90
113.240.118.86
113.240.118.76
113.240.118.63
113.240.118.118
113.240.118.110
113.240.118.102
113.142.198.190
113.142.198.106
111.225.213.45
111.177.6.168
111.177.6.157
111.177.6.139
111.177.6.133
直接封禁命令:
为了防止错封,误封,我是对单个IP进行了限制,限制访问80和443端口(PS:你们也可以直接对IP段进行封禁)
iptables -A INPUT -p tcp -s 182.138.255.97 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.97 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.177 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.177 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.157 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.157 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.148 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.148 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.140 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.140 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.128 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 182.138.255.128 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 150.138.138.201 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 150.138.138.201 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 150.138.138.150 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 150.138.138.150 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.239 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.239 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.236 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.236 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.233 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.233 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.188 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 124.237.212.188 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 122.228.213.80 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 122.228.213.80 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 122.228.213.66 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 122.228.213.66 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 122.228.213.104 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 122.228.213.104 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.245 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.245 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.217 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.217 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.209 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.209 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.140 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.140 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.132 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 121.228.171.132 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.90 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.90 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.86 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.86 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.76 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.76 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.63 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.63 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.118 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.118 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.110 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.110 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.102 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.240.118.102 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.142.198.190 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.142.198.190 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 113.142.198.106 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 113.142.198.106 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 111.225.213.45 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 111.225.213.45 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.168 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.168 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.157 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.157 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.139 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.133 --dport 80 -j DROP
iptables -A INPUT -p tcp -s 111.177.6.133 --dport 443 -j DROP
来吧,展示:

原创文章,作者:AIRF,如若转载,请注明出处:http://www.ai-rf.com/index.php/2023/08/16/%e8%ae%b0%e5%bd%95%e7%bd%91%e7%ab%99%e8%a2%ab%e9%95%bf%e6%97%b6%e9%97%b4cc%e6%94%bb%e5%87%bb%e5%a4%84%e7%90%86%e6%96%b9%e6%b3%95/
评论列表(0条)
敢用国内服务器做攻击,也是胆子大,一般都先是用国外ip进行试探,没什么阻碍再用国内ip攻击
@淇云博客:可不,我现在把他们解除的话,利用率嘎嘎就又飙升了
@heardic:国外线路没有采用cloudflare吗?
免费的是最贵的,我直接用的阿里云WAF 一直安好,不过只能防QPS<=10的(过去买了个基础普惠版,现在没有了),大于这个数不保证