可能的重复:
为什么错误的密码会造成很大的延迟
每当我在 tty 中登录时输错密码时,我都会注意到我必须等待一秒钟才能再次登录。我似乎找不到原因,也找不到造成这种情况的原因。我只能认为这是一些安全层,防止从连接到机器的脚本化 HID 进行暴力登录。有没有办法缩短延迟?如果我是正确的,我会在 kdm 和其他屏幕锁中看到相同的行为。
答案1
您关于它用于减轻暴力攻击的假设是正确的。在 Linux 中,这是由 pam_faildelay 模块处理的。有一种方法可以缩短延迟,但这可能是特定于操作系统的。在 Linux 中,该/etc/pam.d/login
文件包含用于登录的策略(1)。
以下是默认 Debian 安装的示例行:
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000
您可以调整该线路上的延迟。
答案2
这种轻微的延迟使得猜出密码变得更加困难,至少对于人类来说是这样。可能值得查看一些源代码,看看是否对散列候选密码和存储的散列密码进行了故意的恒定时间比较,以防止定时攻击。
轻微的延迟似乎并不算多,但我们大多数人都住在玻璃窗很容易破碎的房子里,但我们仍然锁着前门。