SSH 登录尝试次数有限制吗?

SSH 登录尝试次数有限制吗?

Debian 9 中的 SSH 登录尝试次数有限制吗?

例如,假设我的 SSH 服务器可以在 100 毫秒内响应,那么理论上有人可以每 100 毫秒尝试一个用户/密码组合,或者每秒 10 次、每分钟 600 次、每小时 36,000 次。这显然不足以破解典型的密码,但可能会以一种烦人的方式填充日志。

有没有什么机制可以阻止这种探测?

(注意:我不认为使用 PAM 用户尝试拒绝与此处相关,因为这是特定于用户名的。自动化脚本不会一遍又一遍地尝试相同的用户名,但会循环用户名以避免触发 PAM 计数。)

答案1

是的。手册页ssh_config指定:

MaxAuthTries

指定每个连接允许的最大身份验证尝试次数。一旦失败次数达到该值的一半,就会记录更多失败。默认值为 6。

这是针对单个连接,通常需要大约一秒钟(算法协商、密钥交换)。

对于面向公众的 ssh 服务器,明智的做法是设置一些东西来避免这种情况,一般来说,fail2ban 是非常常见且有用的技术 - 对于几次失败的尝试,它会暂时禁止源 IP,因此除非攻击者拥有大型 IP 僵尸网络,否则他会被拒绝。每几个小时都要尝试几次,运气不好。

相关内容