如何检测有效密码的滥用情况

时间:2011-03-09 19:07:33

标签: asp.net authentication security

我开始建立一个项目,我觉得安全需要离家更近一点。我可以查看哪些工具和技术可以在使用有效登录时尝试发出警报,但是登录的所有者已经将其丢弃或者被盗。我更喜欢ASP.NET,然后是MVC 3,面向东西。

5 个答案:

答案 0 :(得分:1)

好像你会得到很多误报......但你可能会尝试检查登录来自哪个IP地址。大多数人大多数时间都会从同一个IP地址登录,所以当这种情况发生变化时,至少会出现警告信号。如果您希望对安全性非常严格,可以维护白名单(针对每个帐户)并要求他们在登录前将其IP地址添加到白名单中。

答案 1 :(得分:1)

这不是灵丹妙药,但也许您应该考虑采用某种双因素身份验证。例如:当用户与您创建帐户时,您需要向她提供电话号码,以便在注册过程中接收短信。然后,当她尝试登录时,您会向她发送一个临时身份验证代码,以便与她的用户名和密码结合使用。

此广告为系统增加了额外的安全保障,因为攻击者必须知道她的用户名和密码才能对她的手机进行物理访问,以便破坏她的帐户。

我希望这有用。

答案 2 :(得分:1)

我的银行(Chase)通过在我的用户名/密码登录期间检查安全cookie来完成此操作。如果cookie丢失或损坏,则需要第二种身份验证形式,即通过文本发送到我的电话号码或通过电子邮件发送到我的电子邮件地址的代码。第二种形式的身份验证完成后,他们会设置安全cookie,然后我只能使用用户名和密码从该浏览器登录。

答案 3 :(得分:0)

实施您自己的会员提供商并添加锁定到模型的字段, 检查用户是否在登录时被锁定并执行某些操作

答案 4 :(得分:0)

考虑身份验证过程的因素可能会有用,这样您就可以确定自己已经充分覆盖了事情。你可以很容易地对保证层进行荒谬的讨论,但我碰巧发现大多数银行现在都有一个简单模型的变体。当然,所有这些都是通过SSL

  1. 用户提交帐户名称。此外,您可以要求提供次要信息,即帐号的最后4个或出生日期的年份。
  2. 可选,但是一个好主意:向用户显示一个计数器符号,即验证服务器身份的东西。用户在注册时选择此项,并且每次尝试登录时都应该查找此项。这有助于防止网络钓鱼。
  3. 系统检查使用IP查找或cookie的当前系统是否与该帐户相关联。如果没有,提出挑战问题和密码输入。否则,只显示密码输入。
  4. 复杂,但实际上可以在2页内完成,比通常需要的更安全。

    我已将此工作流程提供给少数银行客户,他们通常会删除一两项检查以确保用户友好性。

    对于具有文字功能的手机如此普遍,其他人提到的短信验证码的想法也是一个好主意,尽管我尚未在系统中实现此功能。