当前位置: 首页>>技术教程>>正文


潜在的ufw和fail2ban冲突

, , , ,

问题描述

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

最佳解决思路

您可以一起使用ufw和fail2b,但如前所述,(ufw)规则的顺序非常重要。

开箱即用,fail2ban使用iptables并首先在INPUT链中插入规则。这不会对ufw造成任何伤害或冲突。

如果你想完全整合fail2ban来使用ufw(而不是iptables)。您需要编辑许多文件,包括

/etc/fail2ban/jail.local

jail.local是您定义服务的地方,包括他们正在监听的端口(想想将ssh更改为non-default端口)以及要采取的操作。

**请注意*:永远不要编辑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为例,注意non-default端口的定义=)

[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/

[编辑]对于ubuntu 16.04+

默认情况下,/etc/fail2ban/jail.d中的“defaults-debian.conf”含量

[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。这是case-sensitive。

重新加载fail2ban,你将不再看到fail2ban链,如果任何IP得到一个块,你会在sudo ufw status中看到它

次佳解决思路

我已经在几台不同的计算机上使用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次但未成功的客户端,它将不会破坏您的防火墙。

第三种解决思路

安装0.9.5的fail2ban包括一个ufw操作,我只需要为banaction设置

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2227.html,未经允许,请勿转载。