什么是系统pipe理员的想法,以减轻他们pipe理的服务器的“firesheep”攻击?
Firesheep是一个新的Firefox扩展,允许任何安装它的人可以发现会议。 它是通过在networking上嗅探数据包并从已知站点查找会话cookie来实现的。 为扩展程序编写插件来侦听来自其他站点的cookie相对比较容易。
从系统/networking的angular度来看,我们已经讨论过对整个站点进行encryption的可能性,但是这会给站点索引,资产和一般性能的服务器和螺钉带来额外的负载。
我们调查的一个选项是使用我们的防火墙来执行SSL卸载,但正如我前面提到的,这将需要对所有站点进行encryption。
什么是防止这种攻击媒介的一般想法?
我已经在StackOverflow上提出了一个类似的问题,但是,看看系统工程师想到什么会很有趣。
只要会话数据在服务器和客户端之间清晰地传递,就可以在不安全的networking上进行某种劫持。 HTTP的无状态性质几乎可以确保任何拥有会话数据的人都可以伪装成服务器。
那么该怎么办? 您需要安全地将会话信息从服务器传递到客户端,而不会被窃听者拦截。 最可靠的最简单的方法是使您的网站全部HTTPS,即没有未encryption的stream量。 这很容易实现,因为您不必更改应用程序,只需要更改服务器。 缺点是它增加了服务器的负载。
如果这不是一个选项,那么你需要以某种方式混淆服务器传递给客户端的会话数据。 客户端需要一些脚本来“去混淆”会话数据,以便在下一个请求时传递回服务器。 是的,这是“通过默默无闻的安全”,每个人都知道这是行不通的。 除此之外。 只要您的网站不是一个高价值的目标,模糊会话数据将阻止这个“firesheep”的偶然用户劫持您的用户。 只有当/如果你的网站被雷达的人愿意反向工程的混淆,这种缓解技术将失败。
你为什么要encryption整个网站?
只要设置一个子域名login.yourcompany.com,encryption这个位,在cookie上设置安全标志(阻止它通过除安全通道以外的任何其他通道),并设置一个内部信任的login服务器想要做到这一点取决于你)到应用程序的其余部分。
见Ben Adida的“SessionLock Lite”的build议/代码。 毫无疑问,它不能提供防止主动攻击或窃听的保护,并且容易受到短暂的攻击。 但是,当您devise一个真正的SSL解决scheme时,它可能会有所帮助: http : //benlog.com/articles/2010/10/25/keep-your-hands-off-my-session-cookies/
凭证应始终encryption,永不传入。 这有什么难的?
从本地pipe理angular度来看:
为了使firesheep能够在有线networking上运行,攻击者必须在交换机基础设施上执行ARP中毒。 来往其他计算机的stream量不会到达攻击者PC,除非他们首先利用networking。
从服务提供商的angular度来看:
我希望我的网站,或至less任何身份validation或cookiestream量进行SSLencryption。
从最终用户的angular度来看:
我希望提供者保持我的会话安全,所以我甚至不必考虑input“https://”。 它应该迫使我安全。