阿里云首页 阿里云安全产品和技术 相关技术圈

Tomcat服务安全加固

Tomcat服务默认启用了管理后台功能,使用该后台可直接上传war文件包对站点进行部署和管理。由于运维人员的疏忽,可能导致管理后台存在空口令或者弱口令的漏洞,使得黑客或者不法分子可以利用该漏洞直接上传Webshell脚本导致服务器沦陷。

通常Tomcat后台管理的URL地址为http://IP:8080/manager/html/,如下图所示:

黑客通过猜解到的口令登录Tomcat管理后台后,可以上传Webshell脚本导致服务器被入侵。

由于此类型漏洞可能对业务系统造成比较严重的危害,建议您针对Tomcat管理后台进行以下安全加固配置。

1. 网络访问控制

  • 如果您的业务不需要使用Tomcat管理后台管理业务代码,建议您使用安全组防火墙功能对管理后URL地址进行拦截,或直接将Tomcat部署目录中webapps文件夹中的manager、host-manager文件夹全部删除,并注释Tomcat目录中conf文件夹中的tomcat-users.xml文件中的所有代码。

  • 如果您的业务系统确实需要使用Tomcat管理后台进行业务代码的发布和管理,建议为Tomcat管理后台配置强口令,并修改默认admin用户,且密码长度不低于10位,必须包含大写字母、特殊符号、数字组合。

2. 开启Tomcat的访问日志

修改conf/server.xml文件,将下列代码取消注释:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"   
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

启用访问日志功能,重启Tomcat服务后,在tomcat_home/logs文件夹中就可以看到访问日志。

3. Tomcat默认账号安全

修改Tomcat安装目录conf下的tomcat-user.xml文件,重新设置复杂口令并保存文件。重启Tomcat服务后,新口令即生效。

4. 修改默认访问端口

修改conf/server.xml文件把默认的8080访问端口改成其它端口。

5. 重定向错误页面

修改访问Tomcat错误页面的返回信息,在webapps/manager目录中创建相应的401.htm、404.htm、500.htm文件,然后conf/web.xml文件的最后一行之前添加下列代码:

  <error-page>      
                             <error-code>401</error-code>              
                             <location>/401.htm</location>          
                     </error-page>          
                     <error-page>    
                             <error-code>404</error-code>        
                             <location>/404.htm</location>          
                     </error-page>  
                     <error-page>    
                             <error-code>500</error-code>  
                             <location>/500.htm</location>      
                      </error-page> 

6. 禁止列出目录

防止直接访问目录时由于找不到默认页面,而列出目录下的文件的情况。

在web.xml文件中,将<param-name>listings</param-name>改成<param-name>false</param-name>

7. 删除文档和示例程序

删除webapps目录下的docs、examples、manager、ROOT、host-manager文件夹。