我需要使用Google账号认证而不是Spring认证来避免Firesheep cookie-sniffing攻击吗?

3
我正在阅读有关Firesheep的内容,并想知道如何保护我的Spring MVC 3.0网站免受此类攻击:

网站通常通过加密初始登录来保护您的密码,但令人惊讶的是,网站很少加密其他所有内容。这使得cookie(和用户)容易受到攻击。HTTP会话劫持(有时称为“sidejacking”)是指攻击者获取用户的cookie,从而允许他们在特定网站上做任何用户可以做的事情。在开放的无线网络上,cookie基本上是通过空气传播的,因此这些攻击非常容易。

在Spring MVC中是否有特定的配置设置可以帮助防止此类攻击?

根据文章所述:

解决此问题的唯一有效方法是全面端到端的加密,在Web上称为HTTPS或SSL。

我有一个在Google App Engine上运行的Spring网站。这是否意味着如果我想避免这种攻击,我需要使用Google帐户身份验证而不是Spring提供的内置身份验证?


1
答案是HTTPS(如何通过网络传输数据),而不是在服务器端读取该数据的哪些代码(Spring或Google的)。 - matt b
2个回答

3
整个firesheep的关键在于认证机制不是唯一的问题。大多数系统通过HTTPS保护认证步骤,但并未保护与用户的后续交互。无论使用哪种认证机制,您都应确保涉及已登录用户的所有交互都在HTTPS上进行。这在App Engine中是可能的,但前提是您必须使用您的应用程序的appspot域(myapp.appspot.com)来提供服务。

1
例如,Facebook(易受攻击的网站之一)通过HTTPS提供其登录页面,但用户登录后,Facebook会切换到未加密的HTTP。 Firesheep无法从使用HTTPS的连接中嗅探Cookie;通过不加密的连接发送Cookie使攻击成为可能。不幸的是,许多其他网站也受到影响。为了保护您的用户,您根本不应使用不加密的HTTP。 - PleaseStand
1
@idealmachine 我想澄清一下:您不应在任何可能发送登录 cookie 的域/路径上使用未加密的 HTTP。对于不需要登录的内容/页面,使用HTTP是完全可以的 - 而且很多网站都有为提供静态内容而设立的单独域名的很好的理由。 - Nick Johnson

1

您需要与Web服务器建立HTTPS握手,不确定如何在Google App Engine上完成,但显然是可能的。这里提供了一些更多的信息。请参考。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接