安全是系統架構中最重要的關注點之一,通常情況下,所說的安全涵蓋網路安全、資料安全、作業系統安全、伺服器安全以及應用系統安全等諸多方面。tomcat 是乙個免費的開放源** 的web應用伺服器,技術先進、效能穩定。由於它優秀的穩定性以及豐富的文件資料,廣泛的使用人群,從而在開源領域受到廣泛的青睞,因此,tomcat安全也越來越受到重視。
tomcat作為一款應用伺服器,預設情況下可以滿足多數場景的安全需求,但是在安全要求較高的情況下,仍需要從多個方面進行配置,已防止tomcat管理後台被攻擊等風險。tomcat安全主要從以下2個方面介紹。
配置安全
預設情況下其存在一定的安全隱患,可被惡意攻擊,所以在生產環境中需要對tomcat進行安全配置,下面將介紹影響tomcat配置安全的4個選項。
1. 移除不使用的內建應用
圖 2.tomcat內建應用
2. 降權啟動tomcat
tomcat 啟動使用者許可權必須為非root,避免一旦tomcat服務被入侵,獲取root許可權,因為在linux作業系統中,root使用者的許可權是最高的,可以執行普通使用者無法執行的操作。應單獨為tomcat伺服器建立乙個使用者,並且授予執行應用伺服器所需的最小系統許可權。
3. 刪除不使用的元件
tomcat是開源軟體,那麼server.xml中的預設配置對所有人都是可見的,它的執行機制也是眾所周知的,因此使用預設配置也會增加伺服器受攻擊的風險。所以在部署生產環境前,移除不必要的元件,預設情況下,server.xml配置了乙個http聯結器(8080)和乙個ajp聯結器(8009),實際上絕大多數情況下,只需要乙個聯結器。如果tomcat不存在前置的web伺服器,此時可以保留http而刪除ajp聯結器。
4. 禁用自動部署
圖 3.禁用自動部署
管理平台安全
1. 管理平台是什麼?
2. 管理平台如何使用
在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種角色,配置方式如圖4所示。
圖 4. 管理平台角色配置
圖 5. web版管理控制台
通過http://ip:port/manager/status ,檢視server-status伺服器狀態頁面,如圖6所示。
圖 6. 伺服器狀態頁面
server-status包含以下幾部分資訊:
host-manager管理控制台可以動態地新增乙個虛擬主機。此外還可以啟動、停止、刪除虛擬主機,如圖7所示。
通過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/*)。
圖 7. host-manager管理平台頁面
3. 管理平台安全加固
管理平台有發布管理應用的許可權,預設情況下host-manager和manager應用存在安全風險,可能會產生嚴重的危害,所以針對tomcat管理平台需通過以下幾個方面進行安全加固。
如使用內建host-manager和manager管理應用,需要增加ip訪問限制,在應
用下meta-inf/context.xml檔案中配置。修改allow屬性的正規表示式。8.5版本前需要手動開啟,而8.5版本之後,則預設開啟只有本機可以訪問。比如只允許ip位址10.232.150.78和10.232.150.80訪問manager管理應用,將allow屬性值修改為10.232.150.78|10.232.150.80即可,如圖8所示。
圖8. ip訪問限制配置方式
如需訪問host-manager和manager應用需要分配相關的角色許可權。我們還應
設定足夠健壯的密碼,建議加強口令強度,設定口令複雜度為8位以上,大小寫字母、數字、特殊符號的組合,並定期更換密碼,避免使用弱口令。
管理平台新增使用者鎖定功能,在server.xml中配置了org.apache.catalina.real
m.lockoutrealm,lockoutrealm 是乙個tomcat的realm實現,它擴充套件了combinedrealm,假如在某一段時間內出現很多驗證失敗,則它能夠提供鎖定使用者的功能,已避免攻擊者進行密碼暴力破解。lockoutrealm 配置方式, server.xml檔案engine元素內新增,如圖9所示
圖9. lockoutrealm 配置
tomcat 的安全配置預防後台被攻擊
安全是系統架構中最重要的關注點之一,通常情況下,所說的安全涵蓋網路安全 資料安全 作業系統安全 伺服器安全以及應用系統安全等諸多方面。tomcat 是乙個免費的開放源 的web應用伺服器,技術先進 效能穩定。由於它優秀的穩定性以及豐富的文件資料,廣泛的使用人群,從而在開源領域受到廣泛的青睞,因此,t...
如何預防 CSRF 攻擊?
user02 攻擊者 清楚地了解 a,並建立了具有攻擊性的 b。user01 受害者 登入了 a 後,在自身的 session 未失效的情況下,訪問了惡意 b。假如,user01 還未退出 a,在同一瀏覽器中,訪問了惡意 b。b 是 user02 建立的,user02 清楚地知道 a 的工作模式。b...
NTP服務被利用做流量攻擊以及檢測預防手段
被攻擊伺服器相關配置 ip eth0 172.28.9.2 eth1 192.168.0.2 eth3 外網ip 某一天發現這台web伺服器流量一直很高。開始一直以為是web服務的流量很高,根本沒往ntp服務那方面想。因為我設定ntp服務的時候就有考慮到安全問題。檢測過程 可以發現傳送流量非常大。後...