Ubuntu 中的帐户锁定

Ubuntu 中的帐户锁定

我正在尝试使用以下方法实现 Ubuntu 系统的帐户锁定pam_tally。登录尝试无效 3 次后,应在一定时间间隔内禁用登录。系统和 LDAP 登录系统均应发生这种情况。

(我们有一个有效的 LDAP 中央身份验证系统,Ubuntu 客户端的用户可以在其中进行身份验证)

我们如何配置它?我可以看到一些关于 redhat 的文章,但没有看到关于 ubuntu 的文章

答案1

如果您已经pam_tally配置好了,只需将其添加到 /etc/pam.d/common-auth 目录中即可。对于 PAM 来说,LDAP 的登录失败应该与本地机器的登录失败相同。因此,请确保顺序正确:

auth        required      /lib/security/$ISA/pam_tally.so onerr=fail no_magic_root
account     required      /lib/security/$ISA/pam_tally.so per_user deny=5 no_magic_root reset

(根据需要调整路径)

(来源)

答案2

对于现代 RHEL 5 和 Ubuntu 安装,上述答案是不正确的。它曾经确实如此,我无法确定更改发生的时间,但它确实在 2011 年 8 月 30 日的 OP 之前发生过(考虑到 CIS 基准测试于 2011 年 8 月发布)。denied= 需要在 auth 行上,而不是 account 行上。在这一点上,互联网上的各种来源都是过时/不正确的。

参见 pam_tally 的手册页:
http://linux.die.net/man/8/pam_tally
http://manpages.ubuntu.com/manpages/hardy/man8/pam_tally.8.html

...您将会看到,拒绝是一个“身份验证”选项,而不是一个帐户选项。

这些是正确的设置:(在 RHEL 中的 system-auth/system-auth-ac 和 Ubuntu 中的 common-auth)

#Actually locks out the user; put BEFORE pam_unix.so auth line.
auth    required    pam_tally2.so deny=5 onerr=fail unlock_time=900

(在 RHEL 中位于 system-auth/system-auth-ac 中,在 Ubuntu 中位于 common-account 中)

#Resets the failed counter if the user finally gets in successfully. This is only needed to support programs that do not call pam_setcred(3) correctly (like sshd). Put BEFORE pam_unix.so account line.
account required    pam_tally2.so

请注意,pam_tally2 已取代 pam_tally。Pam_tally 仍可工作,如果单独使用 pam_tally,deny=5 仍必须在 auth 行而不是 account 行上。在 NSA 和 CIS RHEL 强化指南的当前版本中,建议使用 Pam_tally2。

一些互联网资源建议您添加 magic_root 语句,这样当用户输入错误的 sudo 密码时,root 帐户就不会被锁定。我在测试中发现这并不属实。如果用户输入了错误的 su 密码,这可能是真的,但无论如何,没有人应该直接 su 到 root,如果他们输入了错误的密码,那么 root 被锁定对我来说似乎没问题。如果您确实有 magic_root,一些资源建议您还需要在 /etc/pam.d/sshd 中添加行;我还没有尝试过。

Pam_tally2 有以下改进/变化:

  • 全局:新的“静默”和“no_log_info”选项
  • 身份验证:even_deny_root_account->even_deny_root
  • AUTH: per_user 已弃用
  • AUTH:新的 root_unlock_time 和 serialize 选项
  • 帐户:no_reset 已弃用
  • “faillog” 不再起作用;使用 pam_tally2 列出锁定的用户或重置用户。

正确的设置位于 NSA RHEL Hardening 指南和最新的 RHEL 5 CIS Benchmark 中。NSA RHEL Hardening 指南指出 pam_tally 的行为在 RHEL 的生命周期内发生了变化,并且新的、更正的设置可能无法在非最新版本的系统上运行。

注意:在 RHEL 6 中,语法有所不同。这在 RHEL 6 的 CIS 基准中有所显示,但我尚未测试这些设置。

资料来源:
http://linux.die.net/man/8/pam_tally
http://man.he.net/man8/pam_tally2
http://manpages.ubuntu.com/manpages/hardy/man8/pam_tally.8.html
http://manpages.ubuntu.com/manpages/lucid/man8/pam_tally2.8.html
http://www.nsa.gov/ia/_files/os/redhat/NSA_RHEL_5_GUIDE_v4.2.pdf
https://benchmarks.cisecurity.org/tools2/linux/CIS_Redhat_Linux_5_Benchmark_v2.0.0.pdf

相关内容