背景:
Tomcat部署在服務器上,有默認的shutdown端口(8005)和關閉命令(SHUTDOWN),及容易被攻擊者通過TCP/IP連接該端口關閉Tomcat,導致業務中斷。
優化方案:
更改默認的shutdown端口號和關閉命令,使攻擊者難以猜解,增加攻擊者通過shutdown請求攻擊服務器和應用的難度。
具體措施:
1)在$CATALINA_HOME/conf/server.xml文件,更改默認端口為一個不確定的值,將shutdown命令改為其他大於8位的任意字符串,例如:
<Server port="2724" shutdown="xxx!!ydtgertsfd34g"> // 這里shutdown命令,包含大小寫字母、數字和特殊字符
2) 在$CATALINA_HOME/conf/server.xml文件,直接關閉shutdown端口,例如:
<Server port="2724" shutdown="-1"> // 這里shutdown命令設置成-1或者直接刪掉,代表禁用shutdown端口
備注:必須在關閉Tomcat的情況下修改該參數,否則會導致Tomcat無法正常關閉。
檢查方案:
執行如下命令檢查是否使用默認的shutdown命令和默認端口,確保默認shutdown命令和端口號已正確更改:
$ cd $CATALINA_HOME/conf $ grep 'shutdown[[:space:]]*=[[:space:]]*"SHUTDOWN"' server.xml $ grep '<Server[[:space:]]\+[^>]*port[[:space:]]*=[[:space:]]*"8005 "' server.xml