Linux 登录保护:多次失败自动锁定账户

admin 2024年10月18日22:25:09评论167 views字数 2065阅读6分53秒阅读模式
频繁的登录尝试往往是攻击者试图通过暴力破解获取系统访问权限的迹象。为了应对这一威胁,我们可以通过配置 PAM(Pluggable Authentication Modules)模块来增强系统的登录安全性,限制用户登录尝试次数,并设置合理的解锁时间。我们将分别使用 pam_tally2.so 和 pam_faillock.so 模块来实现这些目标。
1.使用pam_tally2.so(centos7)

1.1全局配置,包含本地TTY和SSH远程登录

目标
使用 pam_tally2.so 模块进一步增强登录安全,限制用户登录尝试次数,并设置解锁时间。
在 /etc/pam.d/system-auth 和 /etc/pam.d/password-auth 文件中配置 pam_tally2.so 模块,以限制用户登录尝试次数,并设置解锁时间。
配置步骤
编辑 /etc/pam.d/system-auth 文件,在文件首行添加以下内容:
auth required pam_tally2.so deny=4 unlock_time=300 even_deny_root root_unlock_time=60
编辑 /etc/pam.d/password-auth 文件,在文件首行添加以下内容:
auth required pam_tally2.so deny=4 unlock_time=300 even_deny_root root_unlock_time=60

1.2只针对SSH远程登录限制

目标
仅在SSH远程登录时使用 pam_tally2.so 模块限制用户登录尝试次数,并设置解锁时间。
配置步骤
编辑 /etc/pam.d/sshd 文件,在文件首行添加以下内容:
auth required pam_tally2.so deny=4 unlock_time=300 even_deny_root root_unlock_time=60
重启SSH服务以使配置生效:
systemctl restart sshd

1.3 查看和解锁用户

查看锁定用户
使用 pam_tally2 命令查看当前被锁定的用户:
pam_tally2
解锁用户
使用 pam_tally2 命令解锁指定用户:
pam_tally2 --user 用户名 --reset

Linux 登录保护:多次失败自动锁定账户

2. 使用 pam_faillock.so 模块 (Centos8)

2.1全局配置,包含本地TTY和SSH远程登录
目标
使用 pam_faillock.so 模块进一步增强登录安全,限制用户登录尝试次数,并设置解锁时间,不针对root用户。
配置步骤
编辑 /etc/pam.d/system-auth和/etc/pam.d/password-auth
文件,在 auth sufficient pam_unix.so nullok 行的上下分别添加以下内容:
auth required pam_faillock.so preauth deny=3 unlock_time=600在auth sufficient pam_unix.so nullok上下行添加分别添加内容auth [default=die] pam_faillock.so deny=3account required pam_faillock.so

Linux 登录保护:多次失败自动锁定账户

2.2只针对SSH远程登录限制

目标
仅在SSH远程登录时使用 pam_faillock.so 模块限制用户登录尝试次数,并设置解锁时间,root用户不例外。
配置步骤
编辑 /etc/pam.d/sshd 文件,在 auth 节点中添加以下内容:
auth requisite pam_faillock.so preauth even_deny_root deny=3 unlock_time=180 auth sufficient pam_unix.so try_first_pass nullok 行的上下分别添加内容:auth [default=die] pam_faillock.so authfail even_deny_root deny=3 unlock_time=180auth sufficient pam_faillock.so authsucc even_deny_root deny=3 unlock_time=180

Linux 登录保护:多次失败自动锁定账户

2.3 查看和解锁用户

查看锁定用户

使用 pam_faillock 命令查看当前被锁定的用户:

faillock

Linux 登录保护:多次失败自动锁定账户

解锁用户

使用 faillock 命令解锁指定用户:

faillock --user 用户名 --reset
注意事项
请确保在配置过程中仔细检查每一行配置,以避免语法错误或配置冲突。配置完成后,建议进行测试以验证配置是否按预期工作。

附加说明

deny: 设置允许失败登录的最大次数。
unlock_time: 设置用户在被锁定后自动解锁的时间(秒)。
even_deny_root: 即使是root用户也受限制。
root_unlock_time: 设置root用户在被锁定后自动解锁的时间(秒)。
preauth: 在认证之前进行预认证。
authfail: 在认证失败时记录失败。
authsucc: 在认证成功时记录成功。

原文始发于微信公众号(网络个人修炼):Linux 登录保护:多次失败自动锁定账户

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月18日22:25:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux 登录保护:多次失败自动锁定账户https://cn-sec.com/archives/3285538.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息