如何配置 fail2ban,以便它根据尝试的密码或用户名的结构禁止登录尝试

如何配置 fail2ban,以便它根据尝试的密码或用户名的结构禁止登录尝试

我想为 fail2ban 设置两个过滤器:

  1. 如果用户尝试使用少于 10 个字符的密码登录,则禁止他们。如果用户尝试使用超过 10 个字符但最后一个字母不是 z 的密码登录,则禁止他们。

  2. 如果用户尝试以 root 身份登录,则禁止他们。我还想为这条规则指定一个特别长的自定义禁令时间 - 例如 1 天,相比之下,我的其他禁令规则的惩罚较轻。

我该如何设置这些。我特别感兴趣的是第 1 个。第 2 个是为了引起别人注意,因为我永远不会以 root 身份登录,并且已禁用 root 登录。

谢谢

答案1

如果您真的想这样做,恕我直言,这不是一个好主意,但如果您坚持的话,您需要编写一个 pam 模块,将适当的日志记录到 syslog 中,以供 fail2ban 读取和执行。

Ssh 和 pam 是完全不同的两回事,但对于这种用法来说,它应该相当简单。

编写自定义 pam 模块后,您应该在您使用的模块进行足够的身份验证后将其放入 pam 堆栈中,以便它仅适用于失败的登录。

http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_MWG.html

相关内容