12.1 用户密码安全策略
密码是用户登录非常重要的验证凭证,特别是管理员账号的密码安全更加敏感,按理来说账户出现异常是不能把责任全推给用户的,应用程序应该在设计的时候就考虑到密码安全策略。针对密码安全,笔者曾经在AWDC(阿里云开发者大会)上做过分享,笔者从互联网收集到大量泄露的网站用户数据库,对这些密码进行了分析,其中密码加密情况如图12-1所示。
图 12-1
从分析中得到,泄露的密码中有接近30%为明文密码,剩余70%多基本为简单的MD5加密,而通常普通用户密码强度普遍不高,据笔者统计使用率最高的几个密码如图12-2所示。
图 12-2
所以一旦某一家网站数据库泄露,MD5加密很容易被破解,会导致该账户多个网站的账户都被登录,泄露更多个人信息。
为了解决密码安全问题,单从密码策略上面来说,我们应该遵守以下原则:
1)强制密码使用8位以上的“大小写字母+数字+特殊字符”的组合。
2)禁止使用123456以及1qaz2wsx等弱口令。
3)禁止用户名和密码相同,或者存在较大相似度。