轉:http://www.tuicool.com/articles/R7fQNfQ
0x00 刪除預設目錄
安裝完tomcat後,刪除 $CATALINA_HOME/webapps 下預設的所有目錄檔案
#!bash
rm -rf /srv/apache-tomcat/webapps/*
0x01 使用者管理
如果不需要通過web部署應用,建議註釋或刪除tomcat-users.xml下使用者許可權相關配置
0x02 隱藏tomcat版本資訊
方法一
修改 $CATALINA_HOME/conf/server.xml ,在Connector節點新增server欄位,示例如下
方法二
修改 $CATALINA_HOME/lib/catalina.jar::org/apache/catalina/util/ServerInfo.properties
預設情況下如圖
使用者可自定義修改server.info欄位和server.number欄位,示例修改如下圖所示。
0x03 關閉自動部署
如果不需要自動部署,建議關閉自動部署功能。在 $CATALINA_HOME/conf/server.xml 中的host欄位,修改 unpackWARs="false" autoDeploy="false" 。
0x04 自定義錯誤頁面
修改web.xml,自定義40x、50x等容錯頁面,防止資訊洩露。
0x05 禁止列目錄(高版本預設已禁止)
修改web.xml
0x06 AJP埠管理
AJP是為 Tomcat 與 HTTP 伺服器之間通訊而定製的協議,能提供較高的通訊速度和效率。如果tomcat前端放的是apache的時候,會使用到AJP這個聯結器。前端如果是由nginx做的反向代理的話可以不使用此聯結器,因此需要登出掉該聯結器。
0x07 服務許可權控制
tomcat以非root許可權啟動,應用部署目錄許可權和tomcat服務啟動使用者分離,比如tomcat以tomcat使用者啟動,而部署應用的目錄設定為nobody使用者750。
0x08 啟用cookie的HttpOnly屬性
修改 $CATALINA_HOME/conf/context.xml ,新增 <Context useHttpOnly="true"> ,如下圖所示
測試結果
配置cookie的secure屬性,在web.xml中sesion-config節點配置cooker-config,此配置只允許cookie在加密方式下傳輸。
測試結果