![潜在的 ufw 和 fail2ban 冲突](https://linux22.com/image/810836/%E6%BD%9C%E5%9C%A8%E7%9A%84%20ufw%20%E5%92%8C%20fail2ban%20%E5%86%B2%E7%AA%81.png)
同时运行 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 次但未成功的客户端,但不会破坏您的防火墙。