mieki256's diary



2006/08/27() [n年前の日記]

#4 [linux] swatch をインストール

また、FTPサーバに Administrator で延々とアクセスしてくるマシンが。IP で検索(?)してみたら、どうも中国とかインドとかから来てるっぽい。

/var/log/messages を監視して、何か対策できんものかと。検索してみたら、どうも swatch という監視ツールがあるらしく。特定の文字列が出てきたら、管理者にメールを送ったり、beep を鳴らしたりできるらしい。ということでインストールしてみようかと。

_swatchインストール :

参考にさせてもらって作業。

ちなみに、root で作業したです。

Perl のモジュール(って言うの?)がいくつか必要らしいのだけど、 Vine Linux の場合、
  • perl-Time-HiRes
  • perl-Date-Calc
  • perl-File-Tail
は、apt-get でインストールできるっぽい。
# apt-get install perl-xxxx-xxxx
みたいな感じでインストール。

_SourceForge.net: Swatch から辿って、Swatch をDL。現在は 3.2.1 てのが最新版、ていうか安定版?として公開されてるっぽい。
# wget http://xxxx/xxx/xx/swatch-3.2.1.tar.gz
みたいな感じで、wget でDL。

# tar xvzf swatch-3.2.1.tar.gz
# cd swatch-3.2.1
# perl Makefile.PL

Checking if your kit is complete...
Looks good
Warning: prerequisite Date::Format 0 not found.
Writing Makefile for swatch
と言われた。Date::Format なるモジュールが無いと言われてるのかしら。

_[vine-users:068054] Re: swatchについて によると、perl-Time-Date なるものがあるらしい。
# apt-get install perl-Time-Date
してから、
# perl Makefile.PL
してみた。
Writing Makefile for swatch
としか言われなかった。必要なものは揃ったみたい。
# make
# make install
/usr/bin/swatch に入れてくれたっぽい。

設定ファイル .swatchrc を作らないといけない。 _@IT:サーバのログ監視ツールを使いこなそう(2/3) などでも、examples/ 以下に設定ファイルのサンプルがある、てなことが書かれてるのだけど、見当たらなかった。とりあえず、
watchfor /USER Administrator/
mail=root,subject=swatch report Admin access
こんな感じで試してみたり。…後でバックアップ等取るときに面倒だから、/etc/swatchrc に入れておいた。

自動起動スクリプト /etc/rc.d/init.d/swatch を作成。chmod +x で実行権限をつけて。
_Linux/Swatch - cubic9.com
_ログ監視ツール導入(SWATCH) - Fedoraで自宅サーバー構築
_SWATCH設定/運用 - AqureWiki - 罪と罰++二律背反、自宅サーバ、CGIゲーム
も参考にさせてもらいつつ。
#!/bin/sh
#
# chkconfig: 2345 42 42
# description: monitaring logs tool.

[ -f /usr/bin/swatch ] || exit 0
[ -f /etc/swatchrc ] || exit 0

. /etc/rc.d/init.d/functions

RETVAL=0
SWATCH_SCRIPT="/var/run/swatch"

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        echo -n "Starting swatch: "
        /usr/bin/swatch -c /etc/swatchrc -t /var/log/messages --script-dir=$SWATCH_SCRIPT >/dev/null 2>&1 &
        RETVAL=$?
        echo
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down swatch: "
        killproc tail
        RETVAL=$?
        echo
        ;;
  restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  status)
        status swatch
        ;;
  *)
        echo "Usage: swatch {start|stop|restart|status}"
        exit 1
esac

exit $RETVAL


サービスとして登録(?)。
# chkconfig -add swatch

logrotate時に以前のログを見続けるらしいので、対策しないといけない。 _swatchによるログ監視 を参考に、/etc/logrotate.d/syslog に追加。したけど、コレ、複数のログを rotate するたびに、restart したりはしないのかな。よくわからない。

サーバを再起動してテストしてみたけれど。自動起動してくれないような。何が足りてないのか。うーむ。とりあえず手動で動かしておくか…。

_swatchとipfwでsshの不正アクセスを自動拒否する方法 :

_sshdに無差別にアクセスしているIPを動的検知してファイアーウォールに登録する
_自宅サーバ雑記帳: FreeBSD on swatchでログ監視

exec command とやらを使えば自動化できるのか…。今後の課題。
後日談ですが、オプションに「--awk-field-syntax」を付けると、$0や$1が使えるようになるみたいです。

自宅サーバ雑記帳: FreeBSD on swatchでログ監視 より

φ(..)メモメモ

以上です。

過去ログ表示

Prev - 2006/08 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project