本記事は Technet Blog の更新停止に伴い、もとの 記事 からの複写となります。
元の記事の最新の更新情報については、本内容をご参照ください。
今回は IIS の観点より、アンチ ウイルス スキャン対象から除外すべきフォルダーについてご紹介します。
アンチ ウィルス ソフトのようなセキュリティ関連ソフトや、バックアップ ソフト等の予期しない動作によって、IIS が動作するために必要なモジュールやファイルの処理時に影響が発生し、後述の事例のような現象が発生する場合があります。
そのため、IIS に関する以下のフォルダーに対し、各種ソフトウェアの除外設定を実施いただく事を推奨しております。
■ IIS の観点でスキャン対象から除外を推奨するフォルダー
- IIS のインストール フォルダー
%SystemRoot%\System32\inetsrv およびその配下 - IIS のログ、圧縮、構成ファイル格納フォルダー
%SystemDrive%\inetpub およびその配下 - HTTPERR ログ フォルダー
%SystemRoot%\System32\LogFiles\HTTPERR およびその配下 - .NET Framework フォルダー
%SystemRoot%\Microsoft.NET\Framework<.NET Framework のバージョン> およびその配下
%SystemRoot%\Microsoft.NET\Framework64<.NET Framework のバージョン> およびその配下
※前者が 32bit アプリケーション用のフォルダー、後者が 64bit アプリケーション用のフォルダーです - アプリケーションが配置されているフォルダー
Web アプリケーション格納フォルダーおよび Web アプリケーションにて、ログの出力や一時的なファイルを保存するフォルダーなどが存在する場合は、あわせてウィルス スキャンの対象から除外することを推奨しています。
以下、各フォルダーについて記載します。
IIS のインストール フォルダー
IIS が動作するために必要なモジュールや、構成ファイルなどの情報が当該フォルダーに含まれています。
必要なモジュールや構成ファイルへのアクセスが阻害されるようなことがあった場合、IIS が正常に動作しない可能性があるため、除外をお勧めしています。
IIS のログ、圧縮、構成ファイル格納フォルダ
IIS が処理をする上で利用する一時的なファイルの保管場所として利用するフォルダーです。
当該フォルダーへのアクセスが阻害されるようなことがあった場合、同様に IIS が正常に動作しない可能性があるため、除外をお勧めしています。
HTTPERR ログ フォルダー
HTTP の要求を受け付ける、http.sys がエラーを出力するフォルダーです。
エラーの内容がトラブルシュート時に利用できることがあるため、アクセスが阻害されてエラーが記録されないことを避けるために、除外をお勧めしています。
ASP.NET コンパイル フォルダー (ASP.NET をご利用の場合)
ASP.NET がアプリケーションをコンパイルして生成されたアセンブリ (dll) を保持するためのフォルダーです。
該当のフォルダー内のファイルがウィルス スキャン等によって何らかの変更が加えられた場合、アプリケーションの再起動が発生するため、除外をお勧めしています。
アプリケーションが配置されているフォルダー
IIS で公開されるコンテンツへのアクセス時に阻害されるようなことがあった場合、コンテンツが正常に応答できず、クライアント側でエラーとなる可能性があるため、除外をお勧めしています。
■ セキュリティ関連ソフトの影響により発生する事例
1) アプリケーション ドメインの再起動
アプリケーション ドメインの再起動は、web.config などの構成ファイルの変更や、bin フォルダー配下のファイルの編集をトリガーとして行われます。
再起動されると次回アクセス時にアセンブリのロード等が再度行われるため、他のタイミングよりリクエストの処理に時間がかかることがあります。
ASP.NET にてヘルス モニタリングのイベントを有効にしている場合、以下のイベント ID : 1305 が記録されます。
へルス モニタリングを有効にする構成
1 | <healthMonitoring> |
イベント ログ
ログの名前: Application
ソース: ASP.NET 4.0.30319.0
日付: 2018/08/17 11:34:21
イベント ID: 1305
タスクのカテゴリ: Web Event
レベル: 情報
キーワード: クラシック
説明: Event code: 1002 Event message: アプリケーションをシャットダウンしています。
原因: 構成が変更されました。
しかしながら、セキュリティ関連ソフトの影響により、構成ファイルの変更が誤検知され、アプリケーション ドメインが意図せず再起動してしまう場合があります。
そのような場合、何もアプリケーションに変更を加えていないにも関わらず、たまにアクセスに時間がかかることがあるといった現象として見えることがあります。
2) 構成ファイル作成の際にアクセス拒否が発生
IIS や OS を再起動した後の初回アクセス等のタイミングで、普段は問題ないものの、たまに以下のイベント ID : 5189 が記録され、構成ファイルを作成しようとした際にアクセス拒否が発生する場合があります。
イベント ログ
ログの名前: System
ソース: Microsoft-Windows-WAS
日付: 2018/08/17 11:34:21
イベント ID: 5189
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: contoso.local
説明: Windows プロセス アクティブ化サービスが、アプリケーション プール ‘DefaultAppPool’ 用のアプリケーション プール構成ファイルを生成できませんでした。エラーの種類は ‘7’ です。この問題を解決するには、applicationhost.config ファイルが正しいことを確認し、最近行った構成の変更を再度確定してください。データ フィールドには、エラー番号が表示されています。
アプリケーション プール用の構成ファイル (既定では %SystemDrive%\inetpub\temp\appPools フォルダー) を作成しようとしたものの、アクセスが拒否されたために失敗したことで、該当のイベントが記録されます。
アクセス拒否は一般的に当該ファイルにアクセス権がない場合に発生し、アクセス権がない場合は常時エラーとなります。
しかしながら、本エラーが単発で記録される場合には一時的にアクセスが阻害された可能性があり、そのような場合にはセキュリティ関連ソフトの影響が考えられます。
3) アプリケーション プールのプロセスが突然終了
普段は問題なく動作しているものの、たまに以下のイベント ID : 5009 が記録され、プロセスが予期せず終了する場合があります。
イベント ログ
ログの名前: System
ソース: Microsoft-Windows-WAS
日付: 2018/08/17 11:34:21
イベント ID: 5009
タスクのカテゴリ: なし
レベル: 警告
キーワード: クラシック
ユーザー: N/A
コンピューター: contoso.local
説明: アプリケーション プール ‘DefaultAppPool’ を提供しているプロセスが突然終了しました。プロセス id は ‘1660’ でした。プロセス終了コードは ‘0xfffffffe’ でした。
イベントに記録されている終了コード 0xfffffffe は “CLEAN_WORKER_PROCESS_EXIT_CODE” を示し、異常終了を示すものではなく、正常にワーカー プロセスが終了された場合に記録されます。
Application Error イベント等も特に記録されていない場合、IIS にロードされているモジュールが何らかの要因により自発的に停止した、と考えられます。
このような場合、セキュリティ関連ソフトの動作によって IIS が動作するために必要なモジュールやファイルの処理に影響が発生し、プロセスの突然終了につながる可能性があります。
上記事例以外にも、セキュリティ関連ソフトの影響により、予期しない動作となる可能性がありますため、除外設定についてご検討いただけますと幸いです。
※ただし、アンチ ウィルス ソフトの種類によってはスキャンの除外対象のフォルダーやファイルに対してもアクセスが発生してしまう場合もあります。
アンインストールを行わなければそのアプリケーションの動作の影響を抑えることができなかったという事例もあります。
除外や停止のみでは改善されない場合は、アンインストールにより事象が改善されるかもご確認いただけますと幸いです。
■ 参考情報
ASP.NET アプリケーションでのウイルス対策スキャンから除外するフォルダー
https://support.microsoft.com/ja-jp/help/3126034/folders-to-exclude-from-antivirus-scanning-in-asp-net-apps
fltmc.exe の使い方
https://docs.microsoft.com/ja-jp/archive/blogs/jpwdkblog/fltmc-exe
※fltmc.exeを用いてセキュリティ関連ソフト等のフィルター ドライバーのインストール状況を確認できます。
それでは、また!
なお、本ブログは弊社の公式見解ではなく、予告なく変更される場合があります。
もし公式な見解が必要な場合は、弊社ドキュメント (https://docs.microsoft.com/ や https://support.microsoft.com) をご参照いただく、もしくは私共サポートまでお問い合わせください。