潜在的ufw和fail2ban冲突


45

同时运行fail2ban和ufw会引起问题吗?我注意到fail2ban修改了iptables规则,但是ufw已经定义了很多iptables规则...所以我不确定fail2ban是否会弄乱这些规则。


哪个Ubuntu版本?(“ ufw”在10.04 LTS11.x之间略有改善)
david6 2011年

@ david6:对不起,我不记得最初问这个问题时运行的是哪个版本。
2014年

Answers:


49

您可以同时使用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保护。

您需要将其设置为假。

然后像通常一样创建一个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


7
简而言之:在不按照说明进行集成的情况下,ufw和fail2ban都可以正常工作。Fail2ban将在应用ufw的规则之前插入其阻止定义。另一方面,如果要在中显示块ufw status,则需要集成。除了在中显示块之外ufw status,还有其他好处吗?特别是因为博客的作者说了以下内容: 开箱即用Fail2ban使用iptables规则,但是这些规则与我们更简单的UFW命令配合使用效果
不佳

1
究竟。当您用ufw状态检查它们时,“不要玩得很好”等同于不出现。集成的好处在于,您正在使用一种工具ufw来管理和显示防火墙规则。就功能而言,直接使用fail2ban没什么问题。问题是,要查看fail2ban规则,您将需要使用iptables -L -v -n,并且您已经知道,使用ufw时,输出很长且难以遵循。集成的优势在于,规则和语法更易于理解(假设这就是为什么首先使用ufw的原因)
Panther

作为记录,如果您在链接的网站上单击任意位置,您将被重定向到恶意软件/广告软件。
Antonio Cangiano

@AntonioCangiano-链接在这里工作正常,检查您的浏览器和DNS
Panther

@ bodhi.zazen如Antonio正确指出的那样,对链接的文章的任何单击都将重定向到流氓网站。我不愿意从此类文章中获取安全建议。
Goran Miskovic

4

多年来,我已经在几台不同的计算机上使用了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

如果将“启用”设置为“假”,则将其更改为“真”,如此处所述。设置规则后,您需要重新启动fail2ban流程:

sudo /etc/init.d/fail2ban restart

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.