2008-10-28 95 views
18

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

在设计登录页面时要记住哪些最佳实践?

已经拿出了解决此问题的一些问题:

  • 是它的登录页面总是一样的每个显示器上重要?
  • 相反,登录页面有随机设计会有好处吗?
  • 登录页面看起来与所有其他页面一样还是应该有其独特的设计?
  • 如果登录页面有其独特的设计,它是否应该包含来自您网站设计的其他常量元素(如全局导航)?
  • 登录页面是否提供给用户额外内容(如最新消息)的适当位置?
  • 是否有任何其他安全功能应该包含在内以帮助人们保持安全?
+2

只是个人观点,并非真正的答案,但...我喜欢那些仅仅出现在页面中心的登录表单(而不是页面),并且在输入用户名和密码后,离开当前页面! – 2008-10-28 18:58:02

回答

21

可用性指出:

我个人讨厌当网站把“忘记密码”或“忘记用户名”或“帮助”链接插图中的密码字段,登录按钮。作为一个键盘用户,我不需要在他们的TAB上进入提交按钮。

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

7

在登录页面中保留相同的设计会让您知道您的用户他们正试图登录到您的网页,如果设计随机更改用户可能认为该网站已被移动,或他们是被捕的受害者。所以我会建议保持与您的内容页面相同的指导原则

5

如果指定的凭证无效,我仍然会在很多应用程序中看到另一个“不用”的事情,但不指明哪一个是无效。简单地说,像“无效的用户/密码组合”而不是“无效的密码”,这将阻止社交工程的这些人知道访问您的网站的用户群。

1

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

这并不对所有的浏览器(如果我没记错,IE 6 +和Firefox 3+)

+0

对于不让我保存密码的网站,我有一个不错的纯文本文件,其中包含我的密码。该功能是有原因的,让我决定是否使用它,不要因为可以就关闭它。 – tloach 2008-10-28 16:52:44

+1

你不想相信你的用户以明文保存他们的一些密码(同样我不相信一些公司有效地存储我的密码):) – Luk 2008-10-28 21:26:11

0

认识到你的用户一般都会在该页面上花费10秒钟的时间,只要显然在哪里放置用户ID和密码,看起来真的没什么关系。除此之外,如果我忘记密码,则不会成为那些向我发送密码的网站之一。至少让我相信它藏在一个很好的盐渍散列中,在那里你无法检索它。

6

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

在技术方面,美国银行通过使用名为PassMark的Flash本地共享对象来完成此操作。你的浏览器默默地将这些数据标识给银行。如果您删除LSO,那么您将不会显示您的图像,因为BofA无法识别您。即使这样,它仍然容易受到中间人攻击。

3

看起来像是一个不费吹灰之力,但如果应用程序需要使用HTTPS。哎呀,即使它不保证它,因为人们倾向于重复使用相同的密码。这些天你可以很便宜地获得SSL证书。如果他们从您的网站提取密码,他们可以在其他地方尝试。甚至很多银行也没有安全线路上的登录页面。它发布到HTTPS页面,但在中型攻击中仍然没有任何保护。

我同意Omniwombat。网络钓鱼是一个难以解决的难题,看似不可能完全解决。

1

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

0

@Joe伦乔尼,每个人都在Shibboleth的

你的网站的网页的兴致应该有相同的整体外观和感觉每一页上。

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

如果你是一个SP,你有任何灵活性你想要将你的用户链接到一个IdP供他们登录,许多SP创建他们自己的WAYF(你从哪里来)页面,将用户重定向到IdP的登录页面

如果你是一个国内流离失所者,你应该有一个登录页面,看起来熟悉的用户,以便他们可以登录,然后被重定向到所需要的SP给予适当的访问属性的SP。

就钓鱼诈骗而言,保持Shibboleth元数据最新至关重要。我相信许多联盟建议每(1)小时下载一次元数据。

许多Shibboleth的问题都可以在这里得到解答:https://spaces.internet2.edu/display/SHIB2/Home

希望这有助于你出去。

2

想像一个用户以及一名安全警卫:如果你让他们每次登录都要进行验证码验证,他们会感到非常厌烦。

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

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

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