auth.log がものすごい勢いで流れていくのでとりあえず ipfw を使うことにする。
ipfw に以下の設定を追加。 メールや ssh へのアクセスがウザくても HTTP くらい許しておく。
ipfw add 5000 allow ip from any to any dst-port 80 ipfw add 65000 allow ip from any to any
ipfw モジュールの読み込みと ipfw の再起動。
kldload ipfw.ko && /etc/rc.d/ipfw restart &
/etc/newsyslog.conf
の auth.log に関する項目をサイズごとではなく毎日0時に更新するように変更。
/var/log/auth.log 600 7 * @T00 JC
swatch 用の設定スクリプトを設定する。 とりあえず root で ssh にアクセスしようとする不届きものと存在しないユーザ名でログインしようとするやつをはじく。
watchfor /Failed password for root from/ mail=root,subject=Failed_password_for_root_from exec /root/work/swatch/ipfilter.sh 12 $* # watchfor /Illegal user/ mail=root,subject=Illegal_user exec /root/work/swatch/ipfilter.sh 11 $*
/root/work/swatch/ipfilter.sh
の内容は以下のようにした。
#!/bin/sh /sbin/ipfw add 10000 deny all from `/bin/echo $2 | /usr/bin/cut -d' ' -f$1`:255.255.255.255 to any
swatch で auth.log の監視開始。
/usr/local/bin/swatch --config-file=/root/work/swatch/swatchrc --tail-file=/var/log/auth.log -r 00:01 > /dev/null &
さてどうなることやら。
コメントする