4. EventReporter の設定
4.5. フィルタ条件
4.5.1. フィルタとは
フィルタ条件はルールをいつ適用するかを指定します。フィルタ条件が真であると評価された場合、これらの条 件を含むルールが一致とみなされ、そのルールで指定されたアクションが実行されます。
フィルタ条件は必要に応じて複雑にすることができます。ブール演算と条件のネストがサポートされています。
デフォルトでは、フィルタ条件は空です。それぞれのツリーには、フィルタを簡単に追加できるようにするため、ト ップレベルに「AND」が1つだけ含まれています(トップレベルで使用されるノードは通常「AND」なので、デフォ ルトで設定されています)。この「AND」のみを含むフィルタ条件は常に真と評価されます。
EventReporter v16 マニュアル rev1.1 68 デフォルトのフィルタ条件(「AND」のみを含むフィルタ条件)の場合、検出したすべてのイベントに対してこのル ールに関連付けられたアクションが実行されます。これは、例えば、すべてのイベントログをデータベースやテ キストファイルに書き込みたい場合などに使用されます。
一方、特定の条件において(イベントログを絞り込んで)アクションを実行させたい場合には、フィルタ条件を指 定する必要があります。これは、複数階層のブール演算を含む複雑なフィルタ条件が必要になる場合もありま す。下図はこのような場合のサンプルです:
このフィルタ条件は、侵入検知ルールセットの一部です。ここでは、Windows ファイルシステム監査を使用して、
Internet Information Server (IIS)を介して潜在的に成功した侵入を検出します。これはすべての実行可能ファ
EventReporter v16 マニュアル rev1.1 69 イルで監査を有効にすることで実行されます。Internet Information Serverは、IUSR_<machinename>アカウ ント下でこれらのアカウントにアクセスします(この例の場合は、「P15111116¥IUSR_ROOTSERVER」です)。
このユーザーが予期しない実行ファイル(exeファイル)を実行した場合、誰かがIIS経由でコンピューターに侵 入した可能性があります。PerlとPHPスクリプトがPerl およびPHP エンジンを実行する必要があることに注 意してください。これは、perl.exeと php.exeが実行されているかどうかを確認することで反映されます。もしそ うであれば、アラートはトリガされません。
具体的には、上記のサンプルは以下のように動作します:
まず、メッセージにperl.exeまたはphp.exeへのフルパス名が含まれている場合、メッセージの内容がチェック されます。これは、下部の「OR」ブランチで行われます。フィルタ条件が「真(True)」と評価されたときにアクショ ンが実行されることにご注意ください。perl.exe と php.exe の場合、希望するものの逆です(この場合はアクシ ョンを実行したくありません)。アクションは他のファイルが実行されたときに実行する必要があります。このため、
「OR」の結果を否定(ブール演算「NOT」)します。「NOT」オペレーションの結果が「AND」を介して他の必要な プロパティと結合されます。
まず、特定のイベントが実際に発生したかどうかを確認します。このためには「イベントログの監視」のインフォ メーションユニットを処理する必要があります。次に、これらのインフォメーションユニットはイベントソース
(Security)とイベントID(ID=560)で識別されます。また、イベントユーザー
(P15111116¥IUSR_ROOTSERVER)も確認します。最後に、メッセージに「.exe」という文字列が含まれてい るかどうかを確認します。
さらに、上のサンプルでは、頻繁にアラートが発生しないように、「最少の待ち時間」を60秒に指定しています。
したがって、全ての条件が真であっても、フィルタの条件は 60 秒ごとに「真(True)」と評価し、アクションを実行 します。
注記:
フィルタ条件の文字列比較では大文字と小文字が区別されます。例えば、「ws01」という名前のソースシス テムに対してフィルタ条件に「WS01」と定義した場合、このフィルタ条件は決して「真(True)」であると評価 されません。
EventReporter v16 マニュアル rev1.1 70