dovecotに対するアタックをfail2banで防ぐ

会社で借りているVPSサーバーのログを見ていたら結構アタックされてました。。
※一部伏字にしてます。

Mar  3 18:00:01 ****** dovecot(pam_unix)[26236]: check pass; user unknown
Mar  3 18:00:01 ****** dovecot(pam_unix)[26236]: authentication failure; logname= uid=0 euid=0 tty=dovecot ruser=******@****** rhost=***.***.***.***
Mar  3 18:00:01 ****** PAM-warn[26236]: function=[pam_sm_authenticate] service=[dovecot] terminal=[dovecot] user=[******@******] ruser=[******@******] rhost=[***.***.***.***]

まー、ssh全開放にしていたのもあるのですが

dovecotに対する上記rhostからのアタックの回避方法です。


やり方はいろいろあると思うのですが、とりあえずは

fail2banにて制御しちゃおうかなと。


まったくiptablesのルールが設定されていない前提で行う手順になります。


まず、yumでインストール。
※ちなみにCentOS5.8での対応です。

# yum install -y fail2ban

そして、dovecotのルール設定。
※サーバーによって適時変更(特にログパスなどでしょうか)

# cd /etc/fail2ban
# vi jail.conf

---------------------------

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
         sendmail-whois[name=dovecot-pop3imap, dest=mailto@example.com]
logpath = /var/log/messages
maxretry = 5
findtime = 1200
bantime = 1200

mailto@example.com箇所にはメールで知らせる為に

サーバー管理者のアドレスでも入れておけばよいです。

また上記設定内容としては、findtime秒間にmaxretry回検知したら、

該当アクセスをbantime秒間遮断するという意味合いになります。


最後に、上記logpathで指定したファイル中での検出条件。
※サーバーによって適時変更

# vi filter.d/dovecot-pop3imap.conf

---------------------------

[Definition]
failregex = dovecot.*pam_unix.*(?:authentication failure).*rhost=(?:::f{4,6}:)?(?P<host>\S*)
ignoreregex =


これで準備はできましたので、起動。

iptablesにもfail2banのルールが設定されている事が確認できます。

# /etc/init.d/fail2ban start
# chkconfig fail2ban on
# iptables -L -n

---------------------------

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-dovecot-pop3imap  tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 110,995,143,993


後は、外部から疑似アタックして

以下みたいに正常にiptablesにてはじかれるようになればOKって事ですね。

# iptables -L -n

---------------------------

Chain fail2ban-dovecot-pop3imap (1 references)
target     prot opt source               destination
DROP       all  --  ***.***.***.***      0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0


長々と見て頂きありがとうございます。


コメントを残す




関連記事

関連記事はありません

Menu

HOME

 TOP