.
セキュリティ / SSL => ログ自動監視ツール Swatch > 2.ログ自動監視ツールSwatchの設定
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

ログ自動監視ツールSwatchの設定

Swatch の設定ファイルは実行させるユーザーのホームディレクトリに設置します。ここではユーザーswatch を新規に作成し、Swatch を実行する例で説明します。

/home/swatch/.swatchrc

ユーザーの作成とログファイルの読み込み権限

ユーザーtaro で Swatch を走らせる場合は、監視するログファイルに対して、ユーザーtaro に読み込み権限が必要になります。rootユーザーで実行すればその必要はありませんが、セキュリティ上問題なので、taroにログファイルの読込み許可を与えます。

新規に secureグループを作成し、secureグループに所属するユーザーswatchを作成します。rootユーザーで行います。

# groupadd secure
# useradd -G secure swatch

システムログ messages にsecureグループに対して読み込み許可を与えます。

# chown root.secure /var/log/messages
# chmod 640 /var/log/messages

複数のログを監視する必要がある場合は、同じようにsecure グループに読み込み許可を与えておきます。

設定ファイルの作成

ホームディレクトリに設定ファイルを作成します。

[swatch@mypc ~]$ touch .swatchrc

適当なエディタで開き設定を行います。

定義(設定)ファイルの作成

起動オプションなしでswatchを起動した場合のデフォルトの監視ログは、/var/log/message となります。また、デフォルトで参照する定義ファイルは "~/.swatchrc" となります。先に作成した .swatchrc を編集します。

設定例

/home/swatch/.swatchrc

watchfor = /checksum/,/sendmail/,/biff/,/afpd/
ignore

watchfor = /(panic|halt)/
mail=root@my_domain.homeip.net
bell=4

watchfor = /INVALID|REPEATED|INCOMPLETE/i
mail=root@my_domain.homeip.net

watchfor = /err/i
mail=root@my_domain.homeip.net

watchfor = /warning/i
mail=root@my_domain.homeip.net

watchfor = /denied/i
mail=root@my_domain.homeip.net

watchfor = /fail/i
mail=root@my_domain.homeip.net

watchfor = /Warn/i
mail=root@my_domain.homeip.net

watchfor = /refuse/i
mail=root@my_domain.homeip.net

watchfor = /LOGIN/i
mail=root@my_domain.homeip.net

watchfor = /passwd/i
mail=root@my_domain.homeip.net

watchfor = /telnetd/i
mail=root@my_domain.homeip.net

watchfor = /-root/i
mail=root@my_domain.homeip.net

書式

判定する文字列を改行し、アクションの前にtabを挿入します。

watchfor = /判定する文字列/i
  アクション

バージョン2系統と3系統では定義書式が異なるので注意して下さい。ここでは3系統について説明しています。

判定する文字列

//で判定する行を指定します。i は大文字小文字の区別をしません。

  • 複数の行をまとめて指定したい場合
    • watchfor = /判定する文字列/i,/判定する文字列/,/判定する文字列/
  • aaa bbb ccc のいずれかの文字列があればアクションを起こす
    • watchfor = /キーワード .* (aaa|bbb|ccc)/i
      • ()で閉じればいずれかを含む行にアクションを起こします。
  • 複数の文字を同時に含む行の場合
    • watchfor = /キーワード .* keyword .* きーわーど/i
  • いずれかの語を含む行を指定したい場合
    • watchfor = /キーワード|keyword/i
      • この場合は行にいずれかの語を含む場合にアクションを指定できます。

アクション

Swatchで指定可能な良く使用するアクションです。


echo=mode

文字列が一致した時に起こすアクションを指定します。一致した場合に書き出すテキストのモードを指定します。tail コマンド等で表示されるテキストモードです。モードには次の5つがあります。

normal 一致した文字を普通の文字
bold 一致した文字をボールドで表示
underscore 一致した文字を下引き線で表示
blink 一致した文字を点滅させる
inverse 一致した文字を反転表示

bell=N

文字列が一致した場合、ビープ音をならします。N は回数を指定します。
bellとのみ表記したときは1回になります。

例 bell=3


ignore

文字列が一致したとき何もしません。 例えば上記の設定例では最初にこのように設定しています。

/home/swatch/.swatchrc

watchfor = /checksum/,/sendmail/,/biff/,/afpd/
ignore

watchfor = /refuse/i
mail=root@my_domain.homeip.net

移行省略

1行目の指定で /checksum/,/sendmail/,/biff/,/afpd/ に対し ignore が指定されているので、igonore 以降の watchfor に afpdrefuse を同時に含む文字列を検知した場合、それらを無視します。 つまりアクションを起こしません。

例外を設ける上で重要な役割があります。


exec=コマンド

文字列が一致したときに実行するコマンドを指定します。直接コマンドを記入するか、スクリプトを作成します。


mail=メールアドレス

検出された文字列をメールで送信します。


throttle=時間:分:秒

連続して同じ文字列が検出された場合、指定した時間は無視します。例えば、メールで送信していた場合、大量のメールが配送される事になります。また、ウイルスフィルタなどを導入していた場合、サーバーに高負荷がかかります。

特に不正アクセス、アタックをかけられるとこのような状況に陥ります。以下の例では、検出されてから15秒の間はアクションを起こさなくなります。

例 throttle 00:00:15

Swatcg の起動

Swatchの起動は以下の様にします。ここではswatchユーザーで起動します。

$ swatch &

この様にswatchをオプションを付けずに起動した場合は、/var/log/message/home/swatch/.swatchrc で定義した内容に基づいて処理されます。

複数のログを監視したい場合は、それぞれに定義ファイルを用意する必要があります。次のページで説明します。

bottom_mark
ページ最上部
ページ最上部 前のページ