Tomcat安全配置策略

1. 前言
        前几天要测试线上命令监控功能,将java-sec-code应用打包到线上的Tomcat进行命令执行测试,系统是在Tomat上运行的Java应用,所以去评估了公司发布系统的安全问题。结果发现一个很严重的安全漏洞,觉得有必要对Tomcat的安全配置进行总结和说明。

2. 基础知识
        首先,我们需要了解一些Tomcat基础知识,以便后续的理解。

2.1 war包部署
        war包在Tomcat里的部署逻辑:
        将war包cp到Tomcat的webapps目录
        重启Tomcat应用bin/shutdown.sh & bin/startup.sh
        这样,一个Java应用就可以在Tomcat下跑起来了。
具体操作步骤:
        使用命令mvn clean package打war包,生成的war包名叫java-sec-code-1.0.0.war,将该war包cp到Tomcat的webapps目录,路径后面跟上war包名就能访问相应的路了,http://localhost:8080/java-sec-code-1.0.0/rce/exec?cmd=whoami。
        如果不想在URL里出现war包名,可以将war包放在webapps/ROOT目录,该目录是Tomcat的根目录,默认是猫的首页。由于该目录不会随着Tomcat重启自动解压war包,所以需要手动解压war包jar xf java-sec-code-1.0.0.war。解压完成后,会出现WEB-INF和META-INF目录,这两个目录通过HTTP协议默认都不能访问。所以webapps/ROOT目录除了WEB-INF和META-INF,其他都应该被删除。

你可能感兴趣的:(干货满满,tomcat,安全,java)