评论专栏

Bill Hines:小心我的后门

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 评论专栏

敬请期待该系列的后续内容。

此内容是该系列的一部分:评论专栏

敬请期待该系列的后续内容。

是否有人在窥探?

在整理本评论的时候,我足够幸运地享受到了一周非常难得的在家工作时间。在沉闷的三月天,身着“舒适的服装”坐在家庭办公室里,将室温调得暖暖和和的,播放着最喜欢的音乐,再没有比这更美好的事情了(当然,也可能是坐在旅游客船或海滩上或诸如此类的地方……)。Internet 上的宝藏之一是 Wolfgang's Vault,该站点承载着传奇式的摇滚倡导者 Bill Graham 在 Fillmore East、West 和其他演出场所的演出乐库中的唱片。其中存在现场演出形式的珍品,由诸如 Led Zeppelin、Allman Brothers、Pink Floyd 等乐队以及其他许多 20 世纪 60 年代、70 年代和 80 年代的乐队所贡献(我也衣着光鲜地出席了其中一些演出!),并且全都可以免费收听(不过,您可以购买许多的音乐会纪念品!)。

因此,当我编写本评论时,我在听着 1971 年在旧金山 (Fillmore West) 演出的 Creedence Clearwater Revival (CCR) 节目。它让我想起了自己最喜欢的 CCR 歌曲之一,以及在突然间认识到的与我的评论主题的联系。因此,我们首先从适用于 Web 安全性主题的方面入手,对有趣、愉快、活泼、乐观的歌曲“小心我的后门 (Lookin’ Out My Back Door)”进行认真的学术分析。

拜托,请大家坐好,到演出结束以后再鼓掌。

CCR 主唱 John Fogerty 的经典工作开始了:

赶快从伊利诺伊斯回家,锁住前门,噢,孩子们……

这与 Web 安全性有什么关系呢?好了,我们通常非常擅长于锁住前门。当我在现场查看安全拓扑关系图时,面对前端或客户端的网络部分照例锁定得非常良好。配备了 DMZ 吗?检查一下。SSL 呢?检查一下。客户端连接是在 DMZ 中终止吗?检查一下。前门全都锁定了吗?肯定的,Dave,我明白您的意思(为了纪念 Arthur C. Clarke)。如今,我们非常擅长于锁定前门。

然而,从今往后,我们通常会看到错误。Fogerty 的畅销歌曲的合唱部分是:

Doo, doo, doo lookin’ out my back door(嘟、嘟、嘟,小心我的后门)

人们以为这是一首简单的快乐歌曲,但是通常对于摇滚音乐来说,他们忽略了隐藏的含义(如今的一代人总是很容易忘记向后播放音乐)。这些歌词的绝妙之处在于,一旦 Fogerty 先生保护了他的前门,然后他就将注意力转到了后门。而这正是我们在 IT 业中常常全都忘记做的事情。

好了,这个蹩脚的类比到现在已经足够了。但是我们在 IT 业中通常发现的一些常见“后门”错误是什么呢?

假设您已将 DMZ 中的那些 SSL 配置全都锁定。您的客户在使用 https 进入您的站点的时候,可以保证他们的确是在与“真实”的站点通信,并且没有发生任何仿冒或欺骗(在进入网页上的敏感信息之前,您始终会检查 URL 中存在“https”,并且主机名称是正确的,对吧?)。SSL 提供了传输加密,因此在客户的工作站与 DMZ 服务器之间流动的消息经过了加密——嗅探该流量的任何人都无法读取那些消息(当然,除非您是在使用诸如 NONE 等不安全的密码,但那是另外一回事了)。您的客户现在是否能够安全地输入信用卡信息以从您的站点购买东西?不要急。

