ログ監視ツールswatchの紹介
●前回の補足
▼KDD Cupの正式名称(参考資料[1])
Knowledge Discovery and Data Mining Tools Competition
●swatchについて(参考資料[2],[3],[4])
swatch・・・simple watcherの略称。
リアルタイムでシステムログを監視し、指定した文字列にマッチするログを検知すると指定したアクションを実行する。
(例)
ログインの失敗はsyslog経由でログファイル(/var/log/secureなど)に記録されるが、このログの内容を「シグネチャ」としてマッチ条件にすることで、ログインの失敗を検知することができるというしくみ。
短時間に何度もログインの失敗が検知されるようであれば、何者かが不正にログインを試みようとしている可能性があると判断できる。
swatchには以下のような出力オプションを指定することができる。
アクション |
説明 |
echo [modes] |
ターミナルにメッセージを表示。modesにより表示形式を変更可能 |
bell [N] |
beep音をN回鳴らす。数字を指定しなければ1回 |
exec command |
指定したコマンドを実行する。コマンドの引数として「$0」を指定すると、表示されるログそのものを意味する。「$N」は、N番目のフィールドの文字列を意味する |
mail [=address:address:…][,subject=your_text_here] |
指定されたアドレスにメールを送信する。メールは複数指定できるほか、サブジェクトの指定が可能。アドレスを指定しなければswatchを起動したユーザーに送信される |
pipe command[,keep_open] |
パイプでコマンドに結果を渡す。keep_openを指定すると異なるパイプが実行されるか、swatchが終了するまでパイプが実行されたままになる |
write [user:user:…] |
swatchを実行しているサーバにログインしているユーザーに、writeコマンドを使用して結果を送信する |
throttle hours:minutes:seconds,[use=message|regex] |
一度検出されたパターンが再度検出された場合、検出を抑えることができる。標準では「use=messges」が指定されており、同じmessagesは検出されない。「use=regex」を指定すると、同じ正規表現の場合は検出されない |
continue |
通常は、マッチするパターンが検出されると指定されたアクションが実行されて終了するが、continueが指定されている場合はさらにマッチするパターンの検出が行われる |
quit |
マッチするパターンを検出するとswatchが終了する |
●参考資料
[1] Donald Bren School of Information and Computer Science, University of California,Irvine: KDD Cup 1999 Data. http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
[2] 大貫大輔, "Linuxで使える侵入検知システム(IDS)," http://www.atmarkit.co.jp/ait/articles/0202/19/news002.html, @IT, Feb.2002
[3] 浅野史彦,小川典嗣, "サーバのログ監視ツールを使いこなそう," http://www.atmarkit.co.jp/ait/articles/0211/12/news002_2.html, @IT, Nov.2002
[4] swatch. http://www.oit.ucsb.edu/~eta/swatch/