安全是系統架構中最重要的關注點之一,通常情況下,所說的安全涵蓋網路安全、資料安全、作業系統安全、伺服器安全以及應用系統安全等諸多方面。
tomcat 是乙個免費的開放源** 的web應用伺服器,技術先進、效能穩定。由於它優秀的穩定性以及豐富的文件資料,廣泛的使用人群,從而在開源領域受到廣泛的青睞,因此,tomcat安全也越來越受到重視。
tomcat作為一款應用伺服器,預設情況下可以滿足多數場景的安全需求,但是在安全要求較高的情況下,仍需要從多個方面進行配置,已防止tomcat管理後台被攻擊等風險。tomcat安全主要從以下2個方面介紹。
配置安全
預設情況下其存在一定的安全隱患,可被惡意攻擊,所以在生產環境中需要對tomcat進行安全配置,下面將介紹影響tomcat配置安全的4個選項。
降權啟動tomcat
tomcat 啟動使用者許可權必須為非root,避免一旦tomcat服務被入侵,獲取root許可權,因為在linux作業系統中,root使用者的許可權是最高的,可以執行普通使用者無法執行的操作。應單獨為tomcat伺服器建立乙個使用者,並且授予執行應用伺服器所需的最小系統許可權。
刪除不使用的元件
tomcat是開源軟體,那麼server.xml中的預設配置對所有人都是可見的,它的執行機制也是眾所周知的,因此使用預設配置也會增加伺服器受攻擊的風險。所以在部署生產環境前,移除不必要的元件,預設情況下,server.xml配置了乙個http聯結器(8080)和乙個ajp聯結器(8009),實際上絕大多數情況下,只需要乙個聯結器。如果tomcat不存在前置的web伺服器,此時可以保留http而刪除ajp聯結器。
管理平台如何使用
在tomcat啟動成功後,通過http://ip:port/manager/html訪問manager 管理平台 ,因為預設新增了訪問許可權控制,第一次訪問需要在 conf/ tomcat-users.xml 檔案 中為當前使用者新增角色,manager管理平台共有4種角色,分別為:
• manager-gui:允許訪問html頁面介面(即url路徑為/manager/html/*);
• manager-script:允許訪問純文字介面(即url路徑為/manager/text/*);
• manager-jmx:允許訪問jmx**介面(即url路徑為/manager/jmxproxy/*);
• manager-status:允許訪問tomcat唯讀狀態頁面(即url路徑為/manager/status/*)。
其中manager-gui、manager-script、manager-jmx三個角色均具備manager-status角色的許可權,即這三種角色許可權無需再額外新增manager-status許可權。實際使用中只需配置manager-gui角色通過html頁面的形式訪問管理平台。
manager管理平台有4種角色,host-manager管理平台有2種角色,配置方式如圖所示。
伺服器基本資訊 伺服器版本、jvm版本、作業系統、ip位址
系統資訊 記憶體使用情況
jvm資訊 jvm分配及使用情況
聯結器資訊 聯結器請求處理執行緒的使用情況
host-manager管理控制台可以動態地新增乙個虛擬主機。此外還可以啟動、停止、刪除虛擬主機,如圖所示。
通過http:// ip:port /host-manager/html 訪問host-manager管理平台,因為預設新增了訪問許可權控制,第一次訪問需要在conf/tomcat-users.xml檔案中為當前使用者新增角色,host-manager管理平台共有2種角色,分別為admin-gui和admin-script,配置方式如圖3所示。
• admin-gui:允許訪問html頁面介面(即url路徑為/manager/html/*)。
• admin-script:允許訪問純文字介面(即url路徑為/manager/text/*)。
3. 管理平台安全加固
管理平台有發布管理應用的許可權,預設情況下host-manager和manager應用存在安全風險,可能會產生嚴重的危害,所以針對tomcat管理平台需通過以下幾個方面進行安全加固。
• 如使用內建host-manager和manager管理應用,需要增加ip訪問限制,在應
用下meta-inf/context.xml檔案中配置。修改allow屬性的正規表示式。8.5版本前需要手動開啟,而8.5版本之後,則預設開啟只有本機可以訪問。比如只允許ip位址192.168.20.18和192.168.20.19訪問manager管理應用,將allow屬性值修改為192.168.20.18|192.168.20.19即可,如圖所示。
![在這裡插入描述](
• 如需訪問host-manager和manager應用需要分配相關的角色許可權。我們還應
設定足夠健壯的密碼,建議加強口令強度,設定口令複雜度為8位以上,大小寫字母、數字、特殊符號的組合,並定期更換密碼,避免使用弱口令。
• 管理平台新增使用者鎖定功能,在server.xml中配置了org.apache.catalina.real
m.lockoutrealm,lockoutrealm 是乙個tomcat的realm實現,它擴充套件了combinedrealm,假如在某一段時間內出現很多驗證失敗,則它能夠提供鎖定使用者的功能,已避免攻擊者進行密碼暴力破解。lockoutrealm 配置方式, server.xml檔案engine元素內新增,如圖所示
failurecount 使用者身份驗證驗證失敗的連續次數。預設為5。
lockouttime 身份驗證失敗後,使用者被鎖定的時間(以秒為單位)。預設為300(5分鐘)。
lockoutrealm實現支援以下附加屬性:
管理平台入侵案例
某系統曾發現tomcat管理平台暴露網際網路及弱口令的高危漏洞。由於在網際網路可直接訪問系統tomcat管理平台,可使用弱使用者名稱密碼admin/***xx成功登入。可對系統進行管控,同時具有上傳惡意war包或者直接上傳webshell指令碼導致伺服器被入侵等風險。
安全措施不可忽視,繼位元幣勒索病毒風波之後,petya病毒又席捲眾多國家計算機高防伺服器,造成嚴重影響。tomcat伺服器同樣面臨著病毒、黑客、資訊洩露等安全威脅。
總之,tomcat與安全相關的配置,在實際開發過程中,需要結合應用系統的業務場景綜合考慮,而非一味地堆積各種安全配置,否則不僅達不到預期效果,反而會影響系統的訪問效能。此外,系統安全是乙個非常複雜又非常重要的領域,包括網路、應用、資料、作業系統等諸多方面,本文只是介紹了與tomcat相關的安全配置。
如何預防後台被攻擊?Tomcat 的安全配置來啦!
安全是系統架構中最重要的關注點之一,通常情況下,所說的安全涵蓋網路安全 資料安全 作業系統安全 伺服器安全以及應用系統安全等諸多方面。tomcat 是乙個免費的開放源 的web應用伺服器,技術先進 效能穩定。由於它優秀的穩定性以及豐富的文件資料,廣泛的使用人群,從而在開源領域受到廣泛的青睞,因此,t...
Tomcat的角色配置 Tomcat的後台管理
在tomcat5.5版本中,如果沒有對使用者角色進行配置,那麼管理頁面 即 url http localhost port manager html url 和 url http localhost 8080 admin url 會因為使用者名稱和密碼錯誤而無法登陸.雖然我們在tomcat安裝目錄下...
Tomcat的配置安全
注釋或刪除tomcat users.xml 檔案內的所有使用者許可權 更改關閉tomcat指定或禁用 tomcat 的server.xml 中定義了可以直接關閉tomcat 例項的管理埠 預設8005 可以通過telnet 連線上該埠之後,輸入shutdown 此為預設關閉指令 即可關閉tomcat...