让我们首先看一些经常遇到的常见 DMZ/后门错误:

  • 从 DMZ 服务器到受信任区域的服务器之间没有使用 SSL。您是否让该连接暴露在嗅探 DMZ 中的流量的任何人面前?DMZ 是您的“战区”,对吧?您是在允许敌人(坏人,而不是您的客户)进入。DMZ 对怀有恶意的任何人来说都应该是个敌意的环境。

  • 存在 SSL,但是没有正确地配置。对于将传输敏感数据的配置,从 DMZ 服务器到后端服务器的 SSL 连接应该是经过相互 SSL 保护的通道。这涉及到配置双向“客户端身份验证”以及传统的 SSL 配置,以便 SSL 连接的双方进行彼此验证,验证对方的证书,等等。作为该配置的一部分,应该从两方的信任存储区中删除所有的签名者,不过另一方的签名者除外,这些签名者不应该来自众所周知的证书颁发机构(certificate authority,CA)。否则,具有那些 CA 之一颁发的证书的任何人都能建立连接。

  • DMZ 中的复杂性。DMZ 中不应该存在“大型攻击面”。通常,这些攻击面以很难加强的复杂流程的形式存在。由于这个原因,许多组织对 DMZ 使用“无 Java™”规则。存在诸如 IBM® WebSphere® Extended Deployment On-Demand Router 等卓越的产品,由于上述原因,这些产品不打算用于 DMZ,但是通常还是发现 DMZ 中安装了它们。请检查各个 DMZ 组成部分中的任何此类已安装的应用程序。检查运行时进程以确保没有任何 java* 进程在运行。确保产品安装程序没有留下任何 JRE(JDK 就更不用说了)——而不要像在您家后门留下盗窃工具箱那样,给任何潜在的坏人带来方便。您还可以将 Web 服务器作为托管进程包括在 WebSphere Application Server 单元中。尽管这样相当棒,并且在让 WebSphere Application Server 分发新生成的密钥存储区版本和在生成 WebSphere Application Server 插件时为您更新该插件方面,可以省去一些麻烦,但这意味着您现在必须为此目的而在 DMZ 中运行某个 Java 进程,这还会打开防火墙中的端口以支持该通信。这对于开发来说非常好,但是不提倡用于生产中。

  • DMZ 没有得到足够的加强。这是一个很容易弄糟的错误。如果 DMZ 中的文件系统权限设置不当,存在许多可从服务器文件系统中返回敏感文件的诡计(例如,嵌入的包含型语句、脚本语句或恶意消息中的 URL)。即使权限设置是正确的,如果您的 Web 或代理服务器的 DMZ 进程以 root admin 身份运行,它们也拥有访问权限,并且可以获取并返回敏感文件。您是否已花功夫去加强操作系统和所有的组件?存在一个极好的网站,其中包含了大量用于加强许多已知平台的论文和评级工具。

  • 未将 WebSphere DataPower® 用于携带有 XML 的消息。熟悉我的人看到我在这里坚持指出这个错误,应该不会感到惊讶。我是这些设备的积极倡导者。作为纯粹的技术人员,我觉得这些是我曾经使用过的最有效和最令人惊异的产品。DataPower 设备消除了有关上面列出的前两点的任何顾虑,因为它们在出厂时就已经是加强了的。如果您阅读过我以前的评论专栏文章 (XML) 威胁无处不在……,那么您会理解我的意思。如果您还没有阅读过,那么请您去阅读该文。对于不想阅读该文的人来说,这里只说一点就足够了:单个很小的形式良好的 XML 消息也可能使您小心保护的基础设施崩溃。这样说就足够了。

  • 为酷而酷。我最近完成了一个配置 DataPower 设备的练习,其中通过 WS-Security Username Token 来根据 LDAP 服务器对 Web 服务 SOAP 消息进行身份验证,然后让 DataPower 为 WebSphere Application Server 创建 LTPA 凭据(从而为 WebSphere Application Server 省去了所有的繁杂事务),然后将 LTPA 凭据作为 BinarySecurityToken (BST) 放在 SOAP WS-Security 标头中。酷毙了!我被自己彻底感动了。但是在检查该解决方案时(对,Keys Botzum 向我指出了这一点),我发现它对于我尝试实现的目标来说过于复杂了。您在图 1 中可以看到此解决方案向消息增加的开销。但是您无法看到的是该解决方案向运行时增加的开销。WS-Security 在某些情况下对于消息级别的安全性非常有用,例如在消息必须经过不受信任的中间层的时候。但是,如果您只需要两个受信任的服务器之间的点对点消息流,为什么不使用很好的旧式 SSL,并将凭据(在此例中为 LTPA)作为加密的 Cookie 在 HTTP 标头中进行传递呢?我就是那样做的,并且我使用了一个简单得多的解决方案来实现该目标,还获了一个附加的好处:让运行时将凭据返回给客户端浏览器,以便在将来的请求上使用。WS-Security 可以通过使用数字签名和加密来实现消息保密和完整性(这里不讨论不可否认的谬误),但是与这种便利性相伴而来的是大量的运行时开销。

    图 1. WS-Security BinarySecurity 令牌
    图 1. WS-Security BinarySecurity 令牌
    图 1. WS-Security BinarySecurity 令牌

    当然,这并不意味着您应该放弃安全性!请根据您的目标进行考虑,不要让您的团队被那些很酷的因素所诱惑。请记住:“Web 服务安全性”与 WS-Security 不是一回事!请仔细测试。当然,DataPower 可以做其中任何一件事情,包括 WS-Security 场景和有关 WS-* 的更多工作,以及您可能认为与安全性相关的许多其他任何事情——以接近网速的速度,因为它是如此的安全和快速!

我的歌曲和 Web 安全性分析到此就结束了。我将 dinosaur Victrola 专辑中的唱片翻过来,并穿上了一些了衣服,然后有人走到了门前。非常遗憾,我没法和非洲野鸽和大象、翻筋斗的巨人或穿着高跟鞋的雕像一起工作。但是如果您严肃地考虑安全性,并仔细地分析您的整个拓扑关系图的安全隐患,您也许能够从您的办公室或小书房向外窥视,并看到在草坪上快乐地跳舞的所有生灵们

非常抱歉,我有点意犹未尽了。继续播放歌曲“Keep on chooglin’”...


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=337234
ArticleTitle=评论专栏: Bill Hines:小心我的后门
publish-date=09182008