fail2ban設定

fail2ban設定

今回は下記の条件で設定する
・30分間で3回アクセス失敗したIPアドレスは1時間アクセスが禁止される
・1日間に3回BANされたIPアドレスは永久BANする
・fail2ban.confは直接編集しない。jail.localを編集する
・sshdのみ有効にする ※ 今後追加予定

①jail.local作成

vi /etc/fail2ban/jail.local

[DEFAULT]
#■基本設定
backend  = systemd
ignoreip = xxx.xxx.xxx.xxx
 
#■BAN設定
#30分間で3回アクセス失敗したIPアドレスは1時間アクセスが禁止される
bantime  = 3600
findtime = 1800
maxretry = 3
 
#■メール設定
destemail  = menmashimashi@hogehoge.example.com
sender     = fail2ban@hogehoge.example.com

#■banactionでfirewalldを使う
banaction = firewallcmd-ipset
banaction_allports = firewallcmd-allports
 
#■その他
#BANされたIPアドレスのWHOIS情報をメール送信
action  = %(action_mw)s

#ssh
[sshd]
enabled = true
port    = ssh-2222

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

ignoreipには通信を許可したい(banの対象外としたい)端末のIPアドレスを記入する
sshのポート番号は2222に変更しているため、ssh-2222を指定している
(デフォルトの場合は、「port = ssh」にする)


②BANされたパケットを拒否せずに破棄する

vi /etc/fail2ban/action.d/iptables-common.local

[Init] 
blocktype = DROP


③エラー対策
上記設定後にサービス起動するとエラーがログに出力されるため、
下記の通りファイルの末尾に追記

vi /etc/fail2ban/filter.d/proftpd.conf

[Init]
journalmatch = _SYSTEMD_UNIT=proftpd.service


④サービス起動、自動起動設定

systemctl start fail2ban

systemctl enable fail2ban

systemctl status fail2ban

ステータス確認し、正常に起動していればOK


⑤jwhoisインストール
現状だと、fail2banからのメールにはmissing whois programと記載され、
whois情報が表示されない
そのため、jwhoisをインストールする

yum install jwhois



■参考
https://qiita.com/kskiwmt/items/f871f940fa9b64b4f396
https://onoredekaiketsu.com/fail2ban-block-unauthorized-access/
https://dreamerdream.hateblo.jp/entry/2019/05/19/120000