目的
防止黑客利用Tomcat中間件及版本號有針對性發起攻擊。
處理方法
輸入命令方式
# 進入tomcat/lib目錄
cd Tomcat目錄/lib
# 解決catalina.jar,備份ServerInfo.properties
unzip catalina.jar
cp org/apache/catalina/util/ServerInfo.properties ServerInfo.properties.bak
# 替換中間件名稱、版本號爲Unknown
sed -i "s/server.info=.*/server.info=Unknown/g" org/apache/catalina/util/ServerInfo.properties
sed -i "s/server.number=.*/server.number=Unknown/g" org/apache/catalina/util/ServerInfo.properties
# 查看替換是否成功,輸出server.info與server.number均爲Unknown即正常
grep server org/apache/catalina/util/ServerInfo.properties
# 修改的配置文件替換jar內文件
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
# 刪除解壓的臨時文件
rm org META-INF -rf
腳本方式
#!/bin/bash
[ ! -d "lib" ] && echo "lib目錄不存在,請檢查腳本是否正確放到tomcat目錄下" && exit;
cd ./lib
[ -d "org" ] && rm -rf org;
[ -d "META-INF" ] && rm -rf META-INF;
unzip -q catalina.jar
[ $? != 0 ] && echo "unzip命令不存在,請安裝後重試" && exit;
sed -i "s/server.info=.*/server.info=Unknown/g" org/apache/catalina/util/ServerInfo.properties
sed -i "s/server.number=.*/server.number=Unknown/g" org/apache/catalina/util/ServerInfo.properties
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
[ $? != 0 ] && echo "jar命令不存在,可能在PATH中找不到,請正確配置後重試" && exit;
rm org META-INF -rf
echo "操作完成。"
將腳本命名爲 tomcat-no-version.sh
,放入tomcat目錄下執行 sh tomcat-no-version.sh