如何预防后台被攻击?Tomcat 的安全配置来啦!
安全是系統(tǒng)架構(gòu)中最重要的關(guān)注點(diǎn)之一,通常情況下,所說的安全涵蓋網(wǎng)絡(luò)安全、數(shù)據(jù)安全、操作系統(tǒng)安全、服務(wù)器安全以及應(yīng)用系統(tǒng)安全等諸多方面。Tomcat 是一個(gè)免費(fèi)的開放源代碼 的Web應(yīng)用服務(wù)器,技術(shù)先進(jìn)、性能穩(wěn)定。由于它優(yōu)秀的穩(wěn)定性以及豐富的文檔資料,廣泛的使用人群,從而在開源領(lǐng)域受到廣泛的青睞,因此,Tomcat安全也越來越受到重視。
Tomcat作為一款應(yīng)用服務(wù)器,默認(rèn)情況下可以滿足多數(shù)場(chǎng)景的安全需求,但是在安全要求較高的情況下,仍需要從多個(gè)方面進(jìn)行配置,已防止Tomcat管理后臺(tái)被攻擊等風(fēng)險(xiǎn)。Tomcat安全主要從以下2個(gè)方面介紹。
配置安全
默認(rèn)情況下其存在一定的安全隱患,可被惡意攻擊,所以在生產(chǎn)環(huán)境中需要對(duì)Tomcat進(jìn)行安全配置,下面將介紹影響Tomcat配置安全的4個(gè)選項(xiàng)。
1. 移除不使用的內(nèi)置應(yīng)用
Tomcat環(huán)境部署完畢后,要?jiǎng)h除根目錄下的一些默認(rèn)文件夾:CATALINA_HOME/webapps文件夾下的內(nèi)置應(yīng)用,這些應(yīng)用可能會(huì)導(dǎo)致安全風(fēng)險(xiǎn),因此移除不使用的應(yīng)用。對(duì)于docs(Tomcat本地說明文檔)、examples(Tomcat相關(guān)的demo示例)、ROOT(Tomcat默認(rèn)頁(yè)),可以將其直接移除。host-manager和manager用于管理及監(jiān)控tomcat容器,如果已經(jīng)使用第三方工具來管理tomcat,不需要manager管理登錄,這兩個(gè)應(yīng)用也可以直接移除,如圖2所示。
圖 2.Tomcat內(nèi)置應(yīng)用
2. 降權(quán)啟動(dòng)tomcat
tomcat 啟動(dòng)用戶權(quán)限必須為非root,避免一旦tomcat服務(wù)被入侵,獲取root權(quán)限,因?yàn)樵贚inux操作系統(tǒng)中,root用戶的權(quán)限是最高的,可以執(zhí)行普通用戶無(wú)法執(zhí)行的操作。應(yīng)單獨(dú)為Tomcat服務(wù)器創(chuàng)建一個(gè)用戶,并且授予運(yùn)行應(yīng)用服務(wù)器所需的最小系統(tǒng)權(quán)限。
3. 刪除不使用的組件
Tomcat是開源軟件,那么server.xml中的默認(rèn)配置對(duì)所有人都是可見的,它的運(yùn)行機(jī)制也是眾所周知的,因此使用默認(rèn)配置也會(huì)增加服務(wù)器受攻擊的風(fēng)險(xiǎn)。所以在部署生產(chǎn)環(huán)境前,移除不必要的組件,默認(rèn)情況下,server.xml配置了一個(gè)HTTP連接器(8080)和一個(gè)AJP連接器(8009),實(shí)際上絕大多數(shù)情況下,只需要一個(gè)連接器。如果Tomcat不存在前置的web服務(wù)器,此時(shí)可以保留HTTP而刪除AJP連接器。
4. 禁用自動(dòng)部署
在默認(rèn)情況下,Tomcat是自動(dòng)部署的,只要是在webapps目錄下的war包均會(huì)在Tomcat啟動(dòng)時(shí)自動(dòng)部署,包括被植入的惡意web應(yīng)用。要避免惡意的web應(yīng)用自動(dòng)啟動(dòng),可以考慮從兩個(gè)方面解決:一是修改web應(yīng)用部署目錄為其他路徑,這樣攻擊者很難找到正確的部署目錄并部署web應(yīng)用;二是禁用自動(dòng)部署,將server.xml配置文件中Host元素的autoDeploy和deployOnStartup屬性設(shè)置為false,此時(shí)只有通過context標(biāo)簽部署web應(yīng)用,配置方法如圖3所示。
圖 3.禁用自動(dòng)部署
管理平臺(tái)安全
1. 管理平臺(tái)是什么?
Tomcat提供了基于Web方式的管理平臺(tái),管理平臺(tái)即是內(nèi)置的兩個(gè)獨(dú)立的web應(yīng)用,位于webapps目錄下的host-manager和manager。host-manager管理控制臺(tái)可以動(dòng)態(tài)地添加一個(gè)虛擬主機(jī)。此外還可以啟動(dòng)、停止、刪除虛擬主機(jī),在實(shí)際生產(chǎn)中很少使用host-manager管理平臺(tái)。manager管理平臺(tái)可以很方便的管理運(yùn)行在tomcat服務(wù)器上的Web應(yīng)用,如發(fā)布、啟動(dòng)、停止或刪除Web應(yīng)用,還可以實(shí)時(shí)管理HTTP會(huì)話以及查看服務(wù)器狀態(tài)信息等。
2. 管理平臺(tái)如何使用
在tomcat啟動(dòng)成功后,通過http://ip:port/manager/html訪問manager 管理平臺(tái) ,因?yàn)槟J(rèn)添加了訪問權(quán)限控制,第一次訪問需要在 conf/ tomcat-users.xml 文件 中為當(dāng)前用戶添加角色,manager管理平臺(tái)共有4種角色,分別為:
manager-gui:允許訪問html頁(yè)面接口(即URL路徑為/manager/html/*);
manager-script:允許訪問純文本接口(即URL路徑為/manager/text/*);
manager-jmx:允許訪問JMX代理接口(即URL路徑為/manager/jmxproxy/*);
manager-status:允許訪問Tomcat只讀狀態(tài)頁(yè)面(即URL路徑為/manager/status/*)。
其中manager-gui、manager-script、manager-jmx三個(gè)角色均具備manager-status角色的權(quán)限,即這三種角色權(quán)限無(wú)需再額外添加manager-status權(quán)限。實(shí)際使用中只需配置manager-gui角色通過html頁(yè)面的形式訪問管理平臺(tái)。
manager管理平臺(tái)有4種角色,host-manager管理平臺(tái)有2種角色,配置方式如圖4所示。
圖 4. 管理平臺(tái)角色配置
Web版管理控制臺(tái)可以發(fā)布、停止、重新加載指定的web應(yīng)用,如圖5所示。
圖 5. Web版管理控制臺(tái)
通過http://ip:port/manager/status ,查看Server-status服務(wù)器狀態(tài)頁(yè)面,如圖6所示。
圖 6. 服務(wù)器狀態(tài)頁(yè)面
Server-status包含以下幾部分信息:
host-manager管理控制臺(tái)可以動(dòng)態(tài)地添加一個(gè)虛擬主機(jī)。此外還可以啟動(dòng)、停止、刪除虛擬主機(jī),如圖7所示。
通過http:// ip:port /host-manager/html 訪問host-manager管理平臺(tái),因?yàn)槟J(rèn)添加了訪問權(quán)限控制,第一次訪問需要在conf/tomcat-users.xml文件中為當(dāng)前用戶添加角色,host-manager管理平臺(tái)共有2種角色,分別為admin-gui和admin-script,配置方式如圖3所示。
admin-gui:允許訪問html頁(yè)面接口(即URL路徑為/manager/html/*)。
admin-script:允許訪問純文本接口(即URL路徑為/manager/text/*)。
圖 7. host-manager管理平臺(tái)頁(yè)面
3. 管理平臺(tái)安全加固
管理平臺(tái)有發(fā)布管理應(yīng)用的權(quán)限,默認(rèn)情況下host-manager和manager應(yīng)用存在安全風(fēng)險(xiǎn),可能會(huì)產(chǎn)生嚴(yán)重的危害,所以針對(duì)Tomcat管理平臺(tái)需通過以下幾個(gè)方面進(jìn)行安全加固。
如使用內(nèi)置host-manager和manager管理應(yīng)用,需要增加IP訪問限制,在應(yīng)
用下META-INF/context.xml文件中配置。修改allow屬性的正則表達(dá)式。8.5版本前需要手動(dòng)開啟,而8.5版本之后,則默認(rèn)開啟只有本機(jī)可以訪問。比如只允許ip地址10.232.150.78和10.232.150.80訪問manager管理應(yīng)用,將allow屬性值修改為10.232.150.78|10.232.150.80即可,如圖8所示。
圖8. IP訪問限制配置方式
如需訪問host-manager和manager應(yīng)用需要分配相關(guān)的角色權(quán)限。我們還應(yīng)
設(shè)置足夠健壯的密碼,建議加強(qiáng)口令強(qiáng)度,設(shè)置口令復(fù)雜度為8位以上,大小寫字母、數(shù)字、特殊符號(hào)的組合,并定期更換密碼,避免使用弱口令。
管理平臺(tái)添加用戶鎖定功能,在server.xml中配置了org.apache.catalina.real
m.LockOutRealm,LockOutRealm 是一個(gè)Tomcat的Realm實(shí)現(xiàn),它擴(kuò)展了CombinedRealm,假如在某一段時(shí)間內(nèi)出現(xiàn)很多驗(yàn)證失敗,則它能夠提供鎖定用戶的功能,已避免攻擊者進(jìn)行密碼暴力破解。LockOutRealm 配置方式, server.xml文件Engine元素內(nèi)添加,如圖9所示
圖9. LockOutRealm 配置
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的如何预防后台被攻击?Tomcat 的安全配置来啦!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑的引导启动快捷键
- 下一篇: elasticsearch根据某个字段来