変更監視モジュールは、ディレクトリ、レジストリ値、レジストリキー、サービス、プロセス、インストールされたソフトウェア、ポート、グループ、ユーザ、ファイル、およびエージェント上のWQLクエリステートメントに対する予期しない変更をスキャンします。
変更監視を有効にして設定するには、変更監視のセットアップを参照してください。
待機ポートのセットを表します。
タグ属性
次の表は、変更監視ルールによって監視されるエンティティの属性ではなく、タグ自体のXML属性のリストと説明を示しています。
属性
|
説明
|
必須
|
初期設定値
|
設定できる値
|
onChange
|
リアルタイムで監視
|
No
|
false
|
true、false
|
エンティティセットの属性
次に示すエンティティの属性は、変更監視ルールによって監視可能な属性です。
- Created: XP SP2+およびServer 2003 SP1+が必要です。 Windows APIの
GetExtendedTcpTable ()
関数またはGetExtendedUdpTable ()
関数によって返されます。このTCPまたはUDPリンクを作成したバインド操作がいつ発生したかを示します。 Windowsでのみ使用できます。 - リスナー: このプロトコル上のアクティブなリスナーの数、IPアドレス、およびポート番号の組み合わせ。指定されたポートにバインドされているソケットと待機中のソケットの数が反映されます。この数は、プロセスがポートに複数のソケットをバインドしている場合、ポートを待機しているプロセスの数より大きくなることがあります。指定されたポートにバインドされているソケットが1つだけの場合、この属性の値はありません。
- Path: XP SP2+およびServer 2003 SP1+が必要です。ポートを所有するモジュールのフルパスがある場合は、そのフルパスが表示されます。 Windowsでは、これはWindows
APIの
GetOwnerModuleFromXxxEntry ()
関数から取得されます。 Microsoftのドキュメントによると、接続テーブルのエントリを所有者モジュールに解決することがベストプラクティスです。 Windowsでのみ使用できます。 - Process: XP SP2+およびServer 2003 SP1+が必要です。ポートを所有するモジュールの短縮名が表示されます。 Windowsでは、これはWindows APIの
GetOwnerModuleFromXxxEntry ()
関数から取得されます。Microsoftのドキュメントによると、接続テーブルのエントリを所有者モジュールに解決することがベストプラクティスです。場合によっては、プロセス名 (svchost.exe
など)、サービス名 (RPCなど)、またはコンポーネント名 (timer.dll
など) が所有者モジュール名として返されることがあります。Windowsでのみ使用できます。 - ProcessId: XP SP2+およびServer 2003 SP1+が必要です。このポートのバインドを発行したプロセスのPIDを示します。 Windowsでのみ使用できます。
- User: ポートを所有するユーザを示します。 Linuxでのみ使用できます。
キーの意味
このkeyは、次の形式をとります。
<PROTOCOL>/<IP ADDRESS>/<PORT>
例:
tcp/172.14.207.94/80 udp/172.14.207.94/68
IPV6
IPアドレスがIPv6である場合、keyも同じ形式になりますが、プロトコルはTCP6またはUDP6です。このIPアドレスは、
getnameinfo
コマンドによって返される、次のようなIPv6表記となります。tcp6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/80 udp6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/68
キーマッチング
これは階層キーではないため、
**
は適用されません。Unixスタイルのグロブマッチングは*
と?
を使用して可能です。次のパターンは、IPアドレス72.14.207.90から72.14.207.99のポート80に一致します:*/72.14.207.9?/80
次のパターンは、72.14.207.2、72.14.207.20~72.14.207.29および72.14.207.200~72.14.207.255のIPアドレスのポート80に一致します。
*/72.14.207.2*/80
次のパターンは、任意のIPアドレスのポート80に一致します。
*/80
次の例では、待機ポートにおける変更を監視しますが、IPv4およびIPv6のTCPのポート80は無視します。
<PortSet> <include key="*"/> <exclude key="tcp*/*/80"/> </PortSet>
サブエレメント
- 含める
- 除外
整合性監視ルールの言語 を参照して、[含める] と [除外] の概要、および許可される属性とサブ要素について確認してください。ここには、この
EntitySet
クラスに関連する包含および除外に固有の情報のみが含まれます。PortSetのincludeおよびexcludeに固有の属性
ポートのさまざまな属性は、インクルードおよびエクスクルード機能テストで使用される場合があります。これらのテストは、ポートの属性の値と値を比較します。さまざまな属性のプラットフォームサポートに注意してください。すべての属性がすべてのプラットフォームやプラットフォームのリビジョンで利用できるわけではないため、インクルードおよびエクスクルードタグでこれらのテストを使用することは限られた用途にとどまります。機能テストは、
*
および?
を使用したUnixグロブスタイルのワイルドカードをサポートしており、パスセパレータやその他の文字の正規化は行われません。これは、属性の値に対する単純な一致です。Path: ポートのパス属性に対するワイルドカード照合をチェックします。次の例では、メインのIISバイナリを実行するプロセスによって所有されているポートを監視します。
<PortSet> <include path="*\system32\inetsrv\inetinfo.exe"/> </PortSet>
Process: ポートのプロセス属性に対してワイルドカードが一致するかどうかを確認します。次の例では、
svchost.exe
または outlook.*
バイナリで実行されているすべてのポートが所有するポートを監視します。<PortSet> <include process="svchost.exe"/> <include process="outlook.\*"/> </PortSet>
ユーザ: ポートのユーザ属性に対するワイルドカード照合を確認します。次の例では、スーパーユーザ (root) によって所有されていたUNIXシステム上のポートを監視します。
<PortSet> <include user="root"/> </PortSet>