mieki256's diary



2014/09/30(火) [n年前の日記]

#1 [vine][linux][hns] OSアップグレード作業中その3

まだまだ作業中。もっとも、この日記ページが見えてるということは、多少問題はありつつも一応そこそこサーバは動いてる、ということでしょうけど…。

swatch。 :

リアルタイムにログを監視して、特定のログ内容が出てきたら何か処理をすることができるツール。

_Simple Log Watcher | SourceForge.net
_【Vine Linuxで自宅サーバー】Swatchで不正アクセス遮断(Swatch+iptables)
_swatchインストール : マロンくん.NET

どうも動いてないような気がするので、一応再インストールすることにした。

必要なモジュールをインストール。他にも必要なものがあるかもしれないけど、よく分かってない。
apt-get install perl-Time-modules perl-TimeDate perl-Date-Calc perl-DateTime perl-File-Tail jwhois
cpan
install Bit::Vector
install Date::Calc
install File::Tail
install Time::HiRes
install Date::Parse

インストール作業。
wget http://downloads.sourceforge.net/swatch/swatch-3.2.3.tar.gz
tar zxvf swatch-3.2.3.tar.gz
cd swatch-3.2.3
perl Makefile.PL
make
make test
make install
/usr/bin/swatch にインストールされた模様。

/etc/init.d/swatch を作成。サービスとして利用できるようにする。
#!/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
/usr/bin/swatch -c /etc/swatchrc -t /var/log/messages の部分で、
  • /usr/bin/swatch を起動せよ。
  • 監視ルールは /etc/swatchrc に書かれてる。
  • /var/log/messages を監視せよ。
と指定してる。

/etc/swatchrc にルール?を記述。
watchfor /\[(\d+\.\d+\.\d+\.\d+)\]\) - Maximum login attempts/
        mail=root,subject=swatch(Maximum login attempts)
        exec /bin/echo in.proftpd: $1 >> /etc/hosts.deny

watchfor /\[(\d+\.\d+\.\d+\.\d+)\]\) - USER admin/
        mail=root,subject=swatch(USER admin login failure)
        exec /bin/echo in.proftpd: $1 >> /etc/hosts.deny
上記の記述で、 /var/log/messages に、
[192.168.1.21]) - Maximum login attempts
とか
[192.168.1.21]]) - USER admin
てな感じの記録がされたら、該当IPを hosts.deny に追加することでアクセス拒否する。ついでに、root宛てに処理をした旨のメールを送る。

ftpサーバに、妙なアカウント名でアクセスしてくる相手が多くて…。

以上です。

過去ログ表示

Prev - 2014/09 - 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

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project