AI智能
改变未来

如何,快速的拯救一个正被跑宽带的网站呢?

                        谈谈如何快速的应对网站被攻那点事

网络安全的重要性

网络安全性一直是一个是做it人员,最关心的一个话题,一个网站是否稳定的运行,还得看它安全性高不高,当然,也要看看你的网站是否能赚钱,哈哈,能赚钱事就多了。

为啥网站会被攻ji?

网站被攻ji,说白就是眼红呗,刷你流量,你能咋地,哈哈;

突发,网站被攻ji?

很不幸,最近搞的一个新网站,被攻ji了,凌晨一两点时,收到短信,443端口不可达的告警信息,刚开始时,以为是监控系统出问题了,怎么会出现这个那么不合理的告警信息,收到信息,确实挺惊讶的,没多管,主要着实冷,爬起来费力,后来告警信息多了,(用户也反馈了)乖乖起来,电脑一开,访问一下网站,GG,还真是,空白页面,啥都没有。

如何应对?问题定位?

马上,ssh登录服务器,也是GG,登不进去。遇到这种情况,慌不慌,哈哈,所以必须想尽办法登录进去处理。

先谈谈我搭建网站使用的架构吧,使用的是云服务器,nignx 实现后台web代理,登录每个web服务器,都能正常登录,而只有nginx代理无法登录。

登录不了,很明显,服务器,cpu,宽带都跑满了呗,也很明显,网站是被攻ji了

重点来了:如何处理?

说实话,个人也是第一次遇到这种问题,不干这行的,内心要特别大,冷静思维是必须拥有的。把这个当成一个平常的问题处理就好了。我分析一下,大概分以下几个步骤:

第一步:登录服务器

既然,我们的ssh远程不了,服务器的,大概就是服务器的宽带占满,这个是拿他没办法的;所以我们可以通过内网登录。即通过云平台去登录。在这里有个小情况,你会发现内网也会登录不了,为啥,宽带都挤满了,肯定不行的了,这会,你需要重新启动一下你的服务器,或者设置一下你的端口规则,把web端口访问去掉,这样就能很快的登录服务器了。

第二步:停止nginx代理,日志分析

停止nginx,这个也是需要的,因为网站都访问不了,停了反正不影响。找到对应的域名nginx日志,使用awk分析nginx日志,统计ip数量,下面是我的一个IP统计,

awk \'{a[$1]++}END{for(i in a) if(a[i]>100){print i,a[i]}}\' www.test.com_nginx.log-20201230 | sort -k2 -nr | head -n 20

大概就是这样子:

第三步:deny ip,IP限流

1. Deny ip

从上图的统计分析可知,基本把超过5万数量的直接被屏蔽就好,很简单,nginx 上直接配置

deny ip

2. IP限流

其实也挺好配置的

nginxconf 添加

  limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

vhost添加

 limit_req zone=one burst=10 nodelay;

解析一下:意思是每个ip 每秒,可以完成10+10个的请求,下一秒每秒完成10+1,直到10秒后再恢复10+10个请求,以此类推

第四步:加大服务器带宽

这个也很简单,不是刷流量吗,加大带宽,反正喜欢你就刷呗。

第五步:cdn 域名、ip伪装加速

基本云平台,都能配置,配置好之后,我们通过工具,看看是否能分析到真实ip

通过dig工具,你会发现你的网站真实ip,确实已经被隐藏了

通过工具分析:

最终:网站恢复使用?

到这里,我们需要做的都做了,接着直接恢复,nginx,web规则,代理的一些服务,稍等片刻后,你会发现网站很友好滴,出来了,各资源使用情况,也逐渐恢复正常,但是不友好的是,深夜,夜很长~。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 如何,快速的拯救一个正被跑宽带的网站呢?