RHEL8/CentOS8的PAM:登录失败锁定

本文详细介绍如何在RHel8中使用pam_faillock.so模块配置密码保护,防止连续输入错误密码导致的安全风险。通过修改system-auth和password-auth文件,实现连续错误2次即禁用登录60秒的功能。

又是等保。先起个稿。

目标连续输错密码m次,限制登陆了n分钟

rhel8 已经没有 pam_tally2.so 模块了,全面使用 pam_faillock.so
涉及system-auth,password-auth

grep system-auth /etc/pam.d
grep password-auth /etc/pam.d

能看得出两个文件都是被包含在其他文件内,所以改这两个,其他程序都会生效。其中我们用得最多的sshd 则是包含了password-auth,没有包含system-auth,所以按网上只知道改system-auth则不会让ssh登录受到限制

vim /etc/pam.d/system-auth
vim /etc/pam.d/password-auth

连续错误2次,禁止登录60秒

找到两个文件 auth 段第一个 pam_unix.so
centos8.1 该行是:
auth sufficient pam_unix.so nullok try_first_pass

前面加
auth requisite pam_faillock.so preauth even_deny_root deny=2 unlock_time=60

后面加
auth [default=die] pam_faillock.so authfail even_deny_root deny=2 unlock_time=60
auth sufficient pam_faillock.so authsucc even_deny_root deny=2 unlock_time=60

写法参考了

man pam_faillock

里的例子。
原文

auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success

修改后

####### 连续错误2次,禁止登录60秒
####### 新加
auth requisite pam_faillock.so preauth even_deny_root deny=2 unlock_time=60
####### 原文
auth sufficient pam_unix.so nullok try_first_pass
####### 新加
auth [default=die] pam_faillock.so authfail even_deny_root deny=2 unlock_time=60
####### 新加
auth sufficient pam_faillock.so authsucc even_deny_root deny=2 unlock_time=60
####### 原文
auth requisite pam_succeed_if.so uid >= 1000 quiet_success

没有 preauth 或者 放 pam_unix.so 后面的话,一点效果都没
authfail 和 authsucc 放 pam_unix.so 前面的话,永远登录失败
authfail 和 authsucc 放 pam_succeed_if.so 后面的话,限制不了 root

换个说法:

preauth 要出现在第一个auth pam_unix.so 前

prefail, presucc要出现在第一个auth pam_unix.so 后,auth pam_succeed_if.so 前

这大概和 sufficient, requisite, required 有关

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值