Вы можете использовать ufw и fail2b вместе, но, как указано ранее, порядок правил (ufw) - это то, что важно.
Из-за поля fail2ban использует iptables и вставляет правила сначала в INPUT цепь. Это не причинит вреда или конфликта с ufw.
Если вы хотите полностью интегрировать fail2ban для использования ufw (а не iptables). Вам нужно будет отредактировать несколько файлов, включая
/etc/fail2ban/jail.local
. Jail.local - это то, где вы определяете свои службы, включая порт, который они прослушивают (думаю, что изменение ssh на нестандартный порт) и что действие.
** Обратите внимание *: Никогда не редактируйте jail.conf, ваши изменения должны быть сделаны в jail.local! Этот файл начинается с этого:
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory
Используя ssh в качестве примера, обратите внимание на определение нестандартного порта, а также =)
[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Затем вы настраиваете fail2ban на используйте ufw в (один файл .conf для каждой службы)
/etc/fail2ban/action.d/ufw-ssh.conf
Синтаксис:
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH
Примечание: вы настраиваете fail2ban для использования ufw и вставляете новые правила ПЕРВЫЙ, используя синтаксис «insert 1».
Существует хорошая запись в блоге, которая подробно рассматривается здесь
http://blog.vigilcode.com/2011/05/ ufw-with-fail2ban-quick-secure-setup-part-ii /
[EDIT] Для ubuntu 16.04+
по умолчанию «defaults-debian.conf» в /etc/fail2ban/jail.d с content
[sshd]
enabled = true
активирует ssh защиту fail2ban.
Вам нужно поставить false.
Затем создайте jail.local, как и вы, в общем, мои будут такими:
[ssh-with-ufw]
enabled = true
port = 22
filter = sshd
action = ufw[application="OpenSSH", blocktype=reject]
logpath = /var/log/auth.log
maxretry = 3
В установке по умолчанию fail2ban уже установлен ufw.conf, поэтому нет нужно создать его.
Единственное конкретное изменение для вас: jail.local будет в строке действия, где вам нужно поставить соответствующее приложение для защиты и то, что вы хотите получить в результате.
ufw обычно автоматически обнаруживают определенное количество приложений, работающих в сети. Чтобы список просто набрал sudo ufw app list. Это чувствительно к регистру.
перезагрузить fail2ban, и вы больше не увидите цепочку fail2ban, и если какой-либо IP-адрес получит блок, вы увидите его в sudo ufw status