配置Tomcat的Manager應(yīng)用訪問的注意事項(xiàng)

最近開始需要比較頻繁的往Tomcat中仔細(xì)研究部署Web應(yīng)用, 其中一種是通過訪問http://localhost:8080/manager/htmlManager web應(yīng)用.

$CATALINA_BASE/conf/tomcat-users.xml定義<user>時(shí), 有的文章把管理員("Manager")的4種角色("role")全配置上了, 而有的僅配置了2個(gè), 不知孰對(duì)孰錯(cuò), 于是在官網(wǎng)上查了doc, 下面簡(jiǎn)單歸納下:

Tomcat在web.xml文件里定義了4種管理員角色, 分別是:

  • manager-gui -- 可訪問HTML接口.

  • manager-status -- 僅可訪問服務(wù)器狀態(tài)("Server Status")頁(yè)面(網(wǎng)上查到的是它與前者配合共同使用)

  • manager-script -- 可訪問web.xml文檔里提到的工具友好的普通文本("tools-friendly plain text")接口(猜測(cè)應(yīng)該是SSI和CGI), 并可訪問服務(wù)器狀態(tài)頁(yè)面

  • manager-jmx -- 可訪問JMX代理接口和服務(wù)器狀態(tài)頁(yè)面

隨后, 官方專門提及了一種網(wǎng)絡(luò)攻擊手段, CSRF(Cross-Site Request Forgery)attacks, 即: 跨站請(qǐng)求偽裝, 它能篡改用戶信息, 可參看維基上的解釋Cross-site request forgery.

官方拍胸脯說了, HTML接口是受保護(hù)的, 不怕CSRF攻擊的, 但文本("text")和JMX接口是不受保護(hù), 存在被攻擊風(fēng)險(xiǎn)的. 換句話說, manager-gui角色的管理員是安全的, 而manager-statusmanager-script是危險(xiǎn)的.

為此,官方特別提醒 :

第一, 當(dāng)使用manager-scriptmanager-jxm角色訪問Manager應(yīng)用管理時(shí)(比如測(cè)試普通文本和JMX接口), 你一定要在結(jié)束管理會(huì)話后關(guān)閉瀏覽器的所有窗口. 如果你不關(guān)閉瀏覽器, 再去瀏覽其他頁(yè)面, 那么你很可能成為CSRF攻擊的受害者.

第二, 強(qiáng)烈建議不要manager-gui角色授予manager-scriptmanager-jmx角色.

另外, 由于JMX代理接口屬于較底層的接口, 別有用心的人可以利用它的命令做很多事, 所以當(dāng)你啟用manager-jmx角色時(shí)一定要小心些.

官網(wǎng)中很多例子都是使用的文本接口, 所以用的是manager-script角色.

總結(jié)下:

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

  2. 在使用manager-scriptmanager-jmx, 在結(jié)束管理會(huì)話時(shí), 必須要關(guān)閉瀏覽器的窗口, 避免被CSRF攻擊.

  3. manager-jmx是較為底層的接口, 容易被別有用心的人利用, 使用的時(shí)候一定要留心(沒有這方面需求, 就別給<user>授予該角色了.)

完.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容