通用的账户密码 (通用密码包含:操作系统、web应用、数据库等)在技术条件满足时,账户/密码认证建议满足如下规则:
一、 账户与密码配置策略
密码应该长度不少于10位;
建议不要使用有一定特征和规律容易被破解的常用口令的密码(如:在常用彩虹表中的密码、滚键盘密码如:!QAZxsw2,qazxsw,1qaz@WSX,1q2w3e,123456789,password等),且密码复杂度至少包含大写字母、小写字符、数字、特殊字符四类中的三种;
密码尽量不要包含账户如:adminstrator/administrator,test/test,root/root,oracle/oracle,mysql/mysql;
建议至少每90天更改一次密码,若账户已经处于失效状态,则不要求修改;
建议不要重复使用最近5次(含5次)内已使用的密码;
建议根据不同应用设置不同的帐号密码,不建议多个应用使用同一套账户/密码;
帐号管理人员初次发放或者初始化密码给用户时,如果知道密码内容,建议强制用户首次使用修改密码,不能强制用户修改密码的则为密码设置过期期限(用户必须及时更改密码,否则密码应被强制失效);
建议为所有账户配置设置连续认证失败次数超过5次(不含5次),锁定账号策略和30分钟自动解除锁定策略;
建议对所有账户设置不活动时间超过10分钟自动退出或锁定策略;
新建系统中的帐号缺省密码在首次使用前,建议强制用户更改;
建议开启账户登录记录日志功能,登录日志最少保存180天,登录日志中不能保存用户的密码。
二、 账户与密码传输策略
不建议以明文形式通过Internet、无线设备传送密码,所有账号密码认证体系在技术支持条件下,建议使用加密协议安全登录;
建议为用户建立安全的密码自助重置流程,密码重置应验证用户身份,比如邮件验证码验证、预留手机短信验证、
三、 解决步骤
1、针对第8点,您可以打开 /etc/pam.d/login在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800
2、针对第9点打开 /etc/ssh/sshd_config修改如下参数
ClientAliveInterval 600
ClientAliveCountMax 0
3、针对第10点,在新用户创建完成后,执行:chage -d 0 username 让密码过期,新用户登录时会重置密码
4、针对第11点,建议配置rsyslog服务来设置日志保存天数。
此篇文章由DurkBlue博主亲自发布,转载请注明来处哟