如何强制 Linux 用户遵守最大登录速率

如何强制 Linux 用户遵守最大登录速率

如何在共享系统上为每个用户的 SSH 登录设置基于速率的限制和/或配额?例如:将 SSH 登录限制为每 10 秒一次。

我看过的东西:

  • pam throttle 和 throttle2,但它们会查找失败的登录,然后进行节流。相反,我想查找成功的登录,然后进行节流。
  • fail2ban,但它会阻止 IPS/范围而不是用户,这对我没有帮助。(已编辑以注意 IP 与用户阻止)

答案1

fail2ban允许自定义过滤器和自定义操作。您可以创建自定义过滤器来解析适当的日志,以了解 ssh 登录是否成功并执行了适当的操作。

您可以在中找到许多不同过滤器的示例/etc/fail2ban/filter.d/,也可以在中找到许多不同操作的示例/etc/fail2ban/action.d/

如果你不想使用 IP 封锁,那么你可以用 锁定用户账户passwd -l username。或者你可以创建一个/bin/sshratelimit打印一些强烈警告的脚本,并将此脚本设置为用户的 shell。

相关内容