fail2ban

あまりにもsshやpop3へのブルートフォースアタックが酷く、logcheckのメールが数MBになることも多くなってきたので、なにかよい対策はないものかと探していました。

移動先でもログインすることやftpの代わりにsftpを使ってもらったりといったこともありIPアドレスによる制限もしにくく、ユーザサイトではftpもオープンにしているところもあり、汎用的かつわかりやすい設定で対策できる物を探していたところfail2banという物を見つけました。

各サービス毎にログからアタックを正規表現によるフィルタで検出、それに対してアクション(iptablesで制限、メールを送る等)の動作をさせることができます。

http://www.fail2ban.org/

Debianの場合sarge,etchにもバックポートされています。
http://packages.debian.org/ja/etch-backports/fail2ban

インストールして設定ファイル/etc/fail2bin/jail.conf を見てみると、インストール直後にはsshだけ有効になっているようです。とりあえず様子を見るためこのままで起動してテストをしてみることにします。

デフォルトでは6回失敗すると制限されるようなので、外部のホストから6回ログインに失敗してテストしてみると、iptablesに


Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 60.xxx.xxx.xxx 0.0.0.0/0
RETURN all -- 0.0.0.0/0 0.0.0.0/0

bantime後(デフォルトでは10分後)にはDROP行が消えて再度アクセスできることが確認できます。

これでログが減ってくれるといいんですが…。