tomcat 7.0 由于开启manager和密码设置简单被上传木马--亲身经历
最近用tomcat做一些开发和学习,由于不是生产环境,所以安全设置随便了些,没想到遭到了攻击。把这段亲身经历写下来,以供自己和大家参考!安全问题不能松懈啊
1 受害主机软硬件环境受害主机操作系统为CentOS6, 装有Tomcat7运行环境,为方便开发调试,打开了Tomcat自带的manager管理功能。
2 入侵日志分析Tomcat开启服务为2012年7月18日,由于端口号设置的比较隐蔽,所以直到2012年9月13日开始被一些扫描软件扫到,见日志如下:
1 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
2 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
3 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
4 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
5 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
6 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
7 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
8 58.42.245.132 - - [13/Sep/2012:06:41:52 +0800] "GET /manager/html HTTP/1.1" 401 2486
这些扫描软件直接扫描manager管理功能路径,后续不断有来自不同IP的扫描。直到2012年9月16日,终于被攻破管理账户的用户名和密码,日志如下:
112.236.236.225 - tomcat [16/Sep/2012:00:56:35 +0800] "GET /manager/html HTTP/1.1" 200 19256
4 112.236.236.225 - tomcat [16/Sep/2012:00:56:36 +0800] "GET /manager/images/tomcat.gif HTTP/1.1" 200 2066
5 112.236.236.225 - tomcat [16/Sep/2012:00:56:36 +0800] "GET /manager/images/asf-logo.gif HTTP/1.1" 200 7279
6 112.236.236.225 - - [16/Sep/2012:00:56:36 +0800] "GET /favicon.ico HTTP/1.1" 200 21630
7 112.236.236.225 - tomcat [16/Sep/2012:00:56:48 +0800] "POST /manager/html/upload?org.apache.catalina.filters.CSRF_NONCE=D5ACED9A2C7865C3E274B109C7F6670A HTTP/1.1" 200 2122 5
8 112.236.236.225 - - [16/Sep/2012:00:56:49 +0800] "GET /QQ563332298AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HTTP/1.1" 302 -
9 112.236.236.225 - - [16/Sep/2012:00:56:51 +0800] "GET /QQ563332298AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ HTTP/1.1" 200 9488
攻破后直接通过manager上传部署了一个名为QQ563332298AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.war的木马包。
访问这个木马,显示页面如下:
网上一查这是一个叫做jfolder的jsp后门程序,主要针对的是Windows平台,经试验在Linux平台只能查看文件列表,其他功能无法正常使用。
4 经验教训(1)安全问题是个大问题,任何时候不能马虎,不仅生产环境,开发环境需要安全!
(2)用户名密码一定要仔细设置,不能随便,本例就是默认的用户名和简单的密码所致!
(3)经常查看日志文件,及时发现问题,在本例中,9月13日已经发现了被扫描攻击,但是由于没有及时查看日志,没能及时发现并采取措施!
(4)出现问题后及时关闭对外服务端口,防止进一步破坏,保护好日志文件,以备后续分析处理。
(5)设置好文件权限,按照最低权限设置,在这一点上Linux确实比Windows做的好,要是本例中的系统是Windows,由于jfolder可以执行cmd命令,估计现在已经系统全面瘫痪了!
最后,请大家把那些扫描肉鸡的IP揭露出来,能屏蔽的就把它们屏蔽吧,本例中的这些IP有:
112.236.236.225
60.21.129.250
125.71.228.146
60.29.250.58
218.249.78.2
61.176.192.67
112.25.168.212
117.35.119.226
61.236.129.239
58.42.245.132
120.85.147.193