当前位置: > Linux安全 >

当一台linux服务器入侵之后,排查系统故障及解决思路

时间:2014-10-07 16:19来源:linux.it.net.cn 作者:it
大家都知道,互联网每时每刻都会存在攻击的可能性,(系统频繁发包,SYN攻击,等等)安全问题是系统管理员不可忽视的一个问题。当系统出现了问题,我们该如何下手,如何去排查系统问题呢?

正巧,今天公司一台线上的Linux系统出现了入侵的问题。(其实这已经困扰了我快一个月的问题了)(DDOS 系统频繁发包)我把我的处理思路分享给大家,如有哪一点说的不到位,请大家指出,并提出宝贵的意见,谢谢。勿喷。

由于是系统在内网发包,把我们的网络都堵塞了,以至于我不能远程登录到linux系统上,查看cacti流量图都查看不了。ping也全部丢包。这时去机房也不可能,所以,我只好等待发包不频繁的时机,趁此登录系统。功夫不负有心人,终于远程登录上系统了。

由于经历这样的问题不只一次,所以登录系统后,直接奔系统进程查看。查看结果如下:

# ps -ef (只显示可疑进程)
root      2013     1  0 10:01 ?        00:00:00 /boot/.IptabLex
root      5953     1  0 10:01 ?        00:00:00 /boot/.IptabLex
root      6035     1  0 10:01 ?        00:00:00 /boot/.IptabLes
root     24852     1  2 14:31 ?        00:04:29 /boot/.IptabLes
root     27322     1  3 15:08 ?        00:03:50 /boot/.IptabLes

由于程序还在发作,所以只保留唯一一个进程,剩下的进程全部kill掉,以便排查系统的根源在哪里

# kill -9 5953 6035 24852

查看打开的文件,及系统关联的文件都有哪些

# lsof -p 27322 ; lsof -p 2013
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
.IptabLes 27322 root  cwd    DIR  253,0     4096       2 /
.IptabLes 27322 root  rtd    DIR  253,0     4096       2 /
.IptabLes 27322 root  txt    REG  104,1  1103243    5905 /boot/.IptabLes
.IptabLes 27322 root    0u   REG  253,0        5   98310 /.mylisthbS.pid
.IptabLes 27322 root    1u   REG  253,0        5   98313 /.mylisthb.pid
.IptabLes 27322 root    2u  sock    0,5      0t0 3442424 can't identify protocol
.IptabLes 27322 root    3u   raw             0t0 3445564 00000000:00FF->00000000:0000 st=07
.IptabLes 27322 root    4u   raw             0t0 3445565 00000000:00FF->00000000:0000 st=07
.IptabLes 27322 root    5u   raw             0t0 3445566 00000000:00FF->00000000:0000 st=07
COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF  NODE NAME
.IptabLex 2013 root  cwd    DIR   253,0     4096     2 /
.IptabLex 2013 root  rtd    DIR   253,0     4096     2 /
.IptabLex 2013 root  txt    REG   104,1   722580  5906 /boot/.IptabLex
.IptabLex 2013 root    0u   REG   253,0        5 98309 /.mylisthbSx.pid
.IptabLex 2013 root    1uW  REG   253,0        5 98311 /.mylisthbx.pid
.IptabLex 2013 root    2u  IPv4 3479690      0t0   TCP 192.168.116.11:10038->59.63.167.168:1001 (ESTABLISHED)

经百度查看59.63.167.168的IP为江西省南昌市 电信

查看Cacti流量图。很遗憾,论坛现在上传图片上传不了。
显示的结果是 Output  300M 跑满了。


查看产生的可疑所有的文件。
# ll -a /   (只显示可疑的文件)
-rw-r--r--   1 root  root      5 Jan 12 17:15 .mylisthb.pid
-rw-r--r--   1 root  root      5 Jan 12 10:01 .mylisthbS.pid
-rw-r--r--   1 root  root      5 Jan 12 10:01 .mylisthbSx.pid
-rw-r--r--   1 root  root      5 Jan 12 16:57 .mylisthbx.pid

查看/boot/分区下
# ll -a /boot/
-rw-r--r--   1 root  root      5 Jan 12 10:01 .IptabLes 
-rw-r--r--   1 root  root      5 Jan 12 10:01 .IptabLex 
-rw-r--r--   1 root  root      5 Jan 12 10:01 IptabLes -> /etc/rc.d/init.d/IptabLes
-rw-r--r--   1 root  root      5 Jan 12 10:01 IptabLex -> /etc/rc.d/init.d/IptabLex


查看/etc/rc.d/init.d/IptabLex和/etc/rc.d/init.d/IptabLes文件内容
# cat /etc/rc.d/init.d/IptabLex 
#!/bin/sh
/boot/.IptabLex
exit 0
# cat /etc/rc.d/init.d/IptabLes
#!/bin/sh
/boot/.IptabLes
exit 0

查看两个文件的文件类型,可知是32位的可执行文件
# file /boot/.IptabLex
.IptabLex: sticky ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, not stripped
# file /boot/.IptabLes
.IptabLes: sticky ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, not stripped


查看message信息
# cat /var/log/message
Jan 12 11:36:24 localhost kernel: .IptabLes[12688]: segfault at 0000000000000000 rip 000000000804e837 rsp 00000000ffeb1fb0 error 4
Jan 12 11:36:39 localhost kernel: .IptabLes[12706]: segfault at 0000000000000000 rip 000000000804e837 rsp 00000000ffeb1fb0 error 4
Jan 12 11:36:54 localhost kernel: .IptabLes[12723]: segfault at 0000000000000000 rip 000000000804e837 rsp 00000000ffeb1fb0 error 4
Jan 12 11:37:10 localhost kernel: .IptabLes[12739]: segfault at 0000000000000000 rip 000000000804e837 rsp 00000000ffeb1fb0 error 4
Jan 12 11:37:46 localhost kernel: .IptabLes[12756]: segfault at 0000000000000000 rip 000000000804e837 rsp 00000000ffeb1fb0 error 4



处理方法,删除关联的文件
# rm -f /.mylisthb*   产生的pid文件
# rm -f /boot/.IptabLex
# rm -f /boot/..IptabLes              编译后的二进制文件
# rm -f /etc/rc.d/init.d/IptabLex
# rm -f /etc/rc.d/init.d/IptabLes


因为这个文件发包基于什么协议,或者基于什么系统命令发包尚未清楚,所以在iptables这无法断定基于什么协议或者基于什么端口进行限制。待大家给一些宝贵的意见。 (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容