我开始规划一个项目,我觉得安全需要离家近一点。当使用有效的登录名时,我可以使用哪些工具和技术来尝试发出警报,但登录名的所有者已将其泄露或已被盗用。我更喜欢ASP.NET,然后是MVC 3,面向东西。如何检测滥用有效密码
回答
这不是一颗银色的子弹,但也许你应该考虑采用某种双因素身份验证。例如:当用户与您建立账户时,您需要她提供一个电话号码,以便她可以在注册过程中接收短信。然后,当她尝试登录时,将向她发送一个临时验证码,以便与她的用户名和密码结合使用。
此广告为系统增加了额外的安全层,因为攻击者必须知道她的用户名和密码和对她的手机有实际访问权限才能破坏她的帐户。
我希望这很有帮助。
似乎你会得到很多误报...但是你可能会尝试检查登录是从哪个IP地址来的。大多数人大部分时间都会从同一个IP地址登录,所以当这种变化发生时,这至少是一个警告信号。如果您想对安全性要求非常严格,则可以维护白名单(针对每个帐户),并要求他们在登录之前将其IP地址添加到白名单。
我的银行(Chase)通过在我的用户名/密码登录期间检查安全cookie来完成此操作。如果cookie丢失或损坏,他们需要第二种形式的身份验证,这是通过文本发送到我的电话号码上的代码,或通过电子邮件发送到我的电子邮件地址。一旦第二种认证形式完成,他们就设置了安全cookie,然后我只能用该用户名和密码从该浏览器登录。
我的银行实际上也是这样做的,他们向您发送他们需要登录的号码。 – ProfK 2011-03-09 19:36:29
考虑身份验证过程的因素可能很有用,以便您确定自己足够覆盖事物。你可以很容易地得到保证层的荒谬,但我碰巧发现,大多数银行现在有一个简单模型的变体。所有这些当然都是通过SSL
- 用户提交帐户名称。此外,您可以要求提供次要信息,最后4个账号或年份的部分出生日期。
- 可选,但一个好主意:向用户显示一个计数器符号,这是验证服务器身份的一种方式。用户在注册时选择此选项,每次尝试登录时都应该查找此内容。这有助于防止网上诱骗。
- 系统检查当前使用IP查找或cookie的系统是否与该帐户相关联。如果不是,则随密码输入一起提出质询问题。否则,只显示密码输入。
复杂,但实际上可以在2页内完成,并且比通常需要的更安全。
我已将此工作流程呈现给少数银行客户,他们通常会移除一个或两个检查以获得用户友好平衡。
随着手机的文字功能如此普遍,其他人提到的短信验证码的想法也是一个不错的主意,尽管我个人尚未在系统中实现这一点。
- 1. 如何使用Twitter API检查用户/密码是否有效?
- 2. ziparchive密码检测
- 3. 如何有效检测用户城市?
- 4. 密码检测器如何工作?
- 5. 如何检测哈希密码长度?
- 6. 检测硬编码密码
- 7. 检查密码有效性(Django/Python)
- 8. 检查密码和登录有效性
- 9. 如何检测用户是否启用了密码或PIN码?
- 10. 如何检查WiFi网络密码的有效性
- 11. 如何检查WebSecurity'密码重置令牌ID'的有效性?
- 12. 如何检查密码是否有效? ASP.NET MVC Membership
- 13. 防止滥用libspotify密钥
- 14. 检测到弱密码
- 15. 如何检测链接是否有效?
- 16. 如何检测有效的URL?
- 17. 如何有效地检测条码目标的图像
- 18. 如何使用PasswordHash和SecurityStamp检查用户名和密码是否有效?
- 19. 如何检测ssh密钥是否受密码保护?
- 20. Python的有效性检验测试Python代码是有效的
- 21. 如何有效测试此代码?
- 22. 如何检查有效用户的密码与活动目录匹配
- 23. 如何检测用户的密码是否已过期
- 24. 检查用户的密码是否有效plsql
- 25. 检查密码有效使用正则表达式在JavaScript
- 26. 检查有效的密码是足够用DevicePolicyManager被撞坏
- 27. 是否有任何C++工具检测到static_cast,dynamic_cast和reinterpret_cast的滥用?
- 28. 如何有效检查促销代码是否有效?
- 29. 如何检查用户名和密码
- 30. 如何检查用户名和密码?
尼斯技术,但在SA中,大量的人在公共网络上使用间歇性的3G连接,所以我将其视为IP地址重置频率很高的标志。 – ProfK 2011-03-09 19:43:44
有时您仍然可以通过使用IP范围而不是特定IP地址来获得正确的效果。 – Brilliand 2011-03-10 17:47:06