Ubuntu Linux 密码输入错误需要更长时间

Ubuntu Linux 密码输入错误需要更长时间

当我使用正确的密码登录我的 Ubuntu 8.10 机器时,系统几乎立即就知道密码正确并让我登录。但是,如果我提供了错误的密码,则需要更长的时间才能知道密码不正确并显示登录屏幕。

这是为什么?两种情况下不应该花费相同的时间吗?

- 谢谢

答案1

这是一项安全功能,可以减缓那些试图猜测您密码的人的速度。Ubuntu 需要相同的时间来判断密码是否正确,但随后会等待几秒钟,然后让您重试。

答案2

正如 Dentrasi 所解释的那样 - 这是为了让攻击者更难对密码存储进行暴力攻击。在几乎所有情况下,您都不需要更改此行为。

如果你有充分的理由(我想不出来),你可以通过以下方式修改它/etc/login.defs - 参见登录.defs(5)请参阅手册页。

FAIL_DELAY (number)
  Delay in seconds before being allowed another attempt after a login failure.

嗯...在手册页的末尾......

Much of the functionality that used to be provided by the shadow password suite
is now handled by PAM. Thus, /etc/login.defs is no longer used by passwd(1), or
less used by login(1), and su(1). Please refer to the corresponding PAM
configuration files instead.

改为适当的 PAM 条目...

# 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

答案3

pam.d 目前负责处理 FAIL_DELAY。将其添加到 /etc/pam.d/common-auth(适用于 Debian / Ubuntu):

身份验证需要 pam_unix.so nodelay

Fedora / Redhat:将其添加到 /etc/pam.d/system-auth:

身份验证需要 /lib/security/$ISA/pam_unix.so nodelay

$ISA 仅用于在 32 位和 64 位模块之间进行选择,并且已经定义。

答案4

说到 PAM,如果计算机设置了 LDAP 或 Kerberos 或类似的网络身份验证,则当本地登录失败时,它将尝试使用提供的凭据进行远程登录。 (但与这个问题无关。)

相关内容