美文网首页程序员
配置Tomcat的Manager应用访问的注意事项

配置Tomcat的Manager应用访问的注意事项

作者: CoderShangfeng | 来源:发表于2017-03-04 16:03 被阅读0次

    最近开始需要比较频繁的往Tomcat中仔细研究部署Web应用, 其中一种是通过访问http://localhost:8080/manager/htmlManager web应用.

    $CATALINA_BASE/conf/tomcat-users.xml定义<user>时, 有的文章把管理员("Manager")的4种角色("role")全配置上了, 而有的仅配置了2个, 不知孰对孰错, 于是在官网上查了doc, 下面简单归纳下:

    Tomcat在web.xml文件里定义了4种管理员角色, 分别是:

    • manager-gui -- 可访问HTML接口.

    • manager-status -- 仅可访问服务器状态("Server Status")页面(网上查到的是它与前者配合共同使用)

    • manager-script -- 可访问web.xml文档里提到的工具友好的普通文本("tools-friendly plain text")接口(猜测应该是SSI和CGI), 并可访问服务器状态页面

    • manager-jmx -- 可访问JMX代理接口和服务器状态页面

    随后, 官方专门提及了一种网络攻击手段, CSRF(Cross-Site Request Forgery)attacks, 即: 跨站请求伪装, 它能篡改用户信息, 可参看维基上的解释Cross-site request forgery.

    官方拍胸脯说了, HTML接口是受保护的, 不怕CSRF攻击的, 但文本("text")和JMX接口是不受保护, 存在被攻击风险的. 换句话说, manager-gui角色的管理员是安全的, 而manager-statusmanager-script是危险的.

    为此,官方特别提醒 :

    第一, 当使用manager-scriptmanager-jxm角色访问Manager应用管理时(比如测试普通文本和JMX接口), 你一定要在结束管理会话后关闭浏览器的所有窗口. 如果你不关闭浏览器, 再去浏览其他页面, 那么你很可能成为CSRF攻击的受害者.

    第二, 强烈建议不要manager-gui角色授予manager-scriptmanager-jmx角色.

    另外, 由于JMX代理接口属于较底层的接口, 别有用心的人可以利用它的命令做很多事, 所以当你启用manager-jmx角色时一定要小心些.

    官网中很多例子都是使用的文本接口, 所以用的是manager-script角色.

    总结下:

    1. 不要manager-gui角色与manager-scriptmanager-jmx任一角色混合使用.

    2. 在使用manager-scriptmanager-jmx, 在结束管理会话时, 必须要关闭浏览器的窗口, 避免被CSRF攻击.

    3. manager-jmx是较为底层的接口, 容易被别有用心的人利用, 使用的时候一定要留心(没有这方面需求, 就别给<user>授予该角色了.)

    完.

    相关文章

      网友评论

        本文标题:配置Tomcat的Manager应用访问的注意事项

        本文链接:https://www.haomeiwen.com/subject/ugcjgttx.html