ウイルス対策プログラムがセキュリティ記述子を変更することが原因で SYSVOL と DFS の FRS データが過度にレプリケートされる

文書翻訳 文書翻訳
文書番号: 284947 - 対象製品
この記事は、以前は次の ID で公開されていました: JP284947
すべて展開する | すべて折りたたむ

目次

概要

ファイル レプリケーション サービス (FRS) は、Microsoft Windows NT 3.x および Microsoft Windows NT 4.0 の Lmrepl サービスに代わる、マルチスレッド、マルチマスタのレプリケーション エンジンです。Microsoft Windows 2000 ベースのドメイン コントローラおよびサーバーでは、FRS を使用して、Windows 2000 ベースのクライアントおよび Windows 2000 以前のクライアントのシステム ボリューム (SYSVOL) に存在するシステム ポリシーとログオン スクリプトをレプリケート (Windows 2000 では、複製。以下、レプリケート) します。

また FRS は、同じフォールト トレラント分散ファイル システム (DFS) のルート レプリカ (Windows 2000 では、複製物。以下、レプリカ) またはリンク レプリカのメンバである Windows 2000 ベースのサーバー間のファイルとディレクトリもレプリケートできます。

FRS は、ディレクトリ ツリーでレプリケーションが有効になっており、"閉じている" ファイルについてレプリケートを開始します。レプリケート開始のトリガとなるイベントには、ファイルの作成または削除、既存のファイルのバージョン変更、ファイルまたはディレクトリのアクセス許可のリセットなどがあります。この資料では、FRS によってレプリケートされたファイルをホストしているディレクトリに対して、FRS に準拠していない一部のウイルス対策プログラムを使用して、ウイルス スキャンを実行した場合に発生する以下のような現象について説明します。
  • レプリカ セットに含まれるファイルが明示的に変更されていないにもかかわらず、SYSVOL および DFS 共有のファイルが過度にレプリケートされます。
  • ウイルス スキャンが、特定の時刻、またはサーバーの使用率が低い時間帯に実行されるようにスケジュールされている場合、オフピーク時または定期的にファイルがレプリケートされることがあります。
  • ステージング ディレクトリ内のファイル数が常に増加し続けますが、ウイルス スキャン プログラムの終了後、または FRS のスケジュールが起動してレプリケーションを許可した後に、ディレクトリが空になることがあります。
  • ネットワーク接続またはレプリケーションが、必要な変更されたファイル数に対する処理能力の不足によって、ダウンストリーム パートナーに対する変更をレプリケートできなかった場合、ステージング ディレクトリ内のファイル数は常に増加し続け、ディレクトリが空になることはありません。
  • レプリケーション パートナーとの間のネットワーク トラフィックが過度のネットワーク帯域幅を消費しており、FRS がその原因となるサービスであると判断されます。
ウイルスのスキャン中にセキュリティ記述子をリセットすることが確認されているプログラムは、Norton AntiVirus (NAV) Versions 7.0 および 7.5 です。ウイルスのスキャン中にセキュリティ記述子を変更するこれ以外のウイルス チェック プログラムでも、同じ現象が発生します。

詳細

FRS (ファイル レプリケーション サービス) は、NTFS ファイル システムの USN ジャーナルを監視して、FRS によってレプリケートされた Sysvol および DFS ツリーで発生するファイルやディレクトリへの変更を監視します。ウイルス対策ユーティリティの中には、ウイルスのスキャン中にセキュリティ記述子を変更するものがあります。セキュリティ記述子は、NTFS でフォーマットされたドライブのファイル システムの属性の 1 つで、ファイルとディレクトリに対してどのユーザーやグループがどのような種類のアクセスを保持しているのかを定義します。

FRS は、ファイルやディレクトリに対する変更を NTFS USN ジャーナルに適切に記録し、直接、または間接のすべてのダウンストリーム パートナーにレプリケートするために、変更内容をステージング ディレクトリに待機させます。ダウンストリーム パートナーとは、変更されたファイルの変更内容を送信するコンピュータからの着信接続オブジェクトを保持する DFS または SYSVOL レプリカ セット内にあるコンピュータのことです。

FRS によってレプリケートされた大きなディレクトリに対してウイルス スキャンを実行すると、スキャンが実行されるたびに、数 100 MB から数 GB に及ぶファイルのレプリケートが行われる場合があります。レプリケートが必要とされる変更されたファイルの数と比率は、特にウイルス スキャンが SYSVOL または DFS レプリカ セットの複数のメンバに対して実施された場合、容認できないほど大きくなることがあります。

Symantec では、NAV がセキュリティ記述子を変更することについて、次のように説明しています。
スキャン中、NAV はファイルを元の状態に復元できるように、スキャンの実行前にさまざまな属性 (ファイル属性、GetFileSecurity セキュリティ記述子、最終アクセスのタイム スタンプなど) を保存します。セキュリティ記述子 (SetFileSecurity) を含むいくつかの属性は復元されます。

