Tomcat控制台安全解决办法

本文介绍两种方法来增强Tomcat的安全性:一种是彻底移除默认管理控制台及管理员账号,另一种是在保留控制台的同时通过配置限制访问权限。

删除Tomcat默认管理控制台或管理员帐户 默认情况下,Tomcat存在管理控制台,其地址一般为http://[IP]:[Port]/admin。管理台的应用文件,在#TOMCAT_HOME#\server\webapps下,有admin和manager两个应用。其用户密码,在$tomcat\conf/tomcat-users.xml中定义。在$tomcat\webapps下的admin.xml和manager.xml文件,定义了可以通过访问/admin和/manager进入控制台的通道。默认情况下,可以轻易的登录tomcat管理台,造成严重安全问题。 "方法一:本方法适用于完全不需要使用默认控制台及相关功能的应用场景。
1.删除#TOMCAT_HOME#\webapps下admin.xml和manager.xml文件;
2.删掉#TOMCAT_HOME#\conf\tomcat-users.xml中的用户和密码;
3.删除#TOMCAT_HOME#\server\webapps下的admin和manager两个应用;
4.删除#TOMCAT_HOME#\webapps下的admin和manager两个应用。
方法二:本方法适用于需要保留默认控制台和相关程序的应用场景。
1.在#TOMCAT_HOME#\conf\Catalina\localhost\manager.xml的Context标签内增加如下一行,限制只能有内网特定IP或IP端才能访问控制台:
<Valve className=""org.apache.catalina.valves.RemoteHostValve"" allow=""10.70.107.*"" />
备注:RemoteAddrValve过滤的是IP地址,多个ip或多个域名之间,可以使用“,”分隔。
2.配置#TOMCAT_HOME#\conf\tomcat-users.xml中的用户名和密文的密码(用#TOMCAT_HOME#\bin目录下的digest.sh对密码进行加密,得到密文,例如:digest.sh -a sha Ryoukk_195,其中蓝色的密码自行设置,保证密码长度大于8位,包含大小写字符、数字和特殊字符)。在#TOMCAT_HOME#\conf\server.xml中的UserDataBase-Realm指定密码的摘要算法(新增蓝色部分):<Realm className=""org.apache.catalina.realm.UserDatabaseRealm"" digest=""sha"" resourceName=""UserDatabase""/>
3.当tomcat已经配置了SSL,则对登录管理应用强制使用SSL,配置方法如下:
在#TOMCAT_HOME#\webapps\manager\WEB-INF\web.xml的security-constraint标签内,增加如下内容:
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/manager/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
4.重命名管理控制台
# 进入目录\webapps\host-manager
# 重命名 manager.xml 文件            //并检查是否存在默认管理控制台或管理员帐户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值