网站遇到采集者是很常见的事情,因为采集太快太多导致我们服务器负载过高的事情也时有发生,我们一般都是收到网站打开太慢或者服务器负载过高报警的消息后及时进行处理,在apache设置.htaccess上把该屏蔽的屏蔽就可以了,偶尔需要用到iptable或者阿里云的安全组来屏蔽🚫。
不过上周遇到有台服务器一直报警的事情,感觉不是普通的采集,而像是攻击,来访量突然增高很多,apache日志增加了一倍,来访IP非常分散,而访问的网站、网址很随机,没有流量的新网站、很久前的老网站、人类访问者不太可能去访问的网址都不停在访问。用以前的日志分析、屏蔽的办法不太灵,需要屏蔽的太多太多了,没法找到很明显的统一特征🤔。
最明显的问题体现在服务器进程数非常多,超过800后Apache多次自己重启,从阿里云监控后台看到TCP链接是以前的很多倍,我们统计了一下,除了被我们屏蔽的以外,访问返回200正常状态的次数增加了1倍多,搞得正常访问很多被打断,我和同事花了1、2天的时间盯着来找特征、屏蔽,勉强维持服务器状态,尽量让网站访问得以正常进行,就是很耽误我们做其它正事🤬。
这样搞了30多个小时后,这种攻击自己停下来了,我们分析攻击者这两天需要调集数万以致数十万IP来进行攻击,本身也是很消耗资源的,而且很有可能是需要花费费用的,却得不到他们希望的效果,看到我们网站也基本保持了可访问,他们就放弃了✌。如果对方依然没有停止的话,我们也想好了应对的办法(启用我们以前用到过的PHP程序,对来访IP、User-Agent、Referer等特征进行更精细的记录和特征识别,例如一个IP不断变化User-Agent显然是有问题的,总是可以尽快进行屏蔽的),只是还没有来得及实施😎。
这些IP主要来自江苏等地,中国互联网上也有一些奇葩和灰色产业者,我们都不明白其攻击的用意,消耗大量资源来对我们网站进行攻击的目的是什么。当然他们明白我们无论如何是不会放弃对抗的,我们坚持了十多年的网站怎么可能被这种攻击就搞垮了呢,即使需要升级配置、对着比消耗资源,我们也一定会坚持到底。而对方损人不利己的事情也无法持续很长时间,邪不压正💪,呵呵。
评论