2014/09/30(火) [n年前の日記]
#1 [vine][linux][hns] OSアップグレード作業中その3
まだまだ作業中。もっとも、この日記ページが見えてるということは、多少問題はありつつも一応そこそこサーバは動いてる、ということでしょうけど…。
◎ swatch。 :
リアルタイムにログを監視して、特定のログ内容が出てきたら何か処理をすることができるツール。
_Simple Log Watcher | SourceForge.net
_【Vine Linuxで自宅サーバー】Swatchで不正アクセス遮断(Swatch+iptables)
_swatchインストール : マロンくん.NET
どうも動いてないような気がするので、一応再インストールすることにした。
必要なモジュールをインストール。他にも必要なものがあるかもしれないけど、よく分かってない。
インストール作業。
/etc/init.d/swatch を作成。サービスとして利用できるようにする。
/etc/swatchrc にルール?を記述。
ftpサーバに、妙なアカウント名でアクセスしてくる相手が多くて…。
_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サーバに、妙なアカウント名でアクセスしてくる相手が多くて…。
[ ツッコむ ]
以上です。