web-dev-qa-db-ja.com

IIS7 / 7.5のWebサイトでASP.NETISAPIフィルターがデフォルトで有効になっているのはなぜですか?

編集:以下の私の質問のいくつかに対する回答の潜在的に重要な性質のために、私はこの強い警告を追加しています:Donot何をしているのか正確にわからない限り、ここで説明するフィルターを削除しないでください。アプリケーションのセキュリティが危険にさらされる可能性があります。


IIS7.5用に構成している新しいWin2008R2サーバーでは、ルート構成で、したがってすべてのサイトで、ASP.NETのISAPIフィルターがデフォルトで有効になっていることに気付きました。また、アクセスできる2008サーバーと2008R2サーバーを1つずつ確認しましたが、これらも同じです。ASP.NET ISAPI Filters

私の理解では、これらはクラシックモードでWebアプリを実行する場合にのみ必要です。私のアプリはすべて統合モードで実行されます。新しいサーバーに移動する1つのASP.NETサイトからすべてのASP.NET関連のフィルターを削除しましたが、アプリに問題が発生していないようです。

実際、v2アプリで32ビットv4エントリを削除する前に、didが問題を引き起こしていました。しかし、それらがまったく必要であるとは思わないので、私はそれらをすべて削除しました。

だから私の主な質問:クラシックモードのアプリをサポートするためにデフォルトでルート構成にある唯一の理由は、実行する必要がありますか?

二次的な質問:統合モードで動作しているすべてのサイトでそれらを削除するべきではありません。少なくとも何もしておらず、最悪の場合、既存のリソースを吸収している(またはさらに悪いことに、実際に要求を処理している)と仮定します。

おまけの質問:以前の2つのサーバー上のWebサイトコンテンツディレクトリのファイルパーミッションスキームをもう一度確認すると、上記を見つけただけで驚いたり、いくつかの変更に気付くと思いますか?


編集:ISAPIフィルターのaspnet_filter.dllエントリを削除するのは、実際にはおそらく危険であることに注意してください。以下のページURLのIsapiFilterModuleのエントリは、保護されたコンテンツのフィルタリングがこのフィルターを介して行われることを示しています。例えば; .config.csおよび.vbファイル。 http://learn.iis.net/page.aspx/121/iis-7-modules-overview/

7
Andrew Barber

私も当初はそう思っていましたが、実際には両方のモードでフィルターによって提供される機能がいくつかあります。たとえば、Cookieなしのセッションのサポートなどです。

ISAPIフィルターの動作をISAPI拡張機能の動作から分離します。拡張機能は統合モードで廃止されるものです。

4
TristanK