Guardian@JUMPERZ.NET :ルール :

command

前へ 次へ

この項目にはルールが発動した場合にシステム上で発行するシステムコマンドを記述します。この機能はEメールでのリアルタイム通知やワームに対する自動応答などに使うことができます。

"none"を指定した場合にはシステムコマンドの発行は行いません。

この項目の値には

%id
%revision
%name
%addr
%port
%logId
%logDirName

という特別な変数を使用することができます。システムコマンドの実行時に、%idはルールのid項目の値に、%revisionはルールのrevision項目の値に、%nameはルールのname項目の値に、%addrはクライアントのIPアドレスに、%portはクライアントのポートに、%logIdはこのルールのログIDに、%logDirNameはcontrolで指定した sessionLogDirNameにそれぞれ変換されます。

これらの変数の簡単な使用例を示します。

#!/bin/sh

myAddr=anvil@jumperz.net
/usr/bin/hexdump $1/$2/$3_req | /bin/mail -s $4 $myAddr


上のようなシェルスクリプトを/usr/local/bin/notifyAlertという名前で用意しておき、ルールを次のように記述します。

<rule>
id=GID4
revision=1
name=NopSled(requestLine)
type=requestLine
pattern=\x90{4,}
condition=match
case_sensitive=no
log=yes
action=block
command=/usr/local/bin/notifyAlert %logDirName %addr %logId %name
</rule>


log項目の値がyesになっているので、このルールが発動した際にはHTTPリクエストが保存されます。その後command項目の値がシステムコマンドとして発行され、シェルスクリプトが呼び出されます。これによってHTTPリクエストのhexdumpをEメールで通知することができます。

ルール に戻る