为什么登录进程在报告“密码不正确”之前会休眠而不是限制输入?

为什么登录进程在报告“密码不正确”之前会休眠而不是限制输入?

当使用 sudo、su 或者只是 Linux Mint Cinnamon 或 Debian with Cinnamon 的登录屏幕时,当您输入错误的密码时,它们都会挂起一秒钟。

对我来说,它挂起的事实告诉我“它不正确”,让我按 Ctrl+C 执行 sudo 命令,然后使用向上箭头重试 -> Enter,或者使用 Escape 关闭登录对话框并开始输入以重试。这很好用。

这似乎是一种限制速率的尝试,但它不起作用,因为攻击者只能设置并行猜测。如果它确实想要速率限制,它应该限制每个时间段可以输入的查询数量,而不是返回输出之前需要多长时间(并且它仅在失败情况下延迟,这是另一个致命的赠品)。

这样做的原因是什么?

答案1

这些程序与 PAM(适用于 Linux 的可插入身份验证模块)进行通信,以进行登录访问和密码身份验证。您的发行版上这些 pam 模块的默认策略会在登录失败时延迟几秒。

如果您需要了解更多:

man pam 

看看下面:

/etc/pam.d

相关内容