fail2ban設定

CentOS Stream 8

bot等の不正大量アクセスへの対策に導入する

インストール

fail2banをインストールする
banされた際通知されるメールの内容にwhois情報も付けたいのでwhoisもインストールする

dnf install fail2ban whois

設定ファイルの編集

設定変更箇所のみjail.localに記載し、基本はjail.confを読み込みして設定変更箇所だけjail.localが適用されるようにする
また、banした後に相手からの接続にエラーメッセージを返さないようにしたいのでIPパケットを破棄する設定を実施。こちらもlocalファイルを作成して編集する

BAN設定は必要に応じて書き換えること

vi /etc/fail2ban/jail.d/jail.local
[DEFAULT]

#基本設定
#よく使うIPは無視する
backend  = systemd
ignoreip = 127.0.0.1 xxx.xxx.xxx.xxx  ←自宅や勤務先で使用しているIPアドレス

#BAN設定
#30分間で3回アクセス失敗したIPアドレスは1時間アクセスが禁止される
bantime  = 3600
findtime = 1800
maxretry = 3

#banactionの設定でiptablesではなくfirewalldを使う設定
banaction = firewallcmd-ipset
banaction_allports = firewallcmd-allports

#その他
#BANされたIPアドレスのWHOIS情報をメール送信
action  = %(action_mw)s

#ssh
[sshd]
enabled = true

#1日間に3回BANされたIPアドレスは永久BAN設定
[recidive]
enabled  = true
bantime  = -1
findtime = 86400
maxretry = 3

#メール関連
destemail = root
sender = root
mta = postfix

[postfix]
enabled  = true

[dovecot]
enabled = true

[postfix-sasl]
enabled  = true


相手にエラーメッセージを返さずIPパケットを破棄する設定を実施

vi /etc/fail2ban/jail.d/firewallcmd-common.local

[Init]
blocktype = DROP
rich-blocktype = drop

設定反映

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

問題なく起動できていることを確認

参考

https://onoredekaiketsu.com/fail2ban-block-unauthorized-access/
https://dreamerdream.hateblo.jp/entry/2019/05/19/120000
https://net-powered.com/wordpress/294

コメント

タイトルとURLをコピーしました