FRS のレプリケーションでは、Windows API である SetFileSecurity を呼び出してセキュリティ記述子が復元されると、レプリケーションがトリガされます。エクスプローラの [セキュリティ] タブでユーザーに対してファイルのアクセス許可を与え、その直後にこのアクセス許可を削除しても、同様の現象が発生します。

この問題はすべてのファイルで発生するものではありません。問題が発生するのは、.exe、.doc、.ppt、.xls、.zip、.arc、および .cab の各拡張子を持つコンテナ ファイルのみです。

FRS でレプリケートされたファイルに関する USN の変更理由の表示

FRS デバッグ ログ ファイルおよび FRS データベースの出力方向のログ ファイルには、ファイルやディレクトリのレプリケーションを開始する原因となった変更の種類が記録されています。以下の方法を使用すると、使用している環境でウイルス スキャン プログラムによって過度の FRS レプリケーション トラフィックが発生しているかどうかを判断できます。

: この資料の例では、変更理由を示すデバッグ ログを検索する方法を説明しています。
  1. FRS ログの詳細レベルと持続時間を増やします。この操作を行うには、レジストリ エディタを起動して、次のレジストリ キーを参照します。
    HLKM\SYSTEM\CCS\Services\NTFRS\Parameters
    このレジストリ キーで次の値を設定します。
    • "Debug Maximum Log Messages (REG_DWORD)" に 10 進数で 20000 を設定します (レジストリ エントリでは数値にコンマを使用しません)。
    • "Debug Log Files (REG_DWORD)" に 10 進数で 20 〜 50 の間にある値を設定します。

      Windows 2000 ビルド 2195 および Service Pack 1 (SP1) でリリースされた FRS のログの詳細レベルは、デフォルトで 4 に設定されています。SP2 および SP2 修正プログラム バージョンの FRS ではレベル 2 に設定されています。FRS デバッグ ログで "ContentCmd" 文字列を参照するには、"Debug Log Severity (REG_DWORD)" の値を "4" に設定します。
  2. サービスを再開し、十分長い時間サービスを実行します。ログの詳細レベルを高く設定していない場合は、デバッグ ログで "UsnReason" 文字列にフィルタを設定することで、行われた変更の種類を検索できることがあります。
  3. コマンド プロンプトで次のコマンドを入力します。
    cd /d %systemroot%\debug"
    ヒント : コマンド プロンプトのプロパティの [レイアウト] タブを使用して、ウィンドウのサイズ、幅、高さを findstr の出力に合わせます。画面の解像度が 1024 X 768 の場合、幅を約 110 文字、高さを 45 文字以上に設定します。
  4. findstr コマンドを次のように使用して、デバッグ ログ ファイル内にある文字列 "ContentCmd" のすべてのインスタンスを検索します。
    c:\>findstr /i "ContentCmd" %systemroot%\debug\ntfrs_00??.log
    NTFS でフォーマットされたパーティションで行われた変更の種類は、デバッグ ログ中で文字列 "ContentCmd" によって示されます。ウイルス対策プログラムによって変更されたファイルでは変更理由として "Security" が示されます。同様に、手動またはグループ ポリシーによって適用されたセキュリティ テンプレート、および管理者によってエクスプローラから設定されたアクセス許可でも変更理由として "Security" が示されます。

    次のサンプルは、FRS デバッグ ログを findstr コマンドでフィルタした出力を示します。
       <ChgOrdRetryWorker: ... S4:  hh:mm:ss>  ContentCmd:  80008800  Flags  [Close Info Security ]
       <ChgOrdDispatch:    ... S4:  hh:mm:ss>  ContentCmd:  80008800  Flags  [Close Info Security ]
       <ChgOrdAccept:      ... S4:  hh:mm:ss>  ContentCmd:  80008800  Flags  [Close Info Security ]
       <ChgOrdRetryWorker: ... S4:  hh:mm:ss>  ContentCmd:  80008800  Flags  [Close Info Security ]
       <ChgOrdRetryWorker: ... S4:  hh:mm:ss>  ContentCmd:  80008800  Flags  [Close Info Security ]
       <ChgOrdAccept:      ... S4:  00:24:37>  ContentCmd:  00008800  Flags  [Info Security ]
       <ChgOrdAccept:      ... S4:  00:24:37>  ContentCmd:  00008800  Flags  [Info Security ]
       <DbsWriteTableRecord:   S1:  00:24:37>  ContentCmd:  00008800  Flags  [Info Security ]
       <ChgOrdAccept:      ... S4:  00:24:37>  ContentCmd:  00008800  Flags  [Info Security ]
    					
  5. 過度のレプリケーションが疑われる場合は、この資料の「過度のレプリケーションからの回復」に進んでください。

FRS のデバッグ ログおよび出力方向ログでの FRS の変更理由

