1. 程式人生 > >tomcat修改banner,隱藏版本號

tomcat修改banner,隱藏版本號

隱藏版本號 sof webapp pro tom webapps XML app uil

為了避免黑客針對某些版本進行攻擊,因此我們需要隱藏或者偽裝 Tomcat 的版本信息。
針對該信息的顯示是由一個jar包控制的,該jar包存放在 Tomcat 安裝目錄下的lib目錄下,名稱為 catalina.jar

1、兩種方式,第一種是修改catalina.jar文件

進入tomcat的lib目錄找到catalina.jar文件
技術分享圖片

unzip catalina.jar之後會多出兩個文件夾
技術分享圖片

進入org/apache/catalina/util 編輯配置文件ServerInfo.properties字段來實現來更改我們tomcat的版本信息
技術分享圖片
技術分享圖片
修改為

server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Apr 2 2017 07:25:00 UTC

將修改後的信息壓縮回jar包

# cd  /tomcat/lib
# jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

技術分享圖片

重啟tomcat

2、修改server屬性

在Connector中添加server屬性就可以了,具體如下:

打開tomcat的conf/server.xml,在server.xml找到
<Connector port="8080" protocol="HTTP/1.1"  
                    connectionTimeout="20000" 
                    redirectPort="8443"  
                    URIEncoding="UTF-8" 
                    useBodyEncodingForURI="true" />

修改後如下:
<Connector port="8080" protocol="HTTP/1.1"  
                     connectionTimeout="20000" 
                     redirectPort="8443"  
                     URIEncoding="UTF-8" 
                     useBodyEncodingForURI="true" 
                     server="Microsoft-IIS/6.5"/>

3、默認Tomcat 是開啟了對war包的熱部署。為了防止被植入木馬等惡意程序,因此我們要關閉自動部署。

技術分享圖片

將unpackWARs和autoDeploy由原先true都改為false
<Host name="localhost"  appBase="" unpackWARs="false" autoDeploy="false">

線上是不使用 Tomcat 默認提供的管理頁面的,因此都會在初始化的時候就把這些頁面刪掉。這些頁面是存放在 Tomcat 安裝目錄下的webapps目錄下的。
我們只需要刪除該目錄下的所有文件即可。另外conf/Catalina/localhost目錄下的2個配置文件 host-manager.xml 和 manager.xml 也需要一並刪掉

4、為了進一步安全,建議使用專用用戶 tomcat 或者 nobody 用戶來啟動 Tomcat,為了防止 Tomcat 被植入 web shell 程序後,可以修改項目文件。因此我們要將 Tomcat 和項目的屬主做分離,這樣子,即便被搞,他也無法創建和編輯項目文件。

tomcat修改banner,隱藏版本號