サイトへの攻撃が多いのでfail2banをインストールして対策をしました。
本当はWAFでやるのがよいのでしょうが・・。
fail2banをインストールします。
# dnf install fail2ban -y
設定前にバックアップを取得して
# cp jail.conf{,.org}
# vim jail.conf
jail.confに追記
#add
[nginx-4xx]
enabled = true
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 3
nginx-4xx.confを作成します。
# vim /etc/fail2ban/filter.d/nginx-4xx.conf
[Definition]
failregex = ^
ignoreregex =
jail.localをこんな感じで作成します。
[DEFAULT]
ignoreip = 127.0.0.1/8 ***.***.***.***/32
bantime = 10800
findtime = 480
maxretry = 5
destemail = hogehoge@メールアドレス
sender = root@hogehoge
banaction = firewallcmd-ipset
banaction_allports = firewallcmd-allports
#whoisの設定
action = %(action_mw)s
#ssh ポートは2225
[sshd]
enabled = true
port = ssh-2225
#永久banの設定
[recidive]
enabled = true
bantime = -1
findtime = 86400
maxretry = 3
保存をしたらfail2banの起動設定をして
# systemctl enable fail2ban.service
# systemctl start fail2ban.service
作成した設定が確認できれば完了です。
# fail2ban-client status
Status
|- Number of jail: 3
`- Jail list: nginx-4xx, recidive, sshd
作成したルールに引っ掛かってるのも確認できます。
# fail2ban-client status nginx-4xx
Status for the jail: nginx-4xx
|- Filter
| |- Currently failed: 3
| |- Total failed: 2421
| `- File list: /var/log/nginx/access.log
`- Actions
|- Currently banned: 1
|- Total banned: 129
`- Banned IP list: 20.230.73.174
fail2banに引っ掛かるとメールも来ますが
missing whois program
と表示されている場合はwhoisをインストールします。
# dnf install whois -y
以上で終了