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
コメント