【分享】Tomcat伺服器之安全設定

來源:互聯網
上載者:User

  tomcat是一個開源Web伺服器,基於Tomcat的Web運行效率高,可以在一般的硬體平台上流暢運行,因此,頗受Web站長的青睞。不過,在預設配置下其存在一定的安全隱患,可被惡意攻擊。另外,由於其功能比較單純需要我們進一步地進行設定。本機將從安全和功能兩方面談談基於Tomcat的Web伺服器的部署,希望對大家有所協助。
  環境描述
  OS:Windows Server 2003
  IP:192.168.1.12
  Tomcat:6.0.18
  1、安全性測試
  (1).登入後台
  在Windows Server 2003上部署Tomcat,一切保持預設。然後登入Tomcat後台,其預設的後台地址為:
  http://192.168.1.12:8080/manager/html。在瀏覽器中輸入該地址,斷行符號後彈出登入對話方塊,輸入預設的使用者名稱admin,預設的密碼為空白,成功登入後台。
     
  (2).獲得Webshell
  在Tomcat的後台有個WAR file to deploy模組,通過其可以上傳WAR檔案。Tomcat可以解析WAR檔案,能夠將其解壓並產生web檔案。我們將一個jsp格式的webshell用WinRar打包然後將其尾碼改名為WAR(本例為gslw.war),這樣;一個WAR包就產生了。最後將其上傳到伺服器,可以看到在Tomcat的後台中多了一個名為/gslw的目錄,點擊該目錄開啟該目錄jsp木馬就運行了,這樣就獲得了一個Webshell。
     
  (3).測試操作
  建立管理員
  Tomcat服務預設是以system許可權啟動並執行,因此該jsp木馬就繼承了其許可權,幾乎可以對Web伺服器進行所有的操作。比如啟動服務、刪除/建立/修改檔案、建立使用者。我們以建立管理使用者為例進行示範。運行jsp木馬的“命令列”模組,分別輸入命令net user test test168 /add和net localgroup administrators test /add,這樣就建立了一個具有管理員權限的test使用者,其密碼為test168。
     
  遠程登入
  我們還可以進一步地滲透,比如通過“遠端桌面”登入Web伺服器。輸入命令netstat -ano查看該伺服器的3389連接埠是關閉的。我們可以利用webshell上傳一個工具,利用其開啟Web伺服器的遠端桌面。最後,我們就可以成功登入系統,至此整個Web淪陷。
     
  2、安全防範
  通過上面的測試可以看到,預設配置下的Tomcat伺服器的安全性是非常差的。如何來加固Tomcat伺服器的安全性呢?我們從以下幾個方面來加強。
  (1).服務降權
  預設安裝時Tomcat是以系統服務許可權啟動並執行,因此預設情況下幾乎所有的Web伺服器的管理員都具有Administrator許可權這和IIS不同,存在極大的安全隱患,所以我們的安全設定首先從Tomcat服務降權開始。
  首先建立一個普通使用者,為其設定密碼,將其密碼原則設定為“密碼永不到期”,比如我們建立的使用者為Tomcat_lw。然後修改Tomcat安裝資料夾的存取權限,為Tomcat_lw賦予Tomcat檔案夾的讀、寫、執行的存取權限,賦予Tomcat_lw對WebApps檔案夾的唯讀存取權限,如果某些Web應用程式需要寫存取權限,單獨為其授予對那個檔案夾的寫存取權限。
     
  “開始→運行”,輸入services.msc開啟服務管理員,找到Apache Tomcat服務,雙擊開啟該服務,在其實屬性視窗中點擊“登入”選項卡,在登入身份下選中“以此帳戶”,然後在文字框中輸入Tomcat_lw和密碼,最後“確定”並重啟伺服器。這樣Tomcat就以Tomcat_lw這個普通使用者的許可權運行。
     
  有的時候,我們需要在命令列下運行Tomcat,這時候可以在命令下輸入命令runas /user:tomcat_lw cmd.exe斷行符號後並輸入密碼,這樣就開啟一個Tomcat_lw許可權的命令列。最後定位到Tomcat的bin檔案夾下,輸入命令tomcat6.exe即以Tomcat_lw在命令列下啟動Tomcat。
     
  這樣普通使用者Tomcat_lw啟動並執行Tomcat其許可權就大大地降低了,就算是攻擊者獲得了Webshell也不能進一步深入,從而威脅web伺服器的安全。
  (2).更改連接埠
  Tomcat的預設連接埠是8080,攻擊者可以據此運行掃描工具進行連接埠掃描,從而擷取部署了Tomcat的Web伺服器然後實施攻擊。因此,為了安全期間我們可以修改此預設連接埠。在Tomcat的安裝路徑的conf目錄下找到server.xml檔案,用記事本開啟然後搜尋8080找到對應的欄位,然後將8080自行修改為另外的數字。另外,需要說明的是connectionTimeout="20000"是連線逾時,maxThreads="150"是最大線程類似這樣的參數也可以根據需要進行修改。
     
  (3).禁止列表
  我們知道在IIS中如果設定不當,就會列出Web目前的目錄中的所有檔案,在Tomcat也不例外。如果瀏覽者可以在用戶端瀏覽Web目錄,那將會存在較大的安全隱患,因此我們要確認Tomcat的設定中禁止列目錄。設定檔案是web.xml,也在conf目錄下。用記事本開啟該檔案,搜尋init-param在其附近找到類似如下欄位:  
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>  
  確認是false而不是true。
     
  (4).使用者管理
  Tomcat的後台管理員為admin並且預設為空白密碼,安全期間我們需要修改該預設的使用者名稱並為其設定健壯的密碼。其設定檔為tomcat-users.xml,用記事本開啟該檔案然後進行修改。其中role標籤表示其許可權,manager說明是管理員權限;user標籤表示後台系統管理使用者,可以看到使用者名稱為admin,我們可以將其修改為一個陌生的使用者;可以看到password後面為空白密碼,我們可以為其設定一個複雜的密碼。最後修改配置完成的tomcat-users.xml檔案為: 
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="gslw" password="test168" roles="admin,manager"/>
</tomcat-users>
    
  (5).錯誤頁面
  Tomcat不像IIS提供了各種類型的錯誤頁,如果Tomcat發生錯誤就會顯示千篇一律的錯誤頁面。其實我們可以通過修改其設定檔,從而自訂設定其錯誤頁面的顯示。開啟web.xml檔案,在最後一行的之前添加如下的語句:  
<error-page>
<error-code>401</error-code>
<location>/401.htm</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.htm</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.htm</location>
</error-page>
  當然,僅僅設定這樣的語句還不行,需要建立相應的401.htm、404.htm、500.htm這樣的檔案才行。另外,要把錯誤分頁檔放到webapps\manager目錄中,否則需要在web.xml中指定其路徑,最後的效果如所示
     
  總結:Tomcat不同於IIS,其配置沒有圖形介面,而是通過修改設定檔來完成的。不過,正因為如此使用者有更多的自主性,可以根據自己的需要進行擴充。而且其與Apache可以無縫結合,打造安全、強大的Web伺服器。

本文資訊來源於:http://www.waitalone.cn/post/330.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.