注意 |
プロセスのセットを表します。
タグ属性
次に示すXML属性はタグ自体の属性であり、変更監視ルールによって監視されるエンティティの属性ではありません。
属性
|
説明
|
必須
|
初期設定値
|
設定できる値
|
onChange
|
リアルタイムで監視するかどうかを示します。
|
いいえ
|
false
|
true、false
|
エンティティセットの属性
次に示すエンティティの属性は、変更監視ルールによって監視可能な属性です。
-
[CommandLine]: "ps -f" (Unix)、"ps w" (Linux)、またはProcess Explorer (Windows)で表示される完全なコマンドライン。
-
[グループ]: プロセスが実行されているグループ。
-
UNIXでは、これはプロセスの「有効な」グループIDであり、共有リソースへのアクセスや、場合によってはファイルへのアクセスを決定します。プロセスが権限を削除したり、有効なグループ認証情報を切り替えたりすると、グループIDが変更される可能性があります。たとえば、プログラムはグループIDを一時的に変更し、書き込み権限を取得して、ユーザが読み取り専用権限を持つディレクトリにインストールファイルをコピーすることができます。
-
Windowsでは、「現在の」プロセスのプライマリグループであり、ログイン時に作成されるユーザ固有のアクセストークンによって確立されます。アクセストークンは、ユーザとユーザが実行するプロセスのアクセス権とリソース権限を設定します。
注意
通常、Windowsプロセスには、プライマリグループに加えて、1つ以上の追加のグループ認証情報が関連付けられています。これらの追加のグループ認証情報は、Agentによって監視されません。プロセスエクスプローラ。
-
-
[親]: このプロセスを作成したプロセスのPID。
-
[パス]: プロセスのバイナリへのフルパス。 Windowsでは、これはGetModuleFileNameEx() APIから取得されます。 LinuxおよびSolaris 10では、シンボリックリンク/proc/{pid}/exeまたは/proc/{pid}/path/a.outをそれぞれ読み取ることで取得されます。 (Solaris 9およびAIXでは使用できません。)
-
[プロセス]: プロセスバイナリの短縮名 (パスなし)。たとえば、「c:\\windows otepad.exe」の場合は「notepad.exe」、「/usr/local/bin/httpd」の場合は「httpd」になります。
-
[スレッド]: プロセスで現在実行中のスレッドの数。
-
[ユーザ]: プロセスを実行しているユーザ。 UNIXでは、これはプロセスの「有効な」ユーザIDであり、プロセスが権限を削除したり、有効なユーザ認証情報を切り替えたりした場合に変化します。
簡略記法による属性
- [STANDARD:] CommandLine、Group、Parent、Path (使用可能な場合)、Process User
「key」の意味
キーは、"Process"属性 (実行可能ファイルの短縮名) とPIDの組み合わせです。 PIDは、パス区切り文字を間に挟んで名前に追加されます。 Windowsの場合はnotepad.exe\\1234、UNIXの場合はhttpd/1234です。パス区切り文字を使用すると、key="abc//"の包含一致または除外一致が想定どおりに機能します。
サブエレメント
- [含む]
- [除外]
参照変更監視ルールの言語許可された属性とサブ要素のincludeの概要については、を参照してください。ここには、このEntitySetクラスに関連するincludeとexcludeに固有の情報のみが含まれます。
ProcessSetの包含および除外の特殊属性
次の例は、PIDに関係なく、notepad.exeで実行中のプロセスセットを監視します。
<ProcessSet> <include key="notepad.exe\/" /> </ProcessSet>
プロセスのその他のさまざまな属性を、包含および除外機能テストで使用できます。機能テストでは、/*と?を使用したUnixのグロブスタイルのワイルドカードがサポートされます。パス区切り文字やその他の文字は正規化されません。これは、属性の値に対する単純なグロブスタイルの一致です。
[CommandLine]: プロセスのcommandLine属性に対してワイルドカードが一致するかどうかを確認します。次の例では、コマンドラインが「/httpd /」に一致するプロセスを監視します。
<ProcessSet> <include commandLine="/httpd /" /> </ProcessSet>
[グループ]: プロセスのグループ属性に対してワイルドカードが一致するかどうかを確認します。 Linuxでデーモングループをテストするには、「2」ではなく「daemon」を使用します。次の例では、root、daemon、またはlpのいずれかのグループとして実行されているプロセスを監視します。
<ProcessSet> <include group="root" /> <include group="daemon" /> <include group="lp" /> </ProcessSet>
[パス]: プロセスのパス属性に対してワイルドカードが一致するかどうかを確認します。一部のプラットフォームでは、path属性を使用できません。次の例では、System32にバイナリが存在するプロセスを監視します。
<ProcessSet> <include path="/\System32\/" /> </ProcessSet>
[ユーザ]: プロセスのユーザ属性に対してワイルドカードが一致するかどうかを確認します。 UNIXでスーパーユーザをテストするには、「0」ではなく「root」を使用します。次の例では、ビルトインシステムユーザのいずれかとして実行されているプロセス
(NT AUTHORITY\\SYSTEM、NT AUTHORITY\\LOCAL SERVICE、NT AUTHORITY\\NETWORK SERVICEなど)
を監視します。
<ProcessSet> <include user="NT AUTHORITY\/" /> </ProcessSet>