如何防止fail2ban中解封?

如何防止fail2ban中解封?

配置从路由器到树莓派的端口 22 转发后,我发现每天都有大量 IP 试图进入。我尝试通过设置ufw和 来使我的系统更加安全fail2ban

在 中fail2ban,我将其配置为无限期禁止 3 次登录树莓派失败的 IP。我通过将以下行添加到/etc/fail2ban/fail.local

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3

但是,我发现当我在终端中运行以下命令时:

zgrep -a "Unban" /var/log/fail2ban.log*

我仍然看到很多 IP 正在被解除禁止。

/var/log/fail2ban.log.4.gz:2020-04-03 15:40:37,096 fail2ban.actions        [503]: NOTICE  [sshd] Unban <IP here>
/var/log/fail2ban.log.4.gz:2020-04-04 02:28:23,485 fail2ban.actions        [503]: NOTICE  [sshd] Unban <IP here>
/var/log/fail2ban.log.4.gz:2020-04-04 23:51:52,909 fail2ban.actions        [503]: NOTICE  [sshd] Unban <IP here>

ssh和 和有什么区别sshd?如何防止所有解除禁令?

答案1

禁令总是暂时的,因为错误,ip是动态分配的。

所以我向你推荐:

1)修改bantime

该命令将提取 sshd Jail 的当前配置

fail2ban-client -d --dp   | grep -e 'sshd'  | grep -E '(maxretry|findtime|bantime)'

所以你可以添加:

[sshd] 
bantime = 3600  

在您的文件中fail.local,因此每次都会禁止 1 小时,而不是默认的 10 分钟。

我会保持这个bantime很小,以防你在远程并尝试访问你的服务器时犯错误。

2)激活累犯

你可以启用累犯监狱 。重犯监狱会捕获多次封禁的IP,并封禁更长时间。

[recidive]
enabled = true
maxretry = 4
bantime = 1w
findtime = 1d

通过这些设置,在最后一天进行 4 x 3 次尝试后,不良 IP 将被禁止 1 周

答案2

像这样将 bantime 添加到你的监狱中 -

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3
bantime = 3600

它将在 3 次失败尝试后对每个 IP 进行 1 小时的测试,而不是无限期地进行测试。您可以通过更改 bantime 轻松调整此设置。另外,您还想激活累犯

相关内容