How to build Internet Server with Linux

last update: 29 Sep 2004

home |index |previous |next |contents

swatchのインストールと運用



"Swatch"はフリーの不正侵入アクセス監視ツールで、各種ログファイルを常時監視することができます。
6.1 ダウンロード
SwatchはPerlで書かれたプログラムです。Swatchのアーカイブは以下のURLからダウンロードできます。
ftp://ftp.stanford.edu/general/security-tools/swatch/
http://www.engr.ucsb.edu/~eta/swatch/
ftp://ftp.stanford.edu/general/security-tools/swatch/

2002年1月現在、最新のSwatchのアーカイブは"swatch-3.0.4.tar.gz"です。
Swatchが使用するPerlモジュールは
	Time::HiRes
	Date::Calc
	Date::Parse
	File::Tail
の4つで、以下のURLからダウンロードすることができます。
http://search.cpan.org/

このURLから次のアーカイブをダウンロードしてください。
	Time-HiRes-01.20.tar.gz
	File-Tail-0.98.tar.gz
	Date-Calc-4.3-bin56Mac.tar.gz
	TimeDate-1.10.tar.gz

6.2 インストール
インストール方法は5つのアーカイブとも同様です。 ここでは"Time-HiRes-01.20.tar.gz"を例に説明します。
適当なディレクトリにアーカイブを展開し、"make Makefile.PL"、"make"、"make test"、"make install"を実行します。
	# tar zxvf Time-HiRes-01.20.tar.gz
	# cd Time-HiRes-01.20
	# make Makefile.PL
	# make 
	# make test
	# make install

Time-HiResのインストール


以下、 "File-Tail-0.98.tar.gz"、"Date-Calc-4.3-bin56Mac.tar.gz"、"TimeDate-1.10.tar.gz"、"swatch-3.0.4.tar.gz"の順にインストールを行います。
6.3 使用方法
Swatchの設定ファイルをセットした後、Swatchを起動します。

    6.3.1 設定ファイル

    Swatchの設定ファイルをディレクトリ/etc/に置きます。 設定ファイルのテンプレートは、Swatichのアーカイブを展開したディレクトリのサブディレクトリ:examples/にあります。
    今回は"swatchrc.personal"ファイルを利用します。 "swatchrc.personal"ファイルを"/etc/swatchrc"ファイルにコピーします。
    	# cp swatch-3.0.4/examples/swatchrc.personal /etc/swatchrc
    

    設定ファイルの準備


    6.3.2 起動

    Swatchの起動は次の書式で行います。
    	swatch -c 設定ファイル -t 監視するログファイル
    

    Swatchの書式


    例として、"/var/log/messages"ファイルの監視を行うswatchデーモンを起動してみます。
    	# /usr/bin/swatch -c /etc/swatchrc -t /var/log/messages &
    

    swatchの起動


    6.3.3 設定ファイルのカスタマイズ

    Swatchの設定ファイルは、かなり柔軟に設定を追加することが出来ます。
    設定の書式を以下に示します。
    	watchfor = /パターン/
    		アクション1
    		アクション2
    		....
    

    設定書式


    各項目について説明します。
    1. パターン
      ログファイル中の監視したいパターン(文字列)を記述します。 パターンはPerlの正規表現も使うことが出来ます。また、","で区切ることで複数のパターンを記述することも出来ます。
    2. アクション
      一致したパターンが検出されたときの動作を記述します。
      アクション 説明
      echo[=mode] ターミナルにメッセージを表示。mode=(normal|bold|blink|underscore|inverse)
      bell[=N] N回ビープ音を鳴らす。
      exec=command 指定されたコマンドを実行。
      ignore 無視する。
      mail[=address1:address2:...] 指定されたメールアドレスにメールを送信。
      アクション

    具体的な例を示します。 swatchの設定ファイルに追加してください。

    1. 設定例1
      loginを3回続けて失敗したら、メールを送信。
      	watchfor = /FAILES LOGIN 3/
      		echo
      		mail=root@localserver
      

      設定例1


    2. 設定例2
      PAMが認証を拒否したら、メールを送信。
      	watchfor = /PAM authntification failed/
      		echo
      		mail=root@localserver
      

      設定例2


home |index |previous |next |contents


since 04/Oct/2004