postfxでのfail2banがうまく動作してなかった
TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > postfxでのfail2banがうまく動作してなかった
なんかfail2ban効かないな
mail.logを参照してみると、SASL Authで失敗している同じIPアドレスがたくさんあって、fail2banでbanしているはずではとなる。
- fail2ban 0.9.6
- iptables 1.6.0
- Debian Stretch
fail2ban.logを参照すると、以下のメッセージがあった。
iptables -w -I INPUT -p tcp -m multiport --dports smtp,465,submission,imap3,imaps,pop3,pop3s -j f2b-postfix-sasl -- stdout: b''
fail2ban.action [26111]: ERROR iptables -w -N f2b-postfix-sasl
iptables -w -A f2b-postfix-sasl -j RETURN
iptables -w -I INPUT -p tcp -m multiport --dports smtp,465,submission,imap3,imaps,pop3,pop3s -j f2b-postfix-sasl -- stderr: b"iptables v1.6.0: invalid port/service `imap3' specified\nTry `iptables -h' or 'iptables --help' for more information.\n"
fail2ban.action [26111]: ERROR iptables -w -N f2b-postfix-sasl
iptables -w -A f2b-postfix-sasl -j RETURN
iptables -w -I INPUT -p tcp -m multiport --dports smtp,465,submission,imap3,imaps,pop3,pop3s -j f2b-postfix-sasl -- returned 2
fail2ban.actions [26111]: ERROR Failed to execute unban jail 'postfix-sasl' action 'iptables-multiport' info # 省略
iptablesを見てみると、やはりbanされていなかった。
Chain f2b-postfix (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
というわけで調べるとiptablesの行がおかしい
iptables -w -I INPUT -p tcp -m multiport --dports smtp,465,submission,imap3,imaps,pop3,pop3s -j f2b-postfix-sasl -- stderr: b"iptables v1.6.0: invalid port/service `imap3' specified\nTry `iptables -h' or 'iptables --help' for more information.\n"
iptablesが、imap3をサポートしなくなったと見える。ということで調べると #867374 - fail2ban: iptables fails because imap3 is an unknown port - Debian Bug report logs があった。
それによれば、imap3はサポートを取りやめたということで、fail2banでは0.10.2で修正されたようだ。
https://github.com/fail2ban/fail2ban/commit/9876dd44f93a0b012108ea1aceeccee21be03cb9
その中身を見ると、fail2banのjail.confを変更している。ということで、/etc/fail2ban/jail.localファイルにportを追加しておいた。
[postfix-sasl]
enabled = true
banaction = iptables-multiport
port = smtp,465,submission,imap,imaps,pop3,pop3s
fail2banを再起動して動作できてることを確認した。おしまい