Dav*_*sta 11
您可以通过多种方式做到这一点。您可以通过使用 pam_tally(更好的 pam_tally2)模块来限制用户通过 SSH 连接的次数
auth required pam_tally.so deny=10 unlock_time=60 per_user
Run Code Online (Sandbox Code Playgroud)
这将每个用户限制为 10 次登录/分钟。
这当然不会以任何方式阻止与 SSH 守护程序的连接。为此,您应该使用 netfilter 和最近的模块
iptables -A INPUT -tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -tcp --dport 22 -m state --state NEW -m recent --update --hitcount 10 --seconds 20 -j DROP
Run Code Online (Sandbox Code Playgroud)
这将每个主机(无论登录成功或失败)限制为每 20 秒 10 个连接。
您可以通过编写一个脚本(由 pam_exec.so 执行)来使 PAM 重置 iptables 计数器,该脚本执行 echo "-IPaddress" > /proc/net/xt_recent/nameoftherecentlist 或添加一个不受信任的主机执行相同操作但使用 echo "+IPaddress" > ...
更多信息可以在:http : //www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_tally.html 和http://www.debian-administration.org/articles /187当然还有 man 命令。