原文地址:http://skymax.blog.51cto.com/365901/272912
入侵发生在 2009 年 11 月的某一天,当时我正在机房忙碌着为新机器上架做准备,接到同事的电话,说某某服务不能用了,也不能启动了,说什么文件未找到。当时觉得很疑惑,以前没有遇到过类似的问题。
赶紧登录服务器看个究竟,提示 root 用户密码不对,难道谁把用户密码改了?换一般用户登录,进去了,发现服务进程( java 进程)不存在了, home 目录的下文件都被删除了,我意识到事情有些不妙了,一定是有人动过这台服务器。
last 查看一下历史登录记录,发现有两个外网地址以 root 登录过,顺手把这两个外网 IP Google 了一下,都被列入的黑名单。这台服务器是被人攻击了,是怎么进来的呢?这台机器可是在 F5 (负责均衡交换机)下面的,对外也只开了 80 端口,疑惑!
先把 root 密码找回来吧,机器是 Linux RedHat 环境,重启主机,进入 GRUB 时,按 “e” 进行编辑,在该行末尾添加空格 1 。退出编辑,按 “b” 启动进入单用户模式下,此时登录系统不需要密码, passwd 修改 root 用户密码。然后正常重启,用新设置的 root 用户密码登录。
查看有没有其他东西被动过,还好 weblogic 、 web 应用都在,先将服务起来,正常启动。打电话给同事告知服务现可使用。
思索,对方是如何进来的呢?从 last 记录中可以看到对方的 IP 地址,并且是通过 ssh 方式登录的,那就不应该是从 F5 进来的,因为 F5 只开了 80 端口,并且没有做 IP 透射(如果从 F5 进来,就不会看到对方的公网 IP )。对方可通过外网直接访问该主机,意识问网络的同事该主机是不是直接 NAT 到外网上了,很快得到了答复,果然被 NAT 到外网了,而且全部端口都打开了,天啊!原来之前这台机器为了从外部做测试省事把所以的端口都打开了,之后又没有及时关闭,这才被人扫描到了。
教训, 1 、不要把主机轻易 NAT 外网,映射时应具体到端口。有些端口是一定不要开的如 ssh 、 telnet 端口; 2 、 root 用户的密码要复杂,不要让对方轻易穷举到; 3 、做相应的安全设置,如禁止外网 IP 登录等。
修改root密码
CentOS
GRUB:在引导装载程序菜单上,键入 [e] 来进入编辑模式。你会面对一个引导项目列表。查找其中类似以下输出 的句行:
kernel /vmlinuz-2.4.18-0.4 ro root =/dev/hda2
按箭头键直到这一行被突出显示,然后按 [e]。你现在可在文本结尾处空一格再添加 1 来告诉 GRUB 引导单用户 Linux 模式。按 [Enter] 键来使编辑结果生效。
你会被带会编辑模式屏幕,从这里,按[b] , GRUB 就会引导单用户 Linux 模式。 结束载入后,你会面对一个与以下相似的 shell 提示:
sh-2.05#
现在,你便可以改变根命令,键入:
bash# passwd
Ubuntu则是
kernel /boot/vmlinuz- 2.6 . 17 - 11 -generic root=/dev/hda3 ro quiet single