默認情況下,Tomcat的錯誤頁面會公佈Tomcat的存在以及處理請求的容器的確切版本。這對於開發很好,但是在生產環境中,這些信息是潛在的安全漏洞,禁用它會很好。減少Tomcat中的信息泄露錯誤頁面
因此,我想知道什麼是最好的(如最簡單的/綜合)解決方案是完全抑制Tomcat的默認錯誤頁面。我知道web.xml中的<error-page>
選項,但它在所需的計數上似乎都失敗了,部分原因是我必須多次列出相同的備用錯誤頁面(每個響應代碼要處理一個),因爲這可能不是100%穩健的;如果攻擊者能以某種方式得到我沒有明確列出的錯誤代碼,他們將得到默認的錯誤頁面。
理想的情況下,一個簡單的選擇設定一個統一的自定義錯誤頁,或者平了禁止在默認錯誤頁面的錯誤代碼一起發送的任何HTML,將是最好的。如果這兩種選擇都不可行,那麼我有興趣瞭解實現此功能的典型方法(討論/顯示爲什麼這些假設選項不存在,因爲看起來我的要求相當標準對於任何在生產中使用Tomcat的人...)。
但我有點想 - 因爲它是一個獨立的web應用程序,從用戶的角度來看,無論是正在工作或他們不是;他們看到的實際響應實際上可能是通用的(日誌會向技術人員顯示實際問題以及HTTP響應代碼仍然完好無損)。無論如何,接受你的答案是根據Tomcat可能發送的響應代碼的枚舉。 – 2009-10-06 08:02:44
在默認的tomcat安裝中,默認安裝了一堆webapps,例如, 'manager','host-manager','examples','tomcat'。看起來我需要爲這些webapps中的每一個配置這組完整的錯誤代碼,對吧? – 2011-09-07 05:16:37
哦 - 我剛剛發現了CATALINA_HOME/conf/web.xml文件。我已經把放在了那裏,但它仍然是一個問題,因爲我不知道如何讓tomcat找到引用的文件(或放置我的error.html文件的位置)。這意味着黑客會看到不同的結果,具體取決於他是否查詢'/tomcat'與'/foo',它至少會披露我正在使用tomcat。 –
2011-09-07 05:31:30