PortSet
変更監視モジュールは、ディレクトリ、レジストリ値、レジストリ キー、サービス、プロセス、インストールされているソフトウェア、ポート、グループ、ユーザー、ファイル]、エージェント上の WQL クエリ ステートメント。
変更監視を有効にして設定する方法については、変更監視の設定 を参照してください。
待機ポートのセットを表します。
タグ属性
次の表は、変更監視ルールによって監視されるエンティティの属性ではなく、タグ自体のXML属性のリストと説明を示しています。
属性 | 説明 | 必須 | 初期設定値 | 設定できる値 |
onChange | リアルタイムで監視 | いいえ | 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の場合、キーの形式は同じですが、プロトコルは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>
サブエレメント
- Include
- Exclude
[含める] と [除外] の概要、および許可される属性とサブ要素については、整合性監視ルールの言語 を参照してください。ここには、この EntitySet
クラスに関連する包含および除外に固有の情報のみが含まれます。
PortSetのincludeおよびexcludeに固有の属性
ポートのその他のさまざまな属性を、包含および除外機能のテストで使用できます。これらのテストでは、値をポートの属性の値と比較します。さまざまな属性に対するプラットフォームのサポートに注意してください。すべての属性がプラットフォーム間またはプラットフォームのリビジョン間で使用できるわけではないため、これらのテストを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>