私の主な助言は次のとおりです。しないでください。
特定のリソースで認証が必要な場合は、おそらく何かを隠す可能性があります。あなたが隠すべきものがあるときは、あなたが明らかにしているものに注意を払うべきです。また、ファイルを持っているリソースに対して何か別の応答を与えているときは、何かを明らかにしていません。
これは大きなセキュリティホールですか?私は言うことはできませんが、攻撃者に何かを明らかにするだけで十分でしょう。確かに攻撃面が拡大しているので、2つの選択肢があります。
- どのURIがファイルにマップされているか、どのファイルにマップされていないかの情報が攻撃者にとって有益ではないことを証明するための徹底的な分析を行います。
- は、認証されたユーザが404
後者は簡単かつ少ない誤差傾向がある与えるにもかかわらず、すべての要求に対して認証を要求します。
つまり、統合モードのASP.NETで認証を行う方法はいくつかあります。あなたはAuthorizeRequest
とAuthenticateRequest
のイベントを処理するモジュールでそれをやっていますか?そのようなケースが発生しているかどうか(URIが既存のファイルにマップされているかどうかを確認してください)をチェックし、そうであれば401を送信しないようにすることができます。
私はこれをもう一度やっています - これを読む前の私の反応は同じになるでしょう。 404を見ることで、私は潜在的な攻撃から何かを排除しました。すべてがこのセクションからのauthenitcationを必要とするなら、セクションは存在に基づく個々のファイルではなく、 'ドア'でなければなりません。 – Bertie
**セカンド:**本当にそうしないでください! – Ben