银河麒麟V10桌面(020)系统安全加固-账户登录失败锁定

一、账户登录失败锁定

1. 加固说明

为防止遭受恶意暴力破解,设置账户登录尝试次数并进行锁定,有效保护账户的安全。

2. 加固准备

/etc/pam.d/common-auth文件是Linux系统中PAM(Pluggable Authentication Modules,可插拔认证模块)认证系统的一个重要配置文件。该文件主要用于定义系统中应用程序或服务的身份验证配置,因此账户锁定策略可以通过修改此配置文件实现。配置文件中包含了多个模块及其参数,这些模块和参数共同决定了系统如何验证用户的身份。以下是一些常见的模块及其参数解读:

  • pam_unix.so模块
pam_unix.so是PAM中最常用的模块之一,它用于基于本地/etc/passwd和/etc/shadow文件的身份验证。
	常用参数:
	nullok:允许空密码。
	nullok_secure:则禁止通过远程登录的方式进行无密码登录,但可以在本地无密码登录。
    try_first_pass:尝试使用先前模块(如pam_unix.so用于密码更改时)提供的密码,而不是提示用户输入新密码。
    use_first_pass:类似于try_first_pass,但如果先前模块没有提供密码,则不会提示	用户。
	unlock_time:这个参数指定了账号被锁定后的恢复时间,即账号锁定的时长。当账号被锁定后,用户需要等待这个时长过后才能再次尝试登录。这个参数的值通常以秒为单位,例如unlock_time=600表示账号锁定时间为10分钟。
	root_unlock_time:仅针对root用户单独设置的解锁时间。
	pwquality:检查新密码是否符合管理员定义的策略要求。如果密码不符合要求,系统将拒绝接受该密码,并可能向用户提供有关密码策略的反馈。
  • pam_deny.so模块
pam_deny.so模块总是拒绝身份验证请求。它通常用于测试或禁用某个服务。
	常用参数:
    无特殊参数,通常仅用于拒绝所有身份验证请求。
  • pam_permit.so模块
pam_permit.so模块总是允许身份验证请求。与pam_deny.so相反,它通常用于测试目的。
	常用参数:
    无特殊参数,通常仅用于允许所有身份验证请求。
  • pam_cracklib.so模块
pam_cracklib.so用于检查新密码的复杂度。此模块在V10系统中已被pam_pwquality.so替代,并且/etc/security/pwquality.conf配置文件的优先级高于/etc/pam.d/common-auth。
	常用参数:
    minlen:密码的最小长度。
    dcredit:要求密码中包含的小写字母的最小数量。
    ucredit:要求密码中包含的大写字母的最小数量。
    lcredit:要求密码中包含的数字的最小数量。
    ocredit:要求密码中包含的其他字符(如特殊符号)的最小数量。
  • pam_faillock.so模块
pam_faillock.so模块通过配置文件中指定的参数来控制账号锁定的行为。
	常用参数:
	deny:这个参数用于指定锁定账号的失败次数阈值。当用户的连续认证失败次数达到这个阈值时,账号将被锁定。例如,deny=3表示当用户连续3次输入错误的密码后,账号将被锁定。
	unlock_time:这个参数指定了账号被锁定后的恢复时间,即账号锁定的时长。当账号被锁定后,用户需要等待这个时长过后才能再次尝试登录。这个参数的值通常以秒为单位,例如unlock_time=600表示账号锁定时间为10分钟。
	fail_interval:这个参数用于指定两个认证失败事件之间的最小间隔时间。在此间隔时间内,认证失败次数不会被计数。这有助于防止因为短时间内多次尝试登录而导致的账号被误锁。例如,fail_interval=900表示两次认证失败事件之间的最小间隔为15分钟。
	fail_delay:这个参数指定了认证失败后的延迟时间。在认证失败后,系统会等待这个时长后再进行下一次认证尝试。这有助于防止暴力破解攻击。
	even_deny_root:root 账户登录达到失败次数也会锁定。
	audit:用于控制是否将认证失败的事件记录到系统审计日志中,以便后续分析和审计。
  • 控制标志
在/etc/pam.d/common-auth文件中,除了模块和参数外,还有一些控制标志,它们决定了身份验证的流程。
	常用模块:
    required:该模块必须成功,否则整个认证流程将失败,但其他后续模块仍会尝试。
    requisite:类似于required,但如果该模块失败,整个认证流程将立即失败,不会尝试其他后续模块。
    sufficient:如果该模块成功,则整个认证流程成功,不会尝试其他后续模块。
    optional:该模块是可选的,其成功或失败不会影响整个认证流程。

3. 加固建议

编辑/etc/pam.d/common-auth文件,使用pam_faillock.so模块配置相应参数实现账户登录失败锁定。
	在V10桌面系统中默认的账户登录失败锁定参数如下(连续错误三次锁定60秒):
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass deny=3 unlock_time=60  root_unlock_time=60  pwquality
	以连续失败5次、普通用户锁定时间为180秒、root锁定时间为60秒为例,可以按照如下参数修改:
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass deny=5 unlock_time=180  root_unlock_time=60  pwquality

4. 操作示范

编辑配置文件:sudo vim /etc/pam.d/common-auth

在这里插入图片描述
默认参数配置:
在这里插入图片描述
修改后参数配置:
在这里插入图片描述

5. 配置验证

test用户锁定验证:
在这里插入图片描述

图形化登录界面显示剩余锁定时间:
在这里插入图片描述
注意:此时图形界面不接受输入密码,如果字符终端再继续输入错误的密码,会重新锁定3分钟。

解锁后字符终端切换test用户,登录成功:su - test

在这里插入图片描述
解锁后图形化登录成功:
在这里插入图片描述
root用户锁定验证:
在这里插入图片描述

解锁后字符终端切换root用户,登录成功:su - root

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值