1. 程式人生 > >win2003下tomcat伺服器部署與安全設定

win2003下tomcat伺服器部署與安全設定

1.jdk安裝,設定系統環境變數:
  1.1 建立JAVA_HOME:jdk安裝目錄
  1.2 建立CLASSPATH:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
  1.3 修改Path:加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

2.安裝tomcat
  2.1 注意不要空密碼,管理登入使用者名稱不要使用預設,埠號最好也不要使用預設.
  2.2 若在安裝時忘記更改,可以通過以下方法更改管理使用者資訊,埠號
    2.2.1 管理賬號資訊:tomcat-users.xml,user標籤內,注意roles屬性代表當前賬號擁有的許可權,有admin,manager.
    2.2.2 埠號資訊:server.xml,Connector標籤內,port屬性->繫結的埠號.

3.tomcat安全
  3.1 預設安裝時Tomcat是以系統服務許可權執行的,因此預設情況下幾乎所有的Web伺服器的管理員都具有Administrator許可權這和IIS不同,存在極大的安全隱患,所以安全設定首先從Tomcat服務降權開始。
    3.1.1 首先建立一個普通使用者(最好是隸屬於guest組)
,為其設定密碼,將其密碼策略設定為“密碼永不過期”,比如建立一個使用者tomcat_leiliang。然後修改tomcat安裝資料夾的訪問許可權,為tomcat_leiliang賦予tomcat資料夾的讀、寫、執行的訪問許可權,賦予tomecat_leiliang對WebApps資料夾的只讀訪問許可權,如果某些Web應用程式需要寫訪問許可權,單獨為其授予對那個資料夾的寫訪問許可權。
    3.1.1 “開始→執行”,輸入services.msc開啟服務管理器,找到Apache Tomcat服務,雙擊開啟該服務,在其實屬性視窗中點選“登入”選項卡,在登入身份下選中“以此帳戶”,然後在文字框中輸入tomcat_leiliang和密碼,最後“確定”並重啟伺服器。這樣tomcat就以tomcat_leiliang這個普通使用者的許可權執行。
    3.1.2 有的時候,我們需要在命令列下執行tomcat,這時候可以在命令下輸入命令runas /user:tomcat_leiliang cmd.exe回車後並輸入密碼,這樣就開啟一個tomcat_leiliang許可權的命令列。最後定位到tomcat的bin資料夾下,輸入命令 tomcat6.exe即以tomcat_leiliang在命令列下啟動tomcat。
      
  3.2 更改埠:
    3.2.1 tomcat的預設埠是8080,攻擊者可以據此執行掃描工具進行埠掃描,從而獲取部署了tomcat的Web伺服器然後實施攻擊。因此,為了安全期間我們可以修改此預設埠。在tomcat的安裝路徑的conf目錄下找到server.xml檔案,用記事本開啟然後搜尋8080找到對應的欄位,然後將8080自行修改為另外的數字。另外,需要說明的是connectionTimeout="20000"是連線超時,maxThreads="150" 是最大執行緒類似這樣的引數也可以根據需要進行修改。
  3.3 禁止列表
    3.3.1 如果瀏覽者可以在客戶端瀏覽Web目錄,那將會存在較大的安全隱患,因此我們要確認tomcat的設定中禁止列目錄。設定檔案是web.xml,也在conf目錄下。用記事本開啟該檔案,搜尋init-param在其附近找到類似如下欄位:  

<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
確認是false而不是true。

  3.4 使用者管理
    3.4.1 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>

  3.5 錯誤頁面
    3.5.1 開啟web.xml檔案,在最後一行的之前新增如下的語句:

<1-- 無法連線到請求頁面 -->
<error-page>  
    <error-code>400</error-code>  
    <location>/400.htm</location>  
</error-page>
<!-- 訪問未被授權頁面 --> 
<error-page>  
    <error-code>401</error-code>  
    <location>/401.htm</location>  
</error-page>
<!-- 訪問請求被站點拒絕 -->
<error-page>  
    <error-code>403</error-code>  
    <location>/403.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>
<!-- 錯誤頁面需要放到webapps下root和manager目錄中 -->


  3.5 隱藏後臺路徑
    3.5.1 修改webapps目錄內manage目錄名,如改為manager_XXX,則預設無法找到該管理目錄
    3.5.1 修改後手動訪問的方法: http;//域名:埠號/manager名/html

  3.6 有些版本tomcat有 host-manager注入漏洞,需要安裝補丁