【CentOS7】ssh&postfixへの不正アクセス対策-fail2ban

    

はじめに

postfixをインストールしポートを開け、暫くしてからmaillogを覗くと誰に教えたわけでもないのに、大量に「SASL LOGIN authentication failed: authentication failure」というメッセージが記録されていることがあります。どこからともなくSMTPポートを探してアタックしてくる人がいるのです。
それに対応すべく「fail2ban」というソフトをインストールしたのでその備忘録です。ついでにsshにも対処

fail2banとは

「fail2ban」をインストールすると指定したログファイルを監視し、異常を検出するとファイヤウォールの設定を変更してくれます。

fail2banのインストール&設定

インストール&自動起動設定

yum install fail2ban

systemctl start fail2ban.service
systemctl enable fail2ban.service
systemctl status fail2ban.service

 

ログファイルをsyslogではなくファイルに出力

vi /etc/fail2ban/fail2ban.conf

# 末尾に追加
logtarget = /var/log/fail2ban/fail2ban.log

 

設定

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vi /etc/fail2ban/jail.local
# comment out
#[domino-smtp]
#port    = smtp,ssmtp
#filter  = domino-smtp
#logpath = /home/domino01/data/IBM_TECHNICAL_SUPPORT/console.log

# /var/log/mailログを監視
# bantime - ban時間 86400秒 (1日)
# findtime - 検出時間 86400秒(1日)
# maxretry  - 最大再試行数

[postfix-sasl]
enabled = true
filter = postfix-sasl
action = iptables-multiport[name=postfix-sasl, port="smtp,smtps", protocol=tcp]
         sendmail-whois[name=postfix-sasl, dest=hoge@fuga.piyo , sender=fail2ban@domain.jp]
logpath = /var/log/maillog
bantime  = 86400
findtime = 86400
maxretry = 20


# sshの設定
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
 sendmail-whois[name=SSH, dest=hoge@fuga.piyo , sender=fail2ban@domain.jp]
logpath = /var/log/secure
maxretry = 5
bantime = 3600

ban2fail再起動

systemctl restart fail2ban.service