学习啦>学习电脑>操作系统>Linux教程>

Linux服务器被rootkit攻击怎么办(2)

时间: 孙胜龙652 分享

  5、查找攻击原因

  到这里为止,服务器上遭受的攻击已经基本清晰了,但是入侵者是如何侵入这台服务器的呢?这个问题很重要,一定要找到入侵的根源,才能从根本上封堵漏洞。

  为了弄清楚入侵者是如何进入服务器的,需要了解下此服务器的软件环境,这台服务器是一个基于java的web服务器,安装的软件有apache2.0.63、tomcat5.5,apache和tomcat之间通过mod_jk模块进行集成,apache对外开放80端口,由于tomcat没有对外开放端口,所以将问题集中到apache上面。

  通过查看apache的配置发现,apache仅仅处理些静态资源请求,而网页也以静态页面居多,所以通过网页方式入侵系统可能性不大,既然漏洞可能来自于apache,那么尝试查看apache日志,也许能发现一些可疑的访问痕迹,通过查看access.log文件,发现了如下信息:

  62.17.163.186 - - [29/Sep/2013:22:17:06 +0800] “GET http://www.xxx.com/cgi-bin/awstats.pl?configdir=|echo;echo;ps+-aux%00 HTTP/1.0” 200 12333 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/20121010 Firefox/2.0”

  62.17.163.186 - - [29/Sep/213:22:17:35 +0800] “GET http://www.xxx.com/cgi-bin/awstats.pl?configdir=|echo;echo;cd+/var/tmp/。。./haha;ls+-a%00 HTTP/1.0” 200 1626 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/20121010 Firefox/2.0”

  至此,发现了漏洞的根源,原来是awstats.pl脚本中configdir的一个漏洞,通过了解此服务器的应用,客户确实是通过一个Awstats的开源插件来做网页访问统计,通过这个漏洞,攻击者可以直接在浏览器上操作服务器,例如查看进程、创建目录等。通过上面第二条日志可以看出,攻击者正常浏览器执行切换到/var/tmp/。。./haha目录的操作。

  这个脚本漏洞挺可怕的,不过在Awstats官网也早已给出了修补的方法,对于这个漏洞,修复方法很简单,打开awstats.pl文件,找到如下信息:

  if ($QueryString =~ /configdir=([^&]+)/i)

  {

  $DirConfig=&DecodeEncodedString(“ class="main">

Linux服务器被rootkit攻击怎么办(2)

时间: 孙胜龙652 分享

  }

  修改为如下即可:

  if ($QueryString =~ /configdir=([^&]+)/i)

  {

  $DirConfig=&DecodeEncodedString(“ class="main">

Linux服务器被rootkit攻击怎么办(2)

时间: 孙胜龙652 分享

  $DirConfig=~tr/a-z0-9_\-\/\。/a-z0-9_\-\/\。/cd;

  }

  6、揭开谜团

  通过上面逐步分析和介绍,此服务遭受入侵的原因和过程已经非常清楚了,大致过程如下:

  (1)攻击者通过Awstats脚本awstats.pl文件的漏洞进入了系统,在/var/tmp目录下创建了隐藏目录,然后将rootkit后门文件传到这个路径下。

  (2)攻击者通过植入后门程序,获取了系统超级用户权限,进而控制了这台服务器,通过这台服务器向外发包。

  (3)攻击者的IP地址62.17.163.186可能是通过代理过来的,也可能是攻击者控制的其他肉鸡服务器。

  (4)攻击者为了永久控制这台机器,修改了系统默认帐号mail的信息,将mail帐号变为可登录,并且设置了mail帐号的密码。

  (5)攻击者在完成攻击后,通过后门程序自动清理了系统访问日志,毁灭了证据。

  通过对这个入侵过程的分析,发现入侵者的手段还是非常简单和普遍的,虽然入侵者删除了系统的一些日志,但是还是留下了很多可查的踪迹,其实还可以查看用户下的.bash_history文件,这个文件是用户操作命令的历史记录。

  7、如何恢复网站

  由于系统已经文件被更改和替换,此系统已经变得完全不可信,因此建议备份网站数据,重新安装系统,基本步骤如下:

  (1)安装稳定版本的操作系统,删除系统默认的并且不需要的用户。

  (2)系统登录方式改为公钥认证方式,避开密码认证的缺陷。

  (3)安装更高版本的apache和最新稳定版本的Awstats程序。

  (4)使用Linux下的Tcp_Wrappers防火墙,限制ssh登录的源地址。

  上面就是Linux服务器被rootkit攻击后的处理方法,你要先对服务器进行分析,确实是否是rootkit攻击所致,然后再根据具体情况进行恢复。

307929