登录页面的最佳做法?

时间:2008-10-28 16:24:50

标签: security login usability shibboleth

我正在使用Shibboleth进行单点登录登录页面,该页面将用于各种Web应用程序。显然,我们希望在限制网络钓鱼诈骗的影响的同时使这个页面尽可能安全可用。

设计登录页面时要记住哪些最佳做法?

围绕这个问题提出了一些问题:

  • 登录页面在每个显示器上总是看起来一样重要吗?
  • 相反,登录页面是否有利于随机设计?
  • 登录页面看起来与所有其他页面相同还是应该有自己独特的设计?
  • 如果登录页面有自己独特的设计,是否应该包含网站设计中的其他常量元素(例如全局导航)?
  • 登录页面是否为用户提供其他内容(例如最新新闻)的适当位置?
  • 是否还应包含任何其他安全功能以帮助确保人员安全?

12 个答案:

答案 0 :(得分:21)

可用性说明:

当网站在密码字段和登录按钮之间放置“忘记密码”或“忘记用户名”或“帮助”链接时,我个人讨厌。作为键盘用户,我不应该通过TAB来获取提交按钮。

更好的是,还可以在密码字段中捕获Enter键,以便我可以使用Enter键自动提交。

答案 1 :(得分:7)

在您的登录页面中保持相同的设计,如果设计随机变化,用户可能会认为该网站已被移动,或者他们正在成为受害者,请告知您的用户他们尝试登录您的网页。所以我建议保留与内容页面相同的指南

答案 2 :(得分:6)

无论你设计什么,网络钓鱼者都能模仿它。完全防止网络钓鱼是一个难题。在登录之前,您必须有一些方法来识别用户。有些银行现在会这样做。您输入您的姓名,然后他们会显示您自己选择的图像,然后,一旦您确定它是相同的图像,您输入您的密码。这可能比您的网站所需的复杂程度更高。

在技术方面,Bank Of America通过使用名为PassMark的Flash本地共享对象来实现此目的。您的浏览器会静默地将此数据发送回银行。如果您删除了LSO,那么您将无法看到您的图像,因为美国银行无法识别您的身份。即便如此,这仍然容易受到中间人攻击。

答案 3 :(得分:5)

在我去的很多应用程序中仍然看到的另一个“没有”的事情,如果指定的凭据无效,则不指示哪一个无效。只需说出“无效的用户/密码组合”而不是“无效密码”,这将阻止社交工程人员了解访问您网站的用户群。

答案 4 :(得分:4)

Smashing Magazine对登录表单进行了全面的总结。 Web Form Design Patterns: Sign-Up Forms

答案 5 :(得分:3)

include application level dos prevention

对登录失败不具体。通用“登录失败”而不是“未知用户名”。

使用验证码或其他图灵测试。

答案 6 :(得分:3)

看起来很简单,但如果应用需要,请使用HTTPS。哎呀,即使它不能保证它,因为人们倾向于重复使用相同的密码。这些天你可以获得廉价的SSL证书。如果他们从您的网站提取密码,他们可以在其他地方尝试。甚至许多银行也没有安全线路上的登录页面。它发布到HTTPS页面,但在中间类型攻击中仍然没有人保护。

我同意Omniwombat。网络钓鱼是一个难以解决的难题,似乎无法彻底解决。

答案 7 :(得分:2)

像用户和保安一样思考:如果你每次登录时都让他们做验证码,那么他们就会厌倦了。

如果您正在尝试阻止拒绝服务,那么可能只有在特定时间段内有足够的(失败的?)登录尝试后才会显示验证码。

考虑使用NTLM,OpenID或Shibboleth为大多数用户尽可能自动登录。

不要让人们去单独的页面进行注册。据推测,您将拥有用户名和密码字段以及登录/提交按钮。只需添加“注册为新用户”按钮,以便新用户可以使用现有的用户名/密码字段。如果您需要为新用户收集其他详细信息,请弹出一个表单(使用DHTML,而不是弹出窗口)来收集它们。

答案 8 :(得分:1)

有用的提示: 您可以通过在密码字段中添加autocomplete =“off”来禁用客户端密码保存。

这不适用于所有浏览器(如果我记得的话,IE 6+和Firefox 3 +)

答案 9 :(得分:1)

到目前为止,我试图阻止网络钓鱼的最佳方法是银行的登录界面。登录分为3部分,首先用户输入他们的帐号(借记卡号,信用卡号......),第二步将随机列出用户指定的3个问题中的1个(例如:你参加了什么高中)对于10年级,最后一部分,如果前两个成功,则显示用户在注册时指定的图像和一些文本,密码字段如下。

答案 10 :(得分:0)

意识到您的用户通常会在该页面上花费10秒钟,只要显而易见的是放置您的用户ID和密码,它看起来并不重要。除此之外,如果我忘了它,就不要成为那些提供给我发送密码的网站之一。至少让我相信它隐藏在一个很好的盐渍哈希中,在那里你永远无法找回它。

答案 11 :(得分:0)

@Joe Lencioni,以及其他对Shibboleth感兴趣的人

您的网站页面应该在每个页面上具有完全相同的外观。

关于Shibboleth和SSO。请务必注意您的组织与哪个角色相关联。您是身份提供商 - IdP(对用户进行身份验证然后将响应发送给SP),还是服务提供商SP(谁将根据IdP发送的响应和属性授予身份验证。

如果您是SP,您可以将您的用户链接到IdP,以便他们登录。许多SP创建自己的WAYF(Where Are You From)页面,将用户重定向到IdP的登录页面。

如果您是IdP,您应该拥有一个看起来很熟悉的登录页面,以便他们可以登录,然后重定向到SP,并使用SP授予适当访问权限所需的属性。

对于网络钓鱼诈骗,保持Shibboleth元数据最新是很重要的。我相信很多联盟建议每隔(1)小时下载元数据。

这里可以回答许多Shibboleth问题:https://spaces.internet2.edu/display/SHIB2/Home

希望这可以帮助你。