第一次自己一个人全权负责做游戏服务器,对于Linux安全并不太懂,所以就在昨天,服务器遭到了攻击,刚开始,只是发现服务器的带宽占满了,以为是带宽不够用,可是想想,弱联网游戏对带宽占用也不高啊而且带宽加大一倍也于事无补,在UCloud控制台看到带宽的波形图,好几次都达到顶峰,于是我在服务器用iftop查看了网络流量监控,发现服务器总往一个ip发送数据包,一发就是1G,这流量,不仅耗带宽,还烧钱啊,网上搜索后发现,服务器可能被攻击了,被黑客入侵当作肉鸡疯狂的发数据包,导致网络流量出口带宽瞬间占满,在不明白我如何被攻击以及如何根除的情况下,我只能首先封掉了这个ip的出入口,然后网络情况暂时稳定了,但我明白,问题并没有根除,但由于我还有其他事要做,暂时没管,还有一些功能等着我开发,昨天暂时也稳定了,然而今天有时间了,我就想办法彻底根除他,通过追踪,发现了病毒的位置,但是删不掉,因为他不仅加入了系统服务,而且定时执行脚本,检测病毒文件是否存在,不存在则创建,于是这个文件怎么删都删不掉,最后还是通过网上搜索,终于发现别人跟我一样的情况,最终得以根除。作为linux安全小白,这样的问题,我必须记录下来,并且记录下解决步骤,以备后患,linux安全确实仍是我的一片空白区,还要多多学习啊,很有可能是我的服务器密码设置过于简单,遭到黑客的暴力破解,或者是黑客利用bash漏洞植入病毒。 
以下是两篇当时搜到的有用的文章,感谢原文作者 http://www.apelearn.com/bbs/thread-7409-1-1.html http://www.kaisir.com/2015/07/ji-yi-ze-linux-bing-du-di-chu-li.html 
以下我的追踪以及根除步骤: 

  1. 查看网络流量实时监控,发现服务器向一个ip发送大量大数据包,命令:iftop 
  2. 即时封杀目的ip,命令:iptables –A OUTPUT –d “127.0.0.1” –j DROP(进口流量则是INPUT) 
  3. 查看可疑进程,发现进程管理器中总出现一个随机十位字母的进程,kill掉会换个名字再次出现,命令:top / kill 
  4. 通过pid揪出可疑进程的位置(其实已经确定是它了!),然后就能发现这个万恶的根源,命令:ls -l /proc/pid 
  5. 删掉它,发现于事无补,真是顽固的病毒,于是用strace命令追踪打开的病毒文件,命令:strace –tt –p 端口号 
  6. 通过追踪日志发现他打开一个libkill.so文件(不同情况可能名字不一样),删掉这个文件,发现还删不掉,会再自动生成 
  7. 服务器重启也仍然存在问题,所以怀疑被加入了系统服务,于是关掉可疑系统服务(其实看名字就看出来,那些十位随机字母的服务都是病毒),命令:ntsysv 
  8. 去系统服务下删掉垃圾文件,命令:cd /etc/init.d ,病毒文件全部rm掉 
  9. 再重启服务器,问题没有了,但libkill.so文件依然存在,需要继续解决 
  10. 经查,/etc/cron.hourly文件夹下有一个可疑的脚本文件kill.sh,打开一看,这就是自动生成libkill.so病毒的根源,删除这个脚本文件,再删除libkill.so。OK!问题解决! 

此次经历让我意识到我Linux安全方面知识的空缺,linux平时的安全性没有得到保障,目前病毒已根除,服务器密码也改的异常复杂(我自己都记不住。。。)

最新文章

  1. Stop sucking,Become awesome.这一年我做到了么
  2. 3.创建基本的AngularJS应用
  3. 去掉DataTable中重复的行
  4. 如何在Hadoop的MapReduce程序中处理JSON文件
  5. C# 发送邮件方法2
  6. Boost format
  7. PHP实现单击“添加”按钮增加一行表单项,并将所有内容插入到数据库中
  8. VS2010编译Qt程序失败------error LNK1123: 转换到 COFF 期间失败:
  9. [教程]隐藏ActionBar中的MenuItem
  10. MySql Error 2006
  11. 【LeetCode题意分析&解答】36. Valid Sudoku
  12. 警报C++精密整数除法计算损失
  13. sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误
  14. jenkins tags
  15. nopCommerce 3.9 大波浪系列 之 微信公众平台登录插件
  16. 201521123074 《Java程序设计》第12周学习总结
  17. Factom(公证通)--基于区块链的存证系统
  18. shell命令总结一
  19. Springboot 2.x 无法读取yml配置值的问题:Could not resolve placeholder xxx value '${xxx}'
  20. BZOJ2244 拦截导弹

热门文章

  1. MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下Spring MVC的一些使用心得。
  2. Virtual Box下安装Oracle Linux 6.3
  3. 多线程环境下调用 HttpWebRequest 并发连接限制
  4. php实现简单的权限管理
  5. 666:放苹果(划分dp)
  6. ajax请求加全局loading , 个别特殊请求不显示loading
  7. ERROR in [copy-webpack-plugin] unable to locate "D:/xxx/xxx/xxx"
  8. 常用SEO优化技巧
  9. #include <sys/epoll.h> epoll - I/O event notification facility 服务器端 epoll(7) - Linux manual page http://www.man7.org/linux/man-pages/man7/epoll.7.html
  10. python学习笔记(四)— 函数