tomcat是一個(gè)開(kāi)源Web服務(wù)器,基于Tomcat的Web運(yùn)行效率高,可以在一般的硬件平臺(tái)上流暢運(yùn)行,因此,頗受Web站長(zhǎng)的青睞。不過(guò),在默認(rèn)配置下其存在一定的安全隱患,可被惡意攻擊。另外,由于其功能比較單純需要我們進(jìn)一步地進(jìn)行設(shè)置。本機(jī)將從安全和功能兩方面談?wù)劵赥omcat的Web服務(wù)器的部署,希望對(duì)大家有所幫助。
環(huán)境描述
OS:Windows Server 2003
IP:192.168.1.12
Tomcat:6.0.18
1、安全測(cè)試
(1).登錄后臺(tái)
在Windows Server 2003上部署Tomcat,一切保持默認(rèn)。然后登錄Tomcat后臺(tái),其默認(rèn)的后臺(tái)地址為:
http://192.168.1.12:8080/manager/html。在瀏覽器中輸入該地址,回車(chē)后彈出登錄對(duì)話框,輸入默認(rèn)的用戶(hù)名admin,默認(rèn)的密碼為空,成功登錄后臺(tái)。(圖1)
(2).獲得Webshell
在Tomcat的后臺(tái)有個(gè)WAR file to deploy模塊,通過(guò)其可以上傳WAR文件。Tomcat可以解析WAR文件,能夠?qū)⑵浣鈮翰⑸蓋eb文件。我們將一個(gè)jsp格式的webshell用WinRar打包然后將其后綴改名為WAR(本例為gslw.war),這樣;一個(gè)WAR包就生成了。最后將其上傳到服務(wù)器,可以看到在Tomcat的后臺(tái)中多了一個(gè)名為/gslw的目錄,點(diǎn)擊該目錄打開(kāi)該目錄jsp木馬就運(yùn)行了,這樣就獲得了一個(gè)Webshell。(圖2)
(3).測(cè)試操作
創(chuàng)建<管理員
Tomcat服務(wù)默認(rèn)是以system權(quán)限運(yùn)行的,因此該jsp木馬就繼承了其權(quán)限,幾乎可以對(duì)Web服務(wù)器進(jìn)行所有的操作。比如啟動(dòng)服務(wù)、刪除/創(chuàng)建/修改文件、創(chuàng)建用戶(hù)。我們以創(chuàng)建管理員用戶(hù)為例進(jìn)行演示。運(yùn)行jsp木馬的“命令行”模塊,分別輸入命令net user test test168 /add和net localgroup administrators test /add,這樣就創(chuàng)建了一個(gè)具有管理員權(quán)限的test用戶(hù),其密碼為test168。(圖3)
遠(yuǎn)程登錄
我們還可以進(jìn)一步地滲透,比如通過(guò)“遠(yuǎn)程桌面”登錄Web服務(wù)器。輸入命令netstat -ano查看該服務(wù)器的3389端口是關(guān)閉的。我們可以利用webshell上傳一個(gè)工具,利用其開(kāi)啟Web服務(wù)器的遠(yuǎn)程桌面。最后,我們就可以成功登錄系統(tǒng),至此整個(gè)Web淪陷。(圖4)
2、安全防范
通過(guò)上面的測(cè)試可以看到,默認(rèn)配置下的Tomcat服務(wù)器的安全性是非常差的。如何來(lái)加固Tomcat服務(wù)器的安全性呢?我們從以下幾個(gè)方面來(lái)加強(qiáng)。
(1).服務(wù)降權(quán)
默認(rèn)安裝時(shí)Tomcat是以系統(tǒng)服務(wù)權(quán)限運(yùn)行的,因此缺省情況下幾乎所有的Web服務(wù)器的管理員都具有Administrator權(quán)限這和IIS不同,存在極大的安全隱患,所以我們的安全設(shè)置首先從Tomcat服務(wù)降權(quán)開(kāi)始。
首先創(chuàng)建一個(gè)普通用戶(hù),為其設(shè)置密碼,將其密碼策略設(shè)置為“密碼永不過(guò)期”,比如我們創(chuàng)建的用戶(hù)為T(mén)omcat_lw。然后修改Tomcat安裝文件夾的訪問(wèn)權(quán)限,為T(mén)omcat_lw賦予Tomcat文件夾的讀、寫(xiě)、執(zhí)行的訪問(wèn)權(quán)限,賦予Tomcat_lw對(duì)WebApps文件夾的只讀訪問(wèn)權(quán)限,如果某些Web應(yīng)用程序需要寫(xiě)訪問(wèn)權(quán)限,單獨(dú)為其授予對(duì)那個(gè)文件夾的寫(xiě)訪問(wèn)權(quán)限。(圖5)
“開(kāi)始→運(yùn)行”,輸入services.msc打開(kāi)服務(wù)管理器,找到Apache Tomcat服務(wù),雙擊打開(kāi)該服務(wù),在其實(shí)屬性窗口中點(diǎn)擊“登錄”選項(xiàng)卡,在登錄身份下選中“以此帳戶(hù)”,然后在文本框中輸入Tomcat_lw和密碼,最后“確定”并重啟服務(wù)器。這樣Tomcat就以Tomcat_lw這個(gè)普通用戶(hù)的權(quán)限運(yùn)行。(圖6)
有的時(shí)候,我們需要在命令行下運(yùn)行Tomcat,這時(shí)候可以在命令下輸入命令runas /user:tomcat_lw cmd.exe回車(chē)后并輸入密碼,這樣就開(kāi)啟一個(gè)Tomcat_lw權(quán)限的命令行。最后定位到Tomcat的bin文件夾下,輸入命令tomcat6.exe即以Tomcat_lw在命令行下啟動(dòng)Tomcat。(圖7)
這樣普通用戶(hù)Tomcat_lw運(yùn)行的Tomcat其權(quán)限就大大地降低了,就算是攻擊者獲得了Webshell也不能進(jìn)一步深入,從而威脅web服務(wù)器的安全。
(2).更改端口
Tomcat的默認(rèn)端口是8080,攻擊者可以據(jù)此運(yùn)行掃描工具進(jìn)行端口掃描,從而獲取部署了Tomcat的Web服務(wù)器然后實(shí)施攻擊。因此,為了安全期間我們可以修改此默認(rèn)端口。在Tomcat的安裝路徑的conf目錄下找到server.xml文件,用記事本打開(kāi)然后搜索8080找到對(duì)應(yīng)的字段,然后將8080自行修改為另外的數(shù)字。另外,需要說(shuō)明的是connectionTimeout="20000"是連接超時(shí),maxThreads="150"是最大線程類(lèi)似這樣的參數(shù)也可以根據(jù)需要進(jìn)行修改。(圖8)



新聞熱點(diǎn)
疑難解答
圖片精選