一次服务器被入侵的经历
 
入侵发生在200911月的某一天,当时我正在机房忙碌着为新机器上架做准备,接到同事的电话,说某某服务不能用了,也不能启动了,说什么文件未找到。当时觉得很疑惑,以前没有遇到过类似的问题。
赶紧登录服务器看个究竟,提示root用户密码不对,难道谁把用户密码改了?换一般用户登录,进去了,发现服务进程(java进程)不存在了,home目录的下文件都被删除了,我意识到事情有些不妙了,一定是有人动过这台服务器。
last查看一下历史登录记录,发现有两个外网地址以root登录过,顺手把这两个外网IP Google了一下,都被列入的黑名单。这台服务器是被人攻击了,是怎么进来的呢?这台机器可是在F5(负责均衡交换机)下面的,对外也只开了80端口,疑惑!
先把root密码找回来吧,机器是Linux RedHat环境,重启主机,进入GRUB时,按“e”进行编辑,在该行末尾添加空格single。退出编辑,按“b”启动进入单用户模式下,此时登录系统不需要密码,passwd修改root用户密码。然后正常重启,用新设置的root用户密码登录。
查看有没有其他东西被动过,还好weblogicweb应用都在,先将服务起来,正常启动。打电话给同事告知服务现可使用。
思索,对方是如何进来的呢?从last记录中可以看到对方的IP地址,并且是通过ssh方式登录的,那就不应该是从F5进来的,因为F5只开了80端口,并且没有做IP透射(如果从F5进来,就不会看到对方的公网IP)。对方可通过外网直接访问该主机,意识问网络的同事该主机是不是直接NAT到外网上了,很快得到了答复,果然被NAT到外网了,而且全部端口都打开了,天啊!原来之前这台机器为了从外部做测试省事把所以的端口都打开了,之后又没有及时关闭,这才被人扫描到了。
教训,1、不要把主机轻易NAT外网,映射时应具体到端口。有些端口是一定不要开的如sshtelnet端口;2root用户的密码要复杂,不要让对方轻易穷举到;3、做相应的安全设置,如禁止外网IP登录等。