iptables – Fail2Ban:已被禁止?

我在Centos服务器上运行Fail2Ban. (下面的配置)

在我的var / log / messages中,我发现了一些非常奇怪的东西:

Jun 19 12:09:32 localhost fail2ban.actions: INFO   [postfix] 114.43.245.205 already banned

我配置Fail2Ban将禁止的IP添加到iptables.

我的jail.conf:

[postfix]

enabled  = true
filter   = postfix
action   = iptables
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/maillog
bantime  = 43200
maxretry = 2

我的postfix.conf:

[INCLUDES]

before = common.conf

[Definition]
failregex = reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
            reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
            reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
            reject: RCPT from (.*)\[<HOST>\]: (.*)@yahoo.com.tw
ignoreregex =

我的问题是,任何已经在iptables中被阻止的人仍然可以连接到服务器吗?

在这里的另一个答案推荐的recidive监狱并没有解决我的问题.然而,我最终修复了这个,所以这是我的方法,以防它帮助别人.

默认情况下,Fail2ban仅阻止TCP.至少在我的设置中,我注意到当机器人回来尝试通过UDP阻止端口时,“已经被禁止”的消息出现了.

要解决此问题,请告诉Fail2ban阻止所有协议上的端口而不是TCP.您需要在/etc/fail2ban/jail.conf和/etc/fail2ban/action.d/中使用的每个操作的[Init]部分中进行此更改.

改变这个:

# Default protocol
protocol = tcp

至:

# Default protocol
protocol = all

接下来,我禁用了ICMP echo请求,因此阻塞的IP无法访问服务器:

> nano /etc/sysctl.conf
>添加以下两行:

net.ipv4.icmp_echo_ignore_all = 1  
net.ipv4.icmp_echo_ignore_broadcasts = 1

>退出并保存文件.
>运行sysctl -p以使更改生效.

之后,运行fail2ban-client重新加载,你不应该再看到这些“已被禁止”的消息,除非你被一个在块生效之前获得几次访问尝试的IP发送垃圾邮件.

此外,通过在每个Jails中使用动作iptables-allports来阻止每个罪犯的所有端口而不是他们试图访问的端口是很重要的.否则,它们可能会触发另一个Jail并最终在日志中“已被禁止”.

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金