fail2banをインストールした。

サイトへの攻撃が多いので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 = ^.*"(GET|POST).*" (404|444|403|400) .*$
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

以上で終了

タグ . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です