# застосувати зміни
sudo fail2ban-client reload
sudo fail2ban-client restart
# перевірити статус по окремому фільтру
sudo fail2ban-client status my-filter
# перевірити застосовані правила
sudo iptables -S
# unban ip:
sudo fail2ban-client set my-filter unbanip xxx.xxx.xxx.xxx
# ban ip:
sudo fail2ban-client set my-filter banip xxx.xxx.xxx.xxx
Файли фільтрів знаходяться у /etc/fail2ban/filter.d/ і мають наступний формат:
[Definition]
failregex =
ignoreregex =
datepattern =
Протестувати regex (без його застосування) можна командою fail2ban-regex [Options] [Ignoreregex]
# можливі ключі: --print-all-matched --print-all-missed --print-all-ignored
sudo fail2ban-regex --print-all-missed /var/log/nginx/access.log /etc/fail2ban/filter.d/my-filter.conf /etc/fail2ban/filter.d/my-filter.conf
[DEFAULT]
ignoreip = 127.0.0.1/8
findtime = 3600
maxretry = 6
bantime = 10800
logencoding = auto
enabled = false
filter = %(__name__)s
# ACTIONS
protocol = tcp
chain = INPUT
fail2ban_agent = Fail2Ban/%(fail2ban_version)s
banaction = iptables-multiport
banaction_allports = iptables-allports
action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
action = %(action_)s
# JAILS
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
backend = %(sshd_backend)s
[my-filter]
enabled = true
filter = my-filter
port = http,https
logpath = /var/log/nginx/access.log
findtime = 300
maxretry = 2
bantime = 86400
Параметри файлу jail.conf: