在默认配置下其存在肯定的安全隐患,可被歹意攻打。以下是一些平安加固的办法:
降级到最新稳定版,这个是陈词滥调了。目前Tomcat反对6.0和7.0两个版本。
1) 出于稳定性思考,不倡议进行跨版本升级,如果之前是6.0系列版本,最好还是应用该系列的最新版本。
2) 在统计目录部署最新的Tomcat,将conf目录下的文件和webapp复制过去,之后批改server.xml,批改监听端口进行测试,无误后敞开Tomcat并改回端口。接下来就能够在公布的时候进行旧的Tomcat并开启新的Tomcat,至此降级结束。
2、 从监听端口上加固
1) 如果Tomcat不须要对外提供服务,则监听在本地回环,后面放Nginx。如果须要对外提供拜访,比方一个Nginx挂多个Tomcat,那么在服务器上用iptables只容许负载均衡器的IP来拜访
<Connector port="8080" address="127.0.0.1"maxHttpHeaderSize="8192" URIEncoding="UTF-8"maxThreads="500" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"connectionTimeout="10000" disableUploadTimeout="true" />
2) 当初咱们个别不必Apache通过AJP协定来调用Tomcat了,所以AJP端口能够敞开。
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
3) 在新版的Tomcat中,SHUTDOWN端口默认就是监听在127.0.0.1的,所以不须要批改。如果还想加固,那能够把SHUTDOWN换成其它的字符串。
<Server port="8005" shutdown="YourString">
3、自定义谬误页面,暗藏Tomcat信息
编辑conf/web.xml,在</web-app>标签上增加以下内容:
<error-page><error-code>404</error-code><location>/404.html</location></error-page><error-page><error-code>500</error-code><location>/500.html</location></error-page>
4、禁用Tomcat治理页面
1) 删除webapps目录下Tomcat原有的所有内容
2) 删除conf/Catalina/localhost/下的host-manager.xml和manager.xml这两个文件
5、 用普通用户启动Tomcat
useradd -M -s /bin/false tomcatchown -R tomcat.tomcat /usr/local/src/apache-tomcat-6.0.37su - tomcat -c "/usr/local/src/apache-tomcat-6.0.37/bin/catalina.sh start"
6、禁止Tomcat列目录
这在新版本中默认就是禁用的,能够在conf/web.xml中编辑
<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>