変更監視モジュールは、ディレクトリ、レジストリ値、レジストリキー、サービス、プロセス、インストールされたソフトウェア、ポート、グループ、ユーザ、ファイル、およびエージェント上のWQLクエリステートメントに対する予期しない変更をスキャンします。変更監視を有効にして構成するには、変更監視の設定を参照してください。
FileSetタグは、ファイルのセットを記述します。
タグ属性
次の表は、変更監視ルールによって監視されるエンティティの属性ではなく、タグ自体のXML属性のリストと説明を示しています。
属性
|
説明
|
必須
|
初期設定値
|
設定できる値
|
base
|
FileSetのベースディレクトリを設定します。タグ内の他のエレメントはすべて、このディレクトリから相対的に位置付けられます。
|
はい
|
なし
|
文字列値は構文的に有効なパスに解決されます (パスが存在する必要はありません)。UNCパスはWindowsエージェントによって許可されますが、リモートシステムがエージェントコンピュータのLocalSystemアカウントによるアクセスを許可する必要があります。エージェントはWindowsサービスであり、LocalSystemとして実行されます。これはNT
AUTHORITY\SYSTEMとしても知られています。ネットワークリソースにアクセスする際、LocalSystemはコンピュータの認証情報を使用します。これはDOMAIN\MACHINE$という名前のアカウントです。リモートコンピュータに提示されるアクセストークンには、コンピュータのAdministratorsグループも含まれているため、リモート共有はエージェントコンピュータのアカウント、エージェントコンピュータのAdministratorsグループ、またはEveryoneに読み取り権限を付与する必要があります。
ベース値が構文的に有効でない場合、FileSetは処理されません。残りの設定が評価されます。
|
onChange
|
返されたファイルをリアルタイムで監視するかどうかを定義します。
|
いいえ
|
false
|
true、false
|
followLinks
|
このFileSetがシンボリックリンクをたどるかどうかを定義します。
|
いいえ
|
false
|
true、false
|
エンティティセットの属性
次に示すFileSetの属性は、変更監視ルールによって監視可能な属性です。
Linux環境のCreated、LastModified、およびLastAccessedの場合、リアルタイム変更監視モジュールは、ファイルの内容が変更された検索を検出しますが、ファイルの変更、ファイルの読み取り、またはその他の変更は検出しません。ファイルが変更された時間などのメタデータのみがアップデートされます。
- [Created:] ファイルが作成されたタイムスタンプ。
- [LastModified:] ファイルが最後に変更された時刻。
- [LastAccessed:] ファイルが最後にアクセスされた時のタイムスタンプ。Windowsではこの値がすぐに更新されず、パフォーマンス向上のために最後にアクセスされたタイムスタンプの記録を無効にすることができます。詳細はファイル時間を参照してください。この属性のもう一つの問題は、ファイルをスキャンする行為がエージェントにファイルを開かせ、その結果最後にアクセスされたタイムスタンプが変更されることです。Unixでは、エージェントがファイルを開く際に
O_NOATIME
フラグを使用できる場合、OSが最後にアクセスされたタイムスタンプを更新するのを防ぎ、スキャンを高速化します。 - [Permissions:] ファイルのセキュリティ記述子 (SDDL形式) またはACLをサポートするUnixシステム上のPosixスタイルのACL、ACLをサポートしない場合は数値 (8進数) 形式のUnixスタイルのrwxrwxrwxファイル権限。
- [Owner:]ファイル所有者のユーザID (Unixでは一般的にUIDと呼ばれます)。
- [Group:]ファイル所有者のグループID (Unixでは一般的にGIDと呼ばれます)。
- [Size:]のファイルサイズ。
- [Sha1:] SHA-1ハッシュ。
- **Sha256:**SHA-256ハッシュ。
- [Md5:] MD5ハッシュ (非推奨)。
- [Flags:] Windows専用。GetFileAttributes () Win32 APIによって返されるフラグです。Windowsエクスプローラーでは、これをファイルの属性と呼びます: 読み取り専用、アーカイブ済み、圧縮済みなど。
- [SymLinkPath] (UnixおよびLinuxのみ): ファイルがシンボリックリンクの場合、リンクのパスがここに保存されます。Windows NTFSはUnixのようなシンボリックリンクをサポートしていますが、ディレクトリのみでファイルには対応していません。Windowsのショートカットオブジェクトは、OSによって処理されないため、真のシンボリックリンクではありません。Windows
Explorerはショートカットファイル (
\*.lnk
) を処理しますが、\*.lnk
ファイルを開く他のアプリケーションは、lnkファイルの内容を表示します。 - [InodeNumber](UnixおよびLinuxのみ): ファイルに関連付けられたinodeが格納されているディスクのinode番号。
- [DeviceNumber] (UnixおよびLinuxのみ): ファイルに関連付けられたinodeが保存されているディスクのデバイス番号。
- [BlocksAllocated] (LinuxとUnixのみ): ファイルを保存するために割り当てられたブロック数。
- [Growing:] (DSA 7.5+) は、スキャン間でファイルのサイズが同じか増加する場合に
true
の値を含みます。それ以外の場合はfalse
です。これは主にデータが追加されるログファイルに役立ちます。ログファイルがロールオーバーされると、この属性に変更が生じることに注意してください。 - [Shrinking:] (DSA 7.5+) は、スキャン間でファイルのサイズが同じか減少する場合に
true
の値を含み、それ以外の場合はfalse
を含みます。
簡略記法属性
短縮形の属性と、そのマップ先の属性を次に示します。
- [CONTENTS:]は、 で設定されたコンテンツハッシュアルゴリズムに解決されます。
- [STANDARD:] 作成日時、最終更新日時、アクセス許可、所有者、グループ、サイズ、内容、フラグ (Windowsのみ)、シンボリックリンクパス (Unixのみ)。
ディレクトリとしてマウントされたドライブ
ディレクトリとしてマウントされたドライブは他のディレクトリと同様に扱われます。ただし、ネットワークドライブである場合、そのドライブは無視されます。
代替データストリーム
NTFSベースのファイルシステムでは、代替データストリームの概念がサポートされます。この機能が使用される場合には、代替ストリームは概念上、ファイル内のファイルのように動作します。
この機能のデモを実行するには、コマンドプロンプトに以下のコマンドを入力します。
echo plain > sample.txt echo alternate > sample.txt:s more < sample.txt more < sample.txt:s
最初の
more
は、標準のテキストエディタ (例えば、メモ帳) でファイルを開いた場合に表示されるのと同じテキストplain
のみを表示します。2番目のmore
は、sample.txt
ファイルのs
ストリームにアクセスし、文字列alternate
を表示します。FileSetでは、ストリームが指定されていない場合、すべてのストリームが含まれます。各ストリームは、ベースラインの個別のエンティティエントリです。ストリームに対して指定できる属性は次のとおりです。
- size
- Sha1
- Sha256
- [Md5] (非推奨)
- Contents
次の例では、両方のストリームが含まれます。
<include key="**/sample.txt" />
特定のストリームを含めたり除外したりするには、
:
表記を使用します。次の例では、 sample.txt
の s
ストリームのみに一致し、メインの sample.txt
ストリームには一致しません。<include key="**/sample.txt:s" />
ストリーム表記ではパターンマッチングがサポートされています。次の例では、
sample.txt
が含まれますが、そのすべての代替ストリームは除外されます。<include key="**/sample.txt" />
<exclude key="**/sample.txt:\*" />
キーの意味
キーは、ベースで指定されたディレクトリに対するファイルのパスに照合するパターンです。このパターンは、
/
で区切られたパターンのセクションからなる階層型のパターンです。パターン内のセクションは、所定のOSのファイルのセパレータによって区切られたパスのセクションに対して照合されます。サブエレメント
- 含む
- Exclude
変更監視ルール言語の一般的な説明については、許可されている属性およびサブ要素のIncludeとExcludeを参照してください。ここでは、FileSet Entity Setクラスに関連するIncludeとExcludeに特有の情報のみが含まれています。
FileSetのincludeおよびexcludeに固有の属性
executable: ファイルが実行可能かどうかを判断します。これは、その権限が実行を許可することを意味するものではありません。代わりに、プラットフォームに適した方法でファイルの内容を確認し、ファイルが実行可能ファイルかどうかを判断します。
これは比較的高価な操作です。エージェントがファイルを開いて、その内容の最初の1キロバイトまたは2キロバイトを調べ、有効な実行可能イメージヘッダーを探す必要があるためです。すべてのファイルを開いて読み取ることは、単にディレクトリを検索し、ワイルドカードパターンに基づいてファイル名を一致させるよりもはるかに高価です。そのため、実行可能ファイルを使用するインクルードおよび除外ルールは、使用しないルールよりも検索時間が遅くなります。