潜在的 ufw 和 fail2ban 冲突

潜在的 ufw 和 fail2ban 冲突

同时运行 fail2ban 和 ufw 会导致问题吗?我注意到 fail2ban 修改了 iptables 规则,但是 ufw 已经定义了大量 iptables 规则……所以我不确定 fail2ban 是否会搞乱这些规则。

答案1

您可以同时使用 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 并插入新规则第一的使用“插入 1”语法。删除操作将找到规则,无论顺序如何。

这里有一篇很好的博客文章,详细介绍了这一点

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[编辑] 对于 ubuntu 16.04+

默认情况下,内容为defaults-debian.conf/etc/fail2ban/jail.d

[sshd]
enabled = true

将激活fail2ban的ssh保护。

您需要将其设置为 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

答案2

安装 0.9.5 版 fail2ban 包含一个ufw操作,我只需设置一下即可banaction

答案3

我已经在几台不同的计算机上使用 fail2ban 和 ufw 多年了,从来没有遇到过任何问题。要设置 fail2ban:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local

现在根据需要编辑文件,例如,如果您想阻止未经授权的 ssh,请找到以下行:

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

如果“enabled”设置为“false”,请按照此处所述将其更改为“true”。设置规则后,您需要重新启动 fail2ban 进程:

sudo /etc/init.d/fail2ban restart

如果您在 ufw 防火墙上打开了端口 22,fail2ban 将禁止尝试连接超过 6 次但未成功的客户端,但不会破坏您的防火墙。

相关内容