服务器一直在裸奔,三年多来也一直没有啥问题,直到最近发现访问非常缓慢,一开始我们也没有在意,因为所处的机房,近些日子线路问题不断,以为是线路问题,直到被机房通知服务器被攻击了,由于已经影响到了其他机子,把我们限流了。。
突然间感觉就是两眼发蒙,总结问题如下:
- 机房远在香港,无法立即到机房处理问题。
- 机房也没有告知是什么样的攻击,或者当前是什么样的状况
- 服务器也偶然能访问下,感觉不像被DDOS等类似攻击。
- 机房的KVM一直申请不下来,ssh连接上去还没怎么动,就又断了,想要好好看下服务器的情况也几乎不可能。
最终,开了个会分析了下,最终分析如下: 攻击分两种:
- 是被攻击
- 是被当做肉鸡了
那么按照现在还能偶尔连上,还能偶尔操作下,而且程序都正常。估计是被当做肉鸡了。因为如果是被攻击了。比如被DDOS攻击了,那么,首先是连上的机会是几乎没有的,而且程序几乎是挂了。
那么,问题来了,怎么解决呢。
- 关门打狗。打开防火墙,估计就能挡住了一大波的攻击,那么服务应该也正常了。但是可能就找不到被攻击的原因了。
- 先找出被攻击的原因,解决攻击源,当然,这样肯定是能够解决问题的。
讨论过后,发现,第二点,难度太大,主要原因是服务器基本连不上。凭着偶尔连上的那一小会,要找出原因的话,这样要花费的时间就很长了。第一点的话,也需要做如下的工作:
- 需要整理程序需要打开的端口,然后写好设置端口脚本,回滚脚本。
- 本地需要测试通过,不然会发生生产事故。最恐怖的可能就是ssh端口搞砸了,然后就废了。
- 线上部署,然后测试业务是否正常。
经过讨论,发现还是第二种方案比较靠谱,毕竟这样子,花费时间少,那么对于公司业务来说,损失是最小的。
接下来就分工各自干活了,有人整理端口,有人去找资料看如何查看被攻击的问题。
一开始,我们也是用Ps,netstat等命令来查看系统状况,没有发现问题。直到网上查到这个文章:http://www.cnblogs.com/shiyiwen/p/5191869.html 才知道我们这么查询都是徒劳的,这些系统程序都被替换了。。
等到防火墙脚本弄出来了,拖到服务器上一跑,打开防火墙,一下子服务器就正常了。然后检查业务,业务一切正常。现在就可以开始愉快的去找木马了。
由于很多系统文件被替换了。使用netstat命令,或者抓包,都找不到木马所在,还好,状况如文章http://www.cnblogs.com/shiyiwen/p/5191869.html说的情况几乎一模一样。按照上面的操作,对服务器进行了清理,服务器就基本正常了。
总结:
- 服务器裸奔,太危险了,一不小心就可能中招。有防火墙的话,起码可以挡一波攻击。庆幸这次不是DDOS这类攻击,不然连服务器都连不上,也只能干瞪眼。
- 如果有条件,KVM一定要搭建,起码在被攻击的时候,也能愉快的连接服务器。
- 碰到问题,好好分析,才是解决问题的王道,不然一股脑去百度去,就是南辕北辙了。