溫馨提示×

Ubuntu中Tomcat安全設置有哪些

小樊
37
2025-10-17 01:59:54
欄目: 智能運維

Ubuntu中Tomcat安全設置關鍵措施

1. 運行權限控制:以非root用戶啟動Tomcat

Tomcat不應以root用戶身份運行,否則一旦被入侵,攻擊者可獲得系統最高權限。需創建專用低權限用戶(如tomcat),并將其設置為Tomcat的所有者和運行用戶:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat  # 創建用戶及同組
sudo chown -R tomcat:tomcat /opt/tomcat              # 賦予目錄所有權

修改Tomcat啟動腳本(如startup.shcatalina.sh),確保以tomcat用戶身份啟動服務。

2. 刪除默認應用與目錄

Tomcat默認安裝包含docs、examples、ROOT、host-manager、manager等目錄,這些目錄可能暴露敏感信息或成為攻擊入口。安裝完成后應立即刪除:

rm -rf /opt/tomcat/webapps/*

若需保留部分功能(如manager),需嚴格限制訪問權限(見下文“限制管理界面訪問”)。

3. 禁用自動部署

自動部署(autoDeploy="true")會自動解壓上傳的WAR文件,易被惡意利用。需修改server.xml中的Host配置,關閉自動部署:

<Host name="localhost" appBase="/opt/tomcat/webapps" unpackWARs="false" autoDeploy="false">

同時關閉deployOnStartup屬性(默認true),避免服務器啟動時自動部署。

4. 隱藏Tomcat版本信息

攻擊者可通過版本信息識別已知漏洞。修改server.xml中的Connector配置,添加server字段覆蓋默認版本:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" server="Custom Server" />

或修改catalina.jar中的ServerInfo.properties文件(需解壓jar包編輯)。

5. 配置防火墻限制端口訪問

使用ufw(Ubuntu防火墻)僅允許必要端口(如HTTP的8080、HTTPS的8443、AJP的8009)對外開放,阻止非法訪問:

sudo ufw allow 8080/tcp    # 允許HTTP訪問
sudo ufw allow 8443/tcp    # 允許HTTPS訪問
sudo ufw allow 8009/tcp    # 允許AJP訪問(若使用Apache反向代理可關閉)
sudo ufw enable            # 啟用防火墻

若無需AJP協議,可直接注釋server.xml中的AJP連接器。

6. 啟用HTTPS加密通信

通過SSL/TLS證書啟用HTTPS,加密客戶端與服務器之間的數據傳輸,防止中間人攻擊。步驟如下:

  • 生成密鑰庫(Keystore):
    keytool -genkeypair -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore.jks -validity 365
    
  • 修改server.xml,添加HTTPS連接器:
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               SSLEnabled="true" scheme="https" secure="true"
               keystoreFile="/opt/tomcat/keystore.jks"
               keystorePass="your_keystore_password"
               clientAuth="false" sslProtocol="TLS" />
    

7. 強化管理界面安全

Tomcat的managerhost-manager應用需嚴格限制訪問:

  • 設置復雜密碼:編輯tomcat-users.xml,為用戶分配最小必要角色(如僅manager-gui,避免manager-script等高危角色):
    <tomcat-users>
      <user username="admin" password="StrongPassword123!" roles="manager-gui"/>
    </tomcat-users>
    
  • 限制訪問IP:在server.xmlHostContext配置中添加address屬性,僅允許可信IP訪問:
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192\.168\.1\.\d+" />
    

8. 自定義錯誤頁面防止信息泄露

默認錯誤頁面(如404、500)可能暴露Tomcat版本、服務器路徑等信息。修改web.xml文件,自定義錯誤頁面:

<error-page>
  <error-code>404</error-code>
  <location>/error/404.html</location>
</error-page>
<error-page>
  <error-code>500</error-code>
  <location>/error/500.html</location>
</error-page>

將自定義頁面放置在webapps/ROOT/error/目錄下。

9. 禁止目錄列示

防止攻擊者通過目錄遍歷查看應用文件結構。在web.xml中添加以下配置,默認情況下Tomcat高版本已開啟:

<init-param>
  <param-name>listings</param-name>
  <param-value>false</param-value>
</init-param>

10. 定期更新與監控

  • 更新Tomcat與JDK:定期檢查并安裝Tomcat(如通過apt或官網下載)和JDK的最新穩定版本,修復已知漏洞。
  • 監控日志:定期審查catalina.out、localhost_access_log等日志文件,使用工具(如fail2ban)檢測暴力破解行為。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女