首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Tomcat 服務器安全加固實戰:從滲透測試到防禦體系構建

     編輯:Java 相關知識

環境與滲透測試

  • OS: Windows Server 2003
  • IP: 192.168.1.12
  • Tomcat: 6.0.18

1. 後台弱口令登錄

默認地址 https://IP:8080/manager/html,用戶名 admin、密碼為空,直接登入後台管理界面。

2. WAR 部署獲取 Webshell

利用後台「WAR file to deploy」功能,將 JSP Webshell 打包為 .war 上傳。Tomcat 自動解壓部署,生成對應目錄,訪問即執行木馬。

3. 提權與遠程控制

Tomcat 默以 System 權限運行,Webshell 繼承最高權限。通過命令創建管理員用戶、開啟 3389 遠程桌面端口,最終完全控制服務器。

五大加固措施

1. 服務降權(核心)

  • 創建普通用戶 Tomcat_lw,設置密碼永不過期
  • 授予 Tomcat 目錄讀/寫/執行權限,WebApps 僅讀(特定應用目錄單獨授寫)
  • 服務管理器中將 Apache Tomcat 服務「登錄身份」改為該用戶,重啟服務

命令行啟動:runas /user:tomcat_lw cmd.exe → tomcat6.exe

2. 修改默認端口

編輯 conf/server.xml,將 8080 改為非常用端口,降低掃描暴露面。同步調整 connectionTimeout、maxThreads 等參數。

3. 禁止目錄列表

編輯 conf/web.xml,確認 listings 參數為 false:

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

4. 強化後台賬號

編輯 conf/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. 自定義錯誤頁面

編輯 conf/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>

將對應 HTML 文件放入 webapps/manager 目錄,避免洩露服務器版本等敏感信息。

總結

Tomcat 通過配置文件而非圖形界面管理,賦予了更大自主權與擴展性。結合 Apache 可構建安全、高性能的 Web 服務集群。安全無小事,上線前務必完成上述加固清單。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved