看着這麼多須要修復的感受整我的都很差了[捂臉]。藉着一次修復過程,總結下常見的基於 Tomcat 容器的 Web 應用的優化和漏洞防禦。web
打開 tomcat/conf/web.xml ,找到 sesion-config節點配置cooker-configshell
``` xml 30 true trueapache
**注意,設置 Secure=true 須要應用的訪問協議是https。** ### 修改tomcat默認端口 #### 修改默認啓動端口 打開 tomcat/conf/server.xml,找到
xmlvim
將 port 改成其餘值。 #### 禁用8005端口 telnet ip 8005 而後輸入 SHUTDOWN 就能夠關閉 Tomcat,應該禁用,在 tomcat/conf/server.xml中找到
shell瀏覽器
修改成:
shelltomcat
### 防止 Slow HTTP POST Slow HTTP Denial of Service Attack漏洞是利用HTTP POST的時候,指定一個很是大的content-length,而後以很低的速度發包,好比10-100s發一個字節,讓這個鏈接不斷開。這樣當客戶端鏈接多了後,佔用了webserver的全部可用鏈接,從而致使一種慢速DOS,屬於一種拒絕服務攻擊。 打開 tomcat/conf/server.xml,找到
xmlcookie
修改成
xmlapp
### 防止 Clickjacking - Framable Page Clickjacking(點擊劫持) 在web端通常是iframe嵌套一個透明不可見的頁面,讓用戶在不知情的狀況下,點擊攻擊者想要欺騙用戶點擊的位置。 X-Frame-Options HTTP響應頭是用來確認是否瀏覽器能夠在frame或iframe標籤中渲染一個頁面,網站能夠用這個頭來保證他們的內容不會被嵌入到其它網站中,以來避免點擊劫持。 打開 tomcat/conf/web.xml,添加攔截器:
xml httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter antiClickJackingOption SAMEORIGIN true框架
<filter-mapping> <filter-name>httpHeaderSecurity</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
參數說明 * DENY:不能被嵌入到任何iframe或frame中。 * SAMEORIGIN:頁面只能被本站頁面嵌入到iframe或者frame中。 * ALLOW-FROM uri:只能被嵌入到指定域名的框架中。 ### 隱藏 Tomcat 版本號 在 /home/portal/data/tomcat/tomcatCas/lib/ 下新建目錄 org/apache/catalina/util
sh mkdir /tomcat/lib/org/apache/catalina/utilwebapp
建立一個 ServerInfo.properties 文件,保存爲空文件
shell cd /tomcat/lib/org/apache/catalina/util vim ServerInfo.properties ```