背景描述
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
来吧,展示: