フィルタを作成するには正規表現が解っていないといけないのですが、しっかり理解するのはなにげに大変です。最後に参照ページをまとめておきますので、興味があれば読んでみてください。
【環境】
Debian GNU 6.0 squeeze
linux-image-2.6.32-5-686
fail2ban 0.8.4-3
dovecot-imapd 1:1.2.15-7
dovecot-pop3d 1:1.2.15-7
qpopper 4.0.9.dfsg-1
1.QpopperはQUALCOMM社がメンテしていて、pop3デーモンとしては歴史のあるプログラムです。最近はimapが主流になってきましたが、まだまだ現役で使われています。
※フィルタは2個作りましたが、たぶんどちらか一つで大丈夫だと思います。
※デフォルトのbanタイム(アクセスを遮断する時間)は600秒ですが、7,200秒(2時間)程度が良いと思います。
1-1.auth.logを監視するフィルタ |
2.dovecotはimapデーモンではなんとなくデファクトっぽい感じになってきました。
mail dir形式でもmail box形式どちらも対応していて、もちろん暗号化も出来ますのでとても使いやすいプログラムです。
下記のフィルターでpop3とimapどちらのアクセスでも動作します。
/etc/fail2ban/filter.d/dovecot.conf |
3.最後にフィルタで検知したときの動作を指定するのを忘れずに!
/etc/fail2ban/jail.conf |
4./etc/fail2ban/jail.confの[DEFAULT]の中にignoreip = 127.0.0.1 という行があります。
ここにネットワークアドレスを書いておくと、そのアドレスからのアクセスについてはフィルタが働かなくなります。
DMZにサーバがいて、社内からはローカルIPでアクセスするような場合は、そのネットワークアドレス(例:192.168.0.0/24)を書いておくと良いです。もし社内からのアクセスはIPマスカレード等で一個のアドレスに絞られていて、その状態で誰かがフィルターに引っかかると、社内全員がサーバにアクセス出来なくなります。
■出来上がったフィルタは、fail2ban-regex で動作をテスト出来ます。
もし、logファイルにフィルタに引っかかるようなアクセスが記録されている場合、
fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/dovecot.conf
と入力してエンターを押すと、logファイルを調べフィルタに引っかかる行があるとリストアップしてくれます。
【参照サイト】
○正規表現について サルにもわかる正規表現入門
○dovecotのフィルタ Using Fail2ban with Dovecot