如何configurationfail2ban,以便根据尝试密码或用户名的结构禁止login尝试

我想为fail2ban设置两个filter:

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

  2. 如果用户试图以root身份login,请禁止他们。 我还想给这个规则一个自定义的禁止时间,这个时间是非常长的,例如1天,而我的其他禁止规则比较温和。

我将如何设置这些。 1号对我特别有意思。 号码2是为了吸引人们,因为我永远不会以root身份login,并禁用了rootlogin。

谢谢

如果你真的想做到这一点,恕我直言,这不是一个好主意,但是如果你坚持,你需要编写一个pam模块,以适当的日志logging到系统日志fail2ban来阅读和实现。

Ssh和Pam是一个完整的鱼,但是这个用法应该是合理的。

写完自定义的pam模块之后,您应该在您使用的模块进行足够的validation之后将其放入pam堆栈中,以便仅应用于失败的login。

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