Tomcat服務器之安全設置

tomcat是一個開源Web服務器,基於Tomcat的Web運行效率高,能夠在通常的硬件平臺上流暢運行,所以,頗受Web站長的青睞。不過,在默認配置下其存在必定的安全隱患,可被惡意攻擊。另外,因爲其功能比較單純須要咱們進一步地進行設置。本機將從安全和功能兩方面談談基於Tomcat的Web服務器的部署,但願對你們有所幫助。
  環境描述
  OS:Windows Server 2003
  IP:192.168.1.12
  Tomcat:6.0.18
  一、安全測試
  (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淪陷。
      
   html

二、安全防範
  經過上面的測試能夠看到,默認配置下的Tomcat服務器的安全性是很是差的。如何來加固Tomcat服務器的安全性呢?咱們從如下幾個方面來增強。

  (1).服務降權
  默認安裝時Tomcat是以系統服務權限運行的,所以缺省狀況下幾乎全部的Web服務器的管理員都具備Administrator權限這和IIS不一樣,存在極大的安全隱患,因此咱們的安全設置首先從Tomcat服務降權開始。

  首先建立一個普通用戶,爲其設置密碼,將其密碼策略設置爲「密碼永不過時」,好比咱們建立的用戶爲Tom。 web

一、新建一個tomcat管理用戶:







二、給tomcat 用戶啓動tomcat服務:





shell

而後修改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服務器。 瀏覽器

相關文章
相關標籤/搜索