禁用 Tomcat7 管理器

Disable Tomcat7 Manager

网络界面http://localhost:8080/manager/html。有没有办法禁用或完全删除它?只是问问,这样我就不会随意进入并删除一些东西来搞乱一些设置。

我想摆脱它的原因是因为我认为是恶意脚本暴力破解密码导致服务器不断被阻止。它会锁定并保护自己,但在我手动检查之前我也不知道这已经发生了。我不使用网络管理器,所以我认为解决这个问题的最好方法就是完全摆脱它。也就是说,如果您有其他建议,我也会对此持开放态度。我已尝试在 manager.xml 中设置一个 RemoteAddrValve,如下所示,但我仍然遇到问题。

//I changed the ip address for this example.
<Context path="/manager" 
    docBase="/usr/share/tomcat7-admin/manager" 
    antiResourceLocking="false" privileged="true">

    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
    allow="0\.0\.0\.0" denyStatus="404" />
</Context>

根据 Tomcat 7 documents:

"The Manager application is not accessible by default as no users are configured with the necessary access."

如果您认为经理应用程序中启用了某个用户,您可以编辑 $CATALINA_BASE/conf/tomcat-users.xml。只需评论或删除该文件中的任何活动角色或用户名,然后重新启动服务器即可阻止对管理器应用程序的访问。

根据 OWASP 的另一种方法(有点过时)是重命名您的经理应用程序。这是一种 "security by obscurity" 方法,但如果某些僵尸网络只是 运行 以您的服务器为目标,则可能会奏效。

最后,我测试了在 Tomcat7 上删除管理器 webapp 并弹回服务器。 Tomcat 示例 webapp 运行 在那之后很好,所以我怀疑你可以删除管理器而不会产生不良影响,只要你不依赖它来部署 webapps。

此外,您的 remoteAddrValve 中使用的文档库看起来很古怪。我希望它是 /usr/share/tomcat7-admin/webapps/manager 除非你经历了更改整个服务器的文档库的麻烦。