身份认证
2020-05-09 本文已影响0人
小浪崇礼
身份认证
身份认证通用的准则
1.不是敏感账户作为外部业务的身份认证
2.外部账户不能跟内部类似AD账户通用
身份认证使用高强度密码
用户密码恢复机制(忘记密码功能)
以安全的方式存储密码
使用安全的功能对用户输入的密码和后台存储的密码进行比对
通过加密的方式传输密码
要求重新认证一次才能获取敏感功能的权限,必须查看账户余额,支付等场景
登录的过程中不管是账户或密码错误都必须以同样的方式回应客户端错误信息
找回密码的过程中直接响应客户端如果电子邮件账户存在我们的数据库中,将会向您的电子邮件发送重置密码
创建账户的过程中响应客户端已经将激活的链接发送您的电子邮件
可能存在的攻击风险
1.针对单个账户使用密码字典进行暴力破解
2.以撞库方式,通过其他网站的账户和密码来猜测本网站的账号和密码是否正确
3.密码喷涂,针对大量不同的账户去测试一个若口令密码
4.多重身份验证,到目前位置,直接推荐使用多因素身份认证MFA,此功能可以抵御大部分跟密码相关的攻击
5.账户锁定 --> 锁定之前需要几个判断依据:
- 账户被锁定之前失败登录的次数(阈值)
- 发送失败登录次数所在的时间段(判断窗口,一般会设置下班时间,或者深夜时间,或者异地登录等)
- 账户被锁定的时间(账户持续的时间窗口判断,这里如果用户多次触发,那么就要将账户锁定的时间拉长,或者直接拉黑等)
需要使用有效的验证码去缓解,不能有验证码绕过的现象
记录和监控
- 业务自身开发登录成功和失败的功能审计日志并发送至态势感知平台用作记录和监控
- 使用专业WAF功能监控关键登录url,基于时间,来源IP,频率进行记录和监控
使用不需要密码的协议
- OAuth
- OpenId
- SAML
- FIDO