麒麟最新操作系统登录锁定配置
今天配置最新的麒麟系统等保二级主机安全基线,按照之前的经验
限制连续失败登录
在 /etc/pam.d/system-auth 和 /etc/pam.d/sshd 中配置登录失败锁定策略,普通用户和root用户连续失败3次后锁定5分钟:
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300
配置完成后,系统无法正常登录,检查/etc/var/log/secure日志,发现如下报错,提示找不到/pam_tally2.so
Nov 10 18:33:01 localhost crond[52941]: PAM unable to dlopen(/usr/lib64/security/pam_tally2.so): /usr/lib64/security/pam_tally2.so: 无法打开共享对象文件: 没有那个文件或目录
Nov 10 18:33:01 localhost crond[52941]: PAM adding faulty module: /usr/lib64/security/pam_tally2.so
后面发现这个模块已经被更加高级的pam_faillock.so取代了,如下是它的配置方法:
pam_faillock.so 是 PAM (Pluggable Authentication Modules) 中的一个模块,它用于管理失败的登录尝试。通过这个模块,你可以限制用户在一定时间内尝试登录的次数,超过限制后,用户将被锁定一段时间,或者完全锁定直到管理员手动解锁。
配置 pam_faillock.so
pam_faillock.so 的配置通常在 /etc/security/faillock.conf 文件中进行,或者你可以在 PAM 配置文件中直接指定参数。
- 编辑 faillock.conf
打开 /etc/security/faillock.conf 文件:
sudo nano /etc/security/faillock.conf
- 配置参数
以下是一些常用的配置参数:
deny: 用户被锁定的时间(分钟)。例如,deny = 5 表示用户在失败登录5次后将被锁定5分钟。
unlock_time: 用户锁定状态的持续时间(分钟)。例如,unlock_time = 300 表示用户在被锁定后需要等待300分钟才能再次尝试登录。
fail_interval: 在这段时间内,失败的登录尝试会计入计数。例如,fail_interval = 900 表示在900秒内所有的失败尝试都会被计算。
maxfail: 在 fail_interval 内允许的最大失败次数。例如,maxfail = 3 表示用户在900秒内最多可以失败登录3次。
示例配置:
#锁定5分钟后解锁,锁定持续时间为1小时
deny = 300
unlock_time = 60
fail_interval = 900
maxfail = 3
- 应用更改并测试
保存并关闭文件后,你需要重启相关服务或重新启动系统来使更改生效。通常,PAM 的更改不需要重启系统,但为了确保配置被正确应用,你可以尝试重新登录几次来测试配置。
4. 在 PAM 配置文件中指定参数
你也可以在 PAM 的配置文件中直接指定 pam_faillock.so 的参数。例如,在 /etc/pam.d/sshd 中,你可以这样配置:
auth required pam_faillock.so authfail deny=3 unlock_time=60 fail_interval=900
account required pam_faillock.so
注意
在编辑任何 PAM 文件之前,请确保备份原始文件。
对于不同的服务(如 SSH、sudo 等),PAM 配置文件可能位于不同的目录中(例如 /etc/pam.d/)。
使用 authfail 选项可以确保当认证失败时立即锁定用户。如果没有这个选项,用户在达到最大失败次数后才会被锁定。
通过上述步骤,你可以根据需要配置 pam_faillock.so 来增强系统的安全性
