问题描述
运行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
设置