业务部署在jboss中,使用的操作系统为Redhat Linux。以为Linux挺安全的,结果因为Jboss的漏洞,导致Linux服务器被入侵。一次是root密码被修改,一次是网络速度奇慢、CPU使用率过高。结果都发现jboss账号启动的服务异常。
现象分析
1. 进程异常
[root@localhost /]# ps -ef|grep jboss
root 10497 8650 0 15:24 pts/4 00:00:00 grep jboss
jboss 16679 1 0 11:11 ? 00:00:00 /usr/bin/javad
jboss 16711 1 95 11:11 ? 04:01:37 /usr/local/apache/bin/httpd -DSSL
[root@localhost /]# less /usr/bin/javad
/usr/bin/javad: No such file or directory
[root@localhost /]# ll /usr/local/apache/bin/httpd
ls: /usr/local/apache/bin/httpd: No such file or directory
16679和16711进程不是正常进程,且/usr/bin/javad 和/usr/local/apache/bin/httpd文件根本就不存在,这就可以断定他是病毒(或者后面,或者肉鸡)进程,因为正常情况下,是没有必要伪装进程CMD的。
2. 定时任务异常
[root@localhost jboss]# crontab -u jboss -l
1 1 10 * * ~/.sysdbs
1 1 24 * * perl ~/.sysync.pl
1 1 24 * * perl ~/.sysync.pl
1 1 10 * * ~/.sysdbs
jboss用户下本没有定时任务的,现在多出来4个异常任务。
3. 文件异常
[root@localhost jboss]# cd /home/jboss
[root@localhost jboss]# ls -l
total 216
-rwxr-xr-x 1 jboss jboss 3229 Mar 26 2002 bm.c
-rwxr-xr-x 1 jboss jboss 460 Mar 23 2002 bm.h
-rw-r–r– 1 jboss jboss 11048 May 10 01:01 bm.o
-rwxr-xr-x 1 jboss jboss 13579 May 4 20:05 fix.pl
-rwxr-xr-x 1 jboss jboss 5598 Mar 25 2002 install-sh
-rwxr-xr-x 1 jboss jboss 132 Mar 22 2002 ipsort
-rwxr-xr-x 1 jboss jboss 35893 May 4 20:13 kat.c
-rwxr-xr-x 1 jboss jboss 1680 Jan 28 2012 Makefile
-rwxr-xr-x 1 jboss jboss 19984 May 12 01:07 pns
-rwxr-xr-x 1 jboss jboss 19774 Jan 28 2012 pnscan.c
-rw-r–r– 1 jboss jboss 59336 May 10 01:01 pnscan.o
-rwxr-xr-x 1 jboss jboss 14053 May 4 20:12 rjboss
-rwxr-xr-x 1 jboss jboss 25 Mar 26 2002 version.c
-rw-r–r– 1 jboss jboss 2240 May 10 01:01 version.o
jboss家目录下原没有文件的,这些文件全部是多出来的。
修复办法
1. 删除定时任务
[root@localhost jboss]# crontab -u jboss -e
2. 杀死异常进程
[root@localhost jboss]# kill -9 16679 16711
3. 删除异常文件
[root@localhost jboss]# cd /home/jboss/
[root@localhost jboss]# rm -rf bm* *.pl treat.sh install-sh version* kisses* pns* Makefile ipsort kisses* .sysdbs .sysync.pl
或者
[root@localhost jboss]# cd /usr/local/jboss/bin/
[root@localhost bin]# rm -rf bm* *.pl treat.sh install-sh version* kisses* pns* Makefile ipsort kisses* .sysdbs .sysync.pl
4. jboss加固
把下面文件中的security-domain或者security-constraint的注释去掉,让配置有效。
[root@localhost bin]# vi /usr/local/jboss/server/*/deploy/jmx-console.war/WEB-INF/web.xml
[root@localhost bin]# vi /usr/local/jboss/server/*/deploy/jmx-console.war/WEB-INF/jboss-web.xml
[root@localhost bin]# vi /usr/local/jboss/server/*/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web.xml
[root@localhost bin]# vi /usr/local/jboss/server/*/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml
修改下列文件中的用户名和密码
[root@localhost bin]# vi /usr/local/jboss/server/*/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web-console-users.properties
[root@localhost bin]# vi /usr/local/jboss/server/*/deploy/jmx-console.war/WEB-INF/jmx-console-users.properties
5. 重启jboss服务
[root@localhost bin]# sudo -u jboss service jboss start
注意,为了安全不要用root启动jboss服务,而用jboss用户启动。
6. 验证
访问如下地址:
http://xxx.xxx.xxx.xxx/web-console
http://xxx.xxx.xxx.xxx/jmx-conslole
查看使用配置的用户名或密码,是否可以正常访问。
参考:http://www.2cto.com/Article/201202/120939.html