無効なリクエストごとに 404 エラーをスローすることには問題がある可能性があります。攻撃者は、ターゲットにしているサービスを知っている場合、特にこの動作を疑い始める可能性があります。
これはサービスの保護に役立ちますか?これは、攻撃者の忍耐力にかかっています。
編集 :
サーバーが行うように 404 応答ヘッダーを適切に作成しないと、攻撃者は違いを検出できます
Java サーバー ケース (Tomcat8) の PoC は次のとおりです。
これは、見つからないリソースに対してサーバー自体によって返される「真実の」404 ステータスです:
Content-Language:en
Content-Length:1026
Content-Type:text/html;charset=utf-8
Date:Tue, 31 Jan 2017 09:15:54 GMT
Server:Apache-Coyote/1.1
これはサーブレットによって返されます:
Content-Language:en
Content-Length:992
Content-Type:text/html;charset=utf-8
Date:Tue, 31 Jan 2017 09:18:04 GMT
Server:Apache-Coyote/1.1
パラメータの値が "Content-length" であることに気付きました どちらの場合も、これは攻撃者の注意を引く可能性があります。
実際のエラー コードを非表示にすると、難読化の匂いがするので注意してください。セキュリティの観点からは特に悪い点はありませんが、セキュリティが向上することはほとんどありません。攻撃者が盲目的にエラー コードを受け入れると本当に思いますか?それらは自由に変更できることを知っています。わかりました。スクリプト キディに対しては有用ですが、深刻な攻撃に直面することはありません。そのため、そうする前に、脅威モデルが何であるかをよく考える必要があります。
そして、ここに欠点があるかもしれません。内部エラーをログに記録する特別なログ システムを構築しない限り、404 エラーのみを含むログで終了します。つまり、あなた サイトへの攻撃やセキュリティ上の欠陥の可能性を発見するためのログ分析の可能性を失いました。 IMHO エラー コードは、攻撃者にとってはアプリケーションのメンテナーにとってより有用です...