验证在任何具有敏感或者机密信息的网站中起着关键的作用。表4-2总结了我们在本章中讨论的验证方法。
表4-2 目前讨论的Web验证机制总结
网站有着不同的要求,没有一种最佳的验证方法。但是,使用这些基本的安全设计准则,就能够阻挠本章中所描述的攻击:
·强密码策略和账户锁定策略将使大部分基于密码猜测的攻击无效。
·确保需要验证的应用的所有部分确实在验证组件的覆盖下,而且这种验证不然通过暴力法绕过。
·不要使用个人可识别信息作为凭据!它们实际上不是机密,如果你存储它们,就可能对你的业务不利。
·应该使用HTTPS保护验证事务免遭窃听和重放攻击的风险。
·输入校验对阻止网站入侵大有益处。如果正确地执行了输入校验,SQL注入、脚本注入和命令执行都可以预防。
·确保验证安全令牌如会话标识符不容易猜测,使用不容易猜测的足够大的密钥空间生成。
·不要允许用户在验证之前预设会话ID(服务器应该始终生成这些值),始终在成功验证之后发出新的会话ID。
·不要忘记加固身份管理系统如账户注册和凭据重置,因为这些系统中的弱点能够完全绕过验证的控制。