目次

ProcessSet

変更監視モジュールは、への予期しない変更をスキャンしますディレクトリレジストリ値レジストリキーサービス、プロセス、インストール済みのソフトウェアポートグループユーザファイル、 そしてそのWQLエージェントのクエリステートメント。変更監視を有効にして設定するには、「変更監視の設定」を参照してください。

プロセスのセットを表します。

タグ属性

次に示すXML属性はタグ自体の属性であり、変更監視ルールによって監視されるエンティティの属性ではありません。

属性 説明 必須 初期設定値 設定できる値
onChange リアルタイムで監視するかどうかを示します。 いいえ false true、false

エンティティセットの属性

次に示すエンティティの属性は、変更監視ルールによって監視可能な属性です。

  • CommandLine:「ps -f」 (UNIX)、「ps w」 (Linux)、またはProcess Explorer (Windows)で表示される完全なコマンドラインです。
  • グループ:プロセスが実行されているグループ。

    • UNIXでは、「有効な」プロセスグループIDです。プロセスグループIDは、共有リソースのアクセス権と、場合によってはファイルのアクセス権を決定します。グループIDは、プロセスの権限喪失や有効なグループの資格情報の変更などで変わる場合があります。たとえば、プログラムでは、ユーザが読み取り専用権限しか持たないディレクトリにインストールファイルをコピーするために、一時的にグループIDを変更し、そのディレクトリへの書き込み権限を取得することができます。
    • Windowsでは、「現在の」プロセスのプライマリグループであり、ログイン時に作成されるユーザ固有のアクセストークンによって確立されます。アクセストークンは、ユーザとユーザが実行するプロセスのアクセス権とリソース権限を設定します。

      Windowsのプロセスには、通常、プライマリグループ以外にも1つ以上のグループ資格情報が関連付けられています。これらの追加のグループ資格情報は、Agentでは監視されません。これらの情報は、Process Explorerにあるプロセスプロパティの「セキュリティ」タブで表示できます。

  • :このプロセスを作成したプロセスのPID。

  • パス:プロセスのバイナリへのフルパスです。Windowsでは、このパスは、GetModuleFileNameEx() APIから取得されます。LinuxおよびSolaris 10の場合は、symlink / proc /{pid}/ exeまたは/ proc /{pid}/ path / a.outをそれぞれ読むことになります。(Solaris 9およびAIXでは使用できません。)
  • プロセス:プロセスバイナリの短縮名(パスなし)。たとえば、「c:\windows\notepad.exe」の場合は「notepad.exe」であり、「/usr/local/bin/httpd」の場合は「httpd」です。
  • スレッド:プロセスで現在実行中のスレッドの数。
  • ユーザ:プロセスが実行されているユーザ。UNIXでは、プロセスの「有効な」ユーザIDです。このユーザIDは、時間とともにプロセスが権限を破棄するか、またはプロセスが有効なユーザ資格情報を切り替えた場合に、変更されることがあります。

簡略記法による属性

  • STANDARD: CommandLine、Group、Parent、Path(使用可能な場合は)、 プロセスユーザ

「key」の意味

keyは、実行可能ファイルの短い名前である「Process」属性と、PIDを組み合わせたものです。PIDは、名前とパスのセパレータの後に追加されます。たとえば、Windowsではnotepad.exe\1234、UNIXではhttpd/1234となります。パス区切り文字を使用すると、key = "abc//"のincludeまたはexcludeの一致が期待どおりに機能するようになります。

サブエレメント

  • Include
  • Exclude

これらのエレメントに指定できる属性とサブエレメントのincludeの概要は、「変更監視ルールの言語」を参照してください。ここでは、このエンティティセットクラスに関連するincludeおよびexcludeに固有の情報のみを記載します。

ProcessSetsのincludeおよびexcludeに固有の属性

次の例は、PIDに関係なく、notepad.exeで実行中のプロセスセットを監視します。

<ProcessSet>
<include key="notepad.exe\/" />
</ProcessSet>

これ以外にも、プロセスの各種の属性をincludeおよびexcludeでの監視機能で使用できます。この機能テストでは、 /* および ?, を使用したUNIX globスタイルのワイルドカードがサポートされています。また、パス区切り文字やその他の文字の正規化もありません。属性の値に対する単純なglobスタイルの一致です。

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>