使用 VNC 无法正常登录云服务器,在输入登录密码前就出现报错信息“Account locked due to failed logins”
可能原因
使用 VNC 登录会调用 /etc/pam.d/1ogin pam模块进行校验,而在login 配置文件中具备 pam ta1ly2.so模块的认证,pam_ta1ly2.so模块的功能是设置 Linux 用户连续 N 次输入错误密码进行登录时,自动锁定X分钟或永久锁定。其中,永久锁定需进行手工解锁,否则将一直锁定。
如果登录失败超过配置的尝试次数,登录账户就会被锁定一段时间,且暴力破解也有可能导致账户被锁定从而无法登录。
下图为 已配置的登录可尝试次数:
pam_ta1ly2 模块参数说明见下表:
进入 login 配置文件,临时注释 pam 1imits.so 模块配置,核实账户锁定的原因,并加固安全策略。
故障处理:
1、尝试使用 SSH 登录云服务器:
登录成功,则执行下一步;
登录失败,则需使用单用户模式。
登录成功后,执行以下命令查看日志信息。
此文件一般用来记录安全相关的信息,其中大部分记录为用户登录云服务器的相关日志。如下图所示,可从信息中获取有 pam_tally2
的报错信息。
3、依次执行以下命令,进入 /etc/pam.d
目录后,搜索日志中报错 pam 模块的关键字 pam_tally2
。
cd /etc/pam.d
find . | xargs grep -ri "pam_tally2" -l
返回类似如下图所示信息,则表示 login
文件中配置了该参数。
4、执行以下命令,临时注释 pam_tally2.so
模块配置。配置完成后,即可恢复登录。
sed -i "s/.*pam_tally.*/#&/" /etc/pam.d/login
5、核实账户锁定是由人为误操作还是暴力破解引起。若是由暴力破解引起,建议选择以下方案加固安全策略:
修改云服务器密码,密码设置为由大写、小写、特殊字符、数字组成的12 - 16位的复杂随机密码。
删除云服务器中已不再使用的用户。
将 sshd 的默认22端口改为1024 - 65525间的其他非常用端口。
管理云服务器已关联安全组中的规则,只需放通业务和协议所需端口,不建议放通所有协议及端口。
不建议向公网开放核心应用服务端口访问。例如,mysql 及 redis 等。您可将相关端口修改为本地访问或禁止外网访问。