我处于开发自己想要尽可能安全的Web应用程序的计划阶段。从技术角度来看,我很清楚如何做到这一点,但是有一个巨大的潜在安全漏洞:我希望该网站拥有用户。

正如任何曾经是用户知道的人一样,用户会忘记用户名,忘记密码,有时忘记他们甚至对您的网站有一个帐户。用户响应网络钓鱼电子邮件并赠送其证书。如果您做任何他们发现太复杂的事情,他们不会使用您的网站,它必须很简单,并且在尽可能少的点击中都会发生,但是我们必须通过使用户意外地使其难以平衡。放弃他们的证书,并尽可能安全地访问服务。

我特别感兴趣的是,这些策略超出了标准用户名和密码组合以及恢复或重置密码的方式,这些密码使用户变得容易,但对于任何试图窃取其帐户的人来说都很难。我知道很多网站都提供了一个额外的用户设定的安全问题,但是因为我不信任用户不创建一个愚蠢的问题,例如“什么是1+1”,所以我看不到这是如何保证安全性的。

是否有策略可以适用于最无知的用户,但对旨在闯入其帐户的坚定而有针对性的攻击挑战?如果不是,我们可以得到的最接近的东西是什么?作为用户,您遇到的最佳/最差网站是什么?为什么?

有帮助吗?

解决方案

我知道建立一个真正安全的网站的唯一方法是需要密码并有挑战/响应设备。

例如,treasuryDirect.gov向您发送带有随机字符网格的卡。作为登录过程的一部分,要求您提供包含在网格特定单元格中的字符。但这是昂贵且耗时的;它需要获取卡,跟踪它们并将其发送出去。另外,如果一个人丢失了卡,则在您获得新卡之前,他们无法登录。如果您可以管理数百万美元的国库,这是值得的。只有您才能确定您的网站是否值得。

另一个选择是添加验证图片,就像许多银行一样。我相信此选项只能帮助阻止一些网络钓鱼攻击,因此,如果您认为网络钓鱼是一个问题,那么这可能是一种选择。

我相信其他替代方案,包括大多数银行使用的东西,似乎是安全的,但并非如此。例如,我认为妥协站点比它们的帮助更多。 其他人也认为这也是如此.

另一件事是鼓励用户使用“密码”而不是密码作为 杰夫·阿特伍德(Jeff Atwood)推荐. 。亚马逊也以他们的新付款方式采取了这种方法。

其他提示

我认为您不应该重新发明轮子。大多数网站都有一个用于遗忘密码的解决方案,这是向用户的电子邮件帐户发送链接。计划进行干扰的唯一方法是,如果电子邮件帐户已被妥协。

显然,您网站上的用户数据越重要,您应该采取的安全措施越多,但是这些额外的安全措施会影响您网站的可用性。您网站上的数据有多关键?您是否应该像E-Banks这样的2或3个身份验证系统?

最重要的方面是“不要信任用户输入”。如果这样做,大多数安全问题将不存在,并且不会对可用性产生影响。如果您想成为偏执狂,请继续建立一个精美的安全系统,但不要忘记它可能会影响用户使用您的网站的方式(最糟糕的情况)。您必须在这两件事之间找到平衡。

对OP:使用标准方法在网站上使用安全性。不可避免地会有白痴用户会淹死并离开您的安全网站,但这就是野兽的本质。您需要安全性,必须牺牲一些灵活性(再次,从用户友好的角度来看,有关安全性的已知实践。)

此外,当用户走开时,通常是出于安全性(糟糕的网络设计,令人困惑的导航,性能差,不可靠等)以外的事物,而令人震惊的安全性通常是架构差的结果,而不是安全本身的结果。记在脑子里。

我对“可用但安全”的阵线的唯一建议是设置问题,但是用户输入的答案(例如,值得注意的地方,第一个宠物的名字,值得注意的日期)。尽管这些不是单独的水密,但使它们回答了两个或三个特定问题的组合应该足够好。

而且,不要忘记验证码单词或类似于减速或识别蛮力的类似。

您也可以使用 OpenIDOauth 而不是让用户创建新帐户

除非您了解安全处理身份验证和会话时的所有优势案例,否则请不要自己实施。

破裂的身份验证和会话管理 是十大OWAPS安全问题之一,这是有原因的。 “正确正确”是如此复杂,您必须成为网络安全专家。

如果可能,请使用第三方验证系统。例如,使用Google帐户。让他们担心所有这些东西。

根据您的评论

我不信任用户不要创建一个诸如“什么是1+1”之类的愚蠢问题,我看不出这是如何保证安全性的。

您不需要保证安全 - 实际上,有这样的问题应该不是问题。让用户设置所需的提示。

现在,对于Emanking来说,有一个多汁的目标,可以赚钱,因此,如果您在同一空间中,您可以查看一些银行在反钓鱼空间中非常成功的事情 - Antiphishing.org 有一些有用的信息,然后是诸如此类的应用程序 Truster的融洽关系 通常以智能卡的形式提供围绕连接的进一步安全性,并为更高的价值区域提供2个因子AUTH。

针对各种不同风险和可用性水平的解决方案众所周知,因此您可能会发现重复使用现有概念比重新开发更简单 - 可用性测试的成本可能很高!

许可以下: CC-BY-SA归因
scroll top