デフォルトでは、Tomcatのエラーページには、Tomcatの存在と要求を処理するコンテナの正確なバージョンの両方が示されます。これは開発にとってはいいですが、プロダクションのコンテキストでは、この情報は潜在的なセキュリティホールであり、無効にするとよいでしょう。Tomcatエラーページの情報開示を減らす
このように、Tomcatのデフォルトのエラーページを完全に抑制するためには、(最も単純で包括的なように)ベストなソリューションが何であるか知りたいと思います。私は<error-page>
オプションをweb.xmlで認識していますが、同じ代替エラーページを何度も(処理したいそれぞれの応答コードごとに)リストしなければならないことと、これはおそらく100%堅牢ではないとして私を襲う;攻撃者が明示的にリストされていないエラーコードを返すと、デフォルトのエラーページが表示されます。
ユニバーサルカスタムエラーページを設定する単純なオプション、またはデフォルトのエラーページにエラーコードと共にHTMLを送信しないようにフラットアウトするのが理想的です。これらのオプションのどちらも可能でない場合、私はこの機能を実装する典型的な方法が何であるかを知ることに興味があります(私の要件はかなり標準的に見えるので、これらの仮定オプションが存在しない理由Tomcatをプロダクションで使っている人のために...)。
しかし私はしたいと思うこと - それは自己完結型のWebアプリケーションなので、ユーザーの視点からは、どちらかのものが動作しているか、そうでないものです。実際のレスポンスは実際には一般的です(ログには技術スタッフに実際の問題とHTTPレスポンスコードがそのまま表示されます)。とにかく、Tomcatが送るかもしれない応答コードの列挙に基づいてあなたの答えを受け入れる。 –
デフォルトのTomcatインストールには、デフォルトでインストールされた一連のwebappsがあります。 'manager'、 'host-manager'、 'examples'、 'tomcat'などがあります。これらのWebアプリケーションのそれぞれで、この一連のエラーコードを設定する必要があるようですね。 –
ああ - ちょうどCATALINA_HOME/conf/web.xmlファイルが見つかりました。私はをそこに置いていますが、tomcatが参照されているファイルを見つける方法(または、error.htmlファイルをどこに置くか)を理解することができないので、まだ問題はあります。これは、ハッカーが「/tomcat」対「/foo」のどちらを照会するかによって、ハッカーが異なる結果を見ることを意味します。 –