変更監視モジュールは、ディレクトリ、レジストリ値、レジストリキー、サービス、プロセス、インストールされたソフトウェア、ポート、グループ、ユーザ、ファイル、およびエージェント上のWQLクエリステートメントに対する予期しない変更をスキャンします。
変更監視を有効にして設定するには、変更監視のセットアップを参照してください。
待機ポートのセットを表します。
タグ属性
次の表は、変更監視ルールによって監視されるエンティティの属性ではなく、タグ自体のXML属性のリストと説明を示しています。
属性
|
説明
|
必須
|
初期設定値
|
設定できる値
|
onChange
|
リアルタイムで監視
|
いいえ
|
false
|
true、false
|
エンティティセットの属性
次に示すエンティティの属性は、変更監視ルールによって監視可能な属性です。
- Created: XP SP2+およびサーバ2003 SP1+が必要です。Windows APIの
GetExtendedTcpTable ()
またはGetExtendedUdpTable ()
関数によって返されます。このTCPまたはUDPリンクを作成したバインド操作が発生した時を示します。Windowsでのみ利用可能です。 - [Listeners:] このプロトコル、IPアドレス、およびポート番号の組み合わせにおけるアクティブなリスナーの数。これは、指定されたポートにバインドされてリッスンしているソケットの数を反映しており、プロセスが複数のソケットをポートにバインドする場合、ポートでリッスンしているプロセスの数よりも多くなることがあります。この属性は、指定されたポートに1つのソケットしかバインドされていない場合、値を持ちません。
- Path: XP SP2+ およびサーバ2003 SP1+ が必要です。ポートを所有するモジュールのフルパスを提供します (利用可能な場合)。Windowsでは、これはWindows
APIの
GetOwnerModuleFromXxxEntry()
関数から取得されます。Microsoftのドキュメントによると、接続テーブルエントリを所有モジュールに解決することはベストプラクティスです。Windowsでのみ利用可能です。 - Process: XP SP2+およびサーバ2003 SP1+が必要です。ポートを所有するモジュールの短縮名を提供します (利用可能な場合)。Windowsでは、これはWindows
APIの
GetOwnerModuleFromXxxEntry()
関数から取得されます。Microsoftのドキュメントによると、接続テーブルエントリを所有モジュールに解決することはベストプラクティスです。いくつかのケースでは、返される所有モジュール名がsvchost.exe
のようなプロセス名、RPCのようなサービス名、またはtimer.dll
のようなコンポーネント名であることがあります。Windowsでのみ利用可能です。 - [ProcessId:] XP SP2+とサーバ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>
サブエレメント
- 含む
- Exclude
整合性監視ルールの言語 を参照して、[含める] と [除外] の概要、および許可される属性とサブ要素について確認してください。ここには、この
EntitySet
クラスに関連する包含および除外に固有の情報のみが含まれます。PortSetのincludeおよびexcludeに固有の属性
ポートのさまざまな属性は、インクルードおよびエクスクルード機能テストで使用される場合があります。これらのテストは、ポートの属性の値と値を比較します。さまざまな属性のプラットフォームサポートに注意してください。すべての属性がすべてのプラットフォームやプラットフォームのリビジョンで利用できるわけではないため、インクルードおよびエクスクルードタグでこれらのテストを使用することは限られた用途にとどまります。機能テストは、
*
および?
を使用したUnixグロブスタイルのワイルドカードをサポートしており、パスセパレータやその他の文字の正規化は行われません。これは、属性の値に対する単純な一致です。Path: ポートのパス属性に対してワイルドカード一致をチェックします。次の例では、メインIISバイナリを実行しているプロセスが所有するポートをモニタします。
<PortSet> <include path="*\system32\inetsrv\inetinfo.exe"/> </PortSet>
プロセス: ポートのプロセス属性に対してワイルドカード一致をチェックします。次の例では、
svchost.exe
またはoutlook.*
バイナリで実行されているものが所有するポートをモニタします。<PortSet> <include process="svchost.exe"/> <include process="outlook.\*"/> </PortSet>
User: ポートのユーザ属性に対してワイルドカード一致をチェックします。次の例では、スーパーユーザ (root) によって所有されているUnixシステム上のポートをモニタします。
<PortSet> <include user="root"/> </PortSet>