私が目にするほとんどのセキュリティアドバイスは、TRACE
、OPTIONS
、HEAD
などのHTTPメソッドをオフにすることをお勧めします。そのため、Webサーバーでこれらのオプションのほとんどをオフにして、返されるGET
およびPOST
オプション。問題は、私のアプリケーションの一部がHEAD
を使用していて、一部のユーザーがアプリケーションで何かをしているときにエラーが発生していることです。ログを確認すると、いくつかのHEADリクエストがユーザーエンドから送信されていることがわかりました。サーバーがHEAD
への応答を停止したため、接続が切断されたためと思われます。私の質問は、 HEAD正当な用途があることを読んだので、本当に安全ではありませんか?または、アプリケーション開発者/プロジェクトマネージャーにコードを変更するように伝えるべきですか?感謝します。
HEAD自体は危険ではなく、正当な用途があります。問題はJava EEにあります。これにはweb.xmlファイルを使用してセキュリティ制約を設定する方法がありますが、それらはGETとPOSTにのみ適用され、HEADには適用されません。これは、 HEADを使用して認証をバイパスできる可能性があります SANS Instituteによる侵入テストに関するこの文書 に、この問題およびその他の問題に関する詳細情報があります。
この特定の問題がアプリケーションに適用できるかどうかは、使用しているアプリケーションサーバーやその他のセキュリティ対策に明らかに依存します。