我想为 fail2ban 设置两个过滤器:
如果用户尝试使用少于 10 个字符的密码登录,则禁止他们。如果用户尝试使用超过 10 个字符但最后一个字母不是 z 的密码登录,则禁止他们。
如果用户尝试以 root 身份登录,则禁止他们。我还想为这条规则指定一个特别长的自定义禁令时间 - 例如 1 天,相比之下,我的其他禁令规则的惩罚较轻。
我该如何设置这些。我特别感兴趣的是第 1 个。第 2 个是为了引起别人注意,因为我永远不会以 root 身份登录,并且已禁用 root 登录。
谢谢
答案1
如果您真的想这样做,恕我直言,这不是一个好主意,但如果您坚持的话,您需要编写一个 pam 模块,将适当的日志记录到 syslog 中,以供 fail2ban 读取和执行。
Ssh 和 pam 是完全不同的两回事,但对于这种用法来说,它应该相当简单。
编写自定义 pam 模块后,您应该在您使用的模块进行足够的身份验证后将其放入 pam 堆栈中,以便它仅适用于失败的登录。