NTFRS デバッグ ログに設定されているフラグは、FRS によってレプリケートされたファイルに対する変更の理由を示します。FRS レプリケーションは、NTFS 5.0 フォーマットのパーティションの FRS でレプリケートされたディレクトリにあるファイルが閉じている場合に実行されます。FRS によってレプリケートされたディレクトリでの変更の理由を次の表に示します。
   Close		- 変更ログの記録を終了しました。
   Create	- ファイルまたはディレクトリが作成されました。
   Delete	- ファイルまたはディレクトリが削除されました。
   RenNew	- ファイルまたはディレクトリの名前が変更されました。
   DatOvrWrt	- メイン ファイル データ ストリームが上書きされました。
   DatExt	- メイン ファイル データ ストリームが拡張されました。
   DatTrunc	- メイン ファイル データ ストリームが切り捨てられました。
   Info		- 基本情報 (属性、最終更新日時など) が変更されました。
   Oid		- オブジェクト ID が変更されました。
   StreamNam	- 代替データ ストリーム名が変更されました。
   StrmOvrWrt	- 代替データ ストリームが上書きされました。
   StrmExt	- 代替データ ストリームが拡張されました。
   StrmTrunc	- 代替データ ストリームが切り捨てられました。
   EAChg		- 拡張ファイル属性が変更されました。
   Security	- ファイルのアクセス許可が変更されました。
   IndexableChg	- ファイルの変更により再度インデックスを作成する必要があります。
   HLink		- ハードリンクが変更されました。
   CompressChg	- ファイル圧縮属性が変更されました。
   EncryptChg	- ファイルの暗号化が変更されました。
   Reparse	- 再解析ポイントが変更されました。
				

ウイルス対策ユーティリティによる過度のレプリケーションの回避

FRS によって監視されているディレクトリで、ウイルス対策プログラムによる過度のレプリケーションの発生を回避するには、次の手順を実行します。
  1. FRS によってレプリケートされたディレクトリを、過度のレプリケーションの原因となるウイルス対策プログラムのスキャン対象から除外します。
  2. ファイルのセキュリティ記述子の変更を行わない、NAV の更新バージョンを入手します。
  3. 次の「サポート技術情報」 (Microsoft Knowledge Base) の定義に従って、ウイルス対策プログラムのスキャン対象となるフォルダと除外するフォルダの一覧を構成します。
    822158 Windows 2000 または Windows Server 2003 のドメイン コントローラでウイルス スキャンを行う場合の推奨事項

過度のレプリケーションからの回復

ウイルス対策プログラムによって、セキュリティ記述子がリセットされるために発生する過度のレプリケーションが検出された場合は、次の事項を検討します。
  1. バックログが増加するのを防ぐために、過度の変更を生成している FRS レプリカ セットで、メンバについて FRS サービスを停止します。
  2. FRS によってレプリケートされたディレクトリ内のファイルとディレクトリを変更しているすべてのプログラム、サービス、または管理プロセスを停止します。レプリケーションを発生させる可能性のある要因には、以下のものがあります。
    1. Windows 2000 ドメイン コントローラ上にインストールされた Microsoft Systems Management Server クライアント
    2. 手動またはグループ ポリシーによって、Windows 2000 ドメイン コントローラ、または DFS によってレプリケートされたディレクトリをホストしている組織単位、または親コンテナに適用されたファイル システム ポリシーを含むセキュリティ テンプレート
    3. FRS によってレプリケートされたコンテンツをスキャンする Diskeeper
    4. FRS によってレプリケートされたコンテンツをスキャンするウイルス対策プログラム
    5. FRS によってレプリケートされたディレクトリにファイルを作成するウイルス プログラム
  3. 変更に関する大きなバックログを保持しているサーバーを識別します。

    CONNSTAT PERL スクリプトで解析された、ntfrsutl sets コマンド ライン ユーティリティの出力を使用して、変更命令についての大きなバックログを保持しているダウンストリーム パートナーを参照します。
  4. ダウンストリーム パートナーへの接続を削除、または無効にします。

    FRS サービスはステージング ファイルを構築し、ダウンストリーム パートナーに送信する必要があるすべての変更されたファイルについて、サービスの出力方向ログに変更命令を格納します。指定した変更をすべてのダウンストリーム パートナーが受信するまで、アップストリーム パートナーはステージング ファイルと出力方向ログの変更命令を保持します。

    ダウンストリーム パートナーへの接続オブジェクトが削除されるか、ダウンストリーム パートナーへの接続が無効になった場合、FRS サービスはステージング ディレクトリ内のファイルおよび出力方向ログを削除します。Active Directory、SYSVOL、および DFS 接続オブジェクトの属性である "enabledConnection" は、LDP または ADSIEDIT を使用して =true または =false に設定できます。

    Active Directory の接続オブジェクトおよび SYSVOL の接続オブジェクトは簡単に識別でき、Active Directory サイトとサービス スナップインで簡単に再作成できるため、これらの接続オブジェクトは簡単に削除できます。
  5. 接続オブジェクトの作成時期、および有効にする時期をずらします。

プロパティ

文書番号: 284947 - 最終更新日: 2007年10月26日 - リビジョン: 6.2
この資料は以下の製品について記述したものです。
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
キーワード:?
kbinfo kb3rdparty kbproductlink KB284947
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com