级别: 初级 Travis Van (travis.van@gmail.com), PR Chair
2005 年 6 月 01 日
由于人们对新型的企业技术的恐惧、不确定和疑虑(FUD),安全通常是首选目标。例如,尽管常有终端用户反馈说 Linux® 要比 Windows® 安全,但是我们已经看到了对 Linux 的不断的攻击。随着企业中网格计算不断推进其早期变革,可能我们很快就会听到这样的猜测:网格安全还不足以支持大规模地采用。因此,对于这个网格进展专栏的第一篇文章来说,我认为,与一些分布式计算安全专家交谈一下,了解目前网格安全的发展现状,以及他们对这个问题的前瞻性的看法将会很有意思。
非正式会谈的网格安全专家成员
以下是我访问的专家名单:
- Phil Janson,PM,Services Research Assets, IBM
- David Snelling,架构领域总监,Global Grid Forum (GGF)
- Mark Linesch,主席,GGF
- Frank Siebenlist,资深软件架构师,Distributed Systems Laboratory,Argonne National Laboratories,The Globus Alliance
- Nataraj Nagaratnam,资深技术成员,架构师,On demand security infrastructure, IBM
- Jay Unger,资深技术人员,IBM
- Paul Madsen,副主席,Technology Expert Group,Liberty Alliance
以下是这些专家所解释的有关网格安全的一些基本主题和发展方向。这包括一些有关 Web 服务与网格服务之间的历史关联的背景信息,这对于安全性来说是非常重要的;还包括网格中更为严重的一些具体安全问题。
我将回顾网格安全这个主题。如果您了解任何需要人们立即注意的安全问题,或者您希望参与下一次的访问,我很乐于倾听您的想法和建议。
Web 服务安全 —— 网格安全先驱
专家们很快都指出网格安全并不是独立发展的,而是无数的供应商、标准和开源网格的贡献者共同努力的成果 —— 这些开源网格的贡献者中很多几十年来一直在解决分布式计算安全问题。但是其中的一个成果对于网格安全的早期发展来讲是至关重要的:那就是在过去几年中,在 Web 服务领域所完成的工作。
通过各种方式,Web 服务随着商业 Internet 的发展开辟出一条安全的道路。随着开发者开始编写那些参与共享环境的“服务”,安全方面的问题变得更加突出,并且出现了很多单一硬件环境中的应用程序中所没有的一些问题。
一方面来说,这些服务由于参与共享的环境而冒着更大的风险。
“从 Web 服务的本质来说,它们就是在网络上应用的,并且容易受到入侵者的远程攻击”, Phil Janson(PM,Services Research Assets,IBM)说。“攻击单个应用程序存在很多困难,例如在一个封闭的校园计算机中心的一台主机上运行的 SAP 程序,外部无法访问它。在网络环境中,输入验证问题比在非分布式单个应用环境中更重要。”
Web 服务社区还必须解决身份管理中出现的一些新问题。
“在任何涉及多个组织的分布式模型中,不管它是 B2B 的模型,还是涉及科学团体和共享资源的计算模型,对于资源的访问都是从识别请求实体(用户,组织,或其他属性)开始的”, Nataraj Nagaratnam (资深技术成员,架构师,On demand security infrastructure, IBM)说。“我们知道在交互式环境中有很多不同的安全模型 -- 身份标识架构、证书格式等等 -- 重要的是我们能够在这些环境中架设一个桥梁,并能基于信任的级别‘统一使用’这些身份标识。Web service 安全规范帮助通过 WS-Policy、WS-Trust 和 WS-Federation 来解决这些问题。IBM 已经在 IBM Tivoli® Federated Identity Manager 中构建了这样一个工具,来帮助解决在此领域中所面临的挑战。”
“网格的基本前提包括向‘虚拟组织’中的其他团体开放您的计算资源”,Paul Madsen(Liberty Alliance 成员之一,他在 NTT 的 Information Sharing Platform 工作,这是日本最大的通信服务组织)说。“如果您要这样做,显然需要回答的第一个问题就是‘其他团体是谁?’您已经可以对它们进行鉴别,这可能需要使用这些 Web service 请求中所包含的通信身份标识机制。因此 Liberty Alliance 在制定自己的规范时所面临的很多问题、概念和安全要求与网格社区所面临的很多问题非常类似。”
从身份管理方面来说,Liberty Alliance(IBM 去年加入了这个组织)最近在 Security Assertion Markup Language(SAML)方面取得了重大的进展,OASIS 宣布这已经成为一个标准。有关 SAML 2.0 的更多信息,请参阅 参考资料)。
“SAML 为计算实体之间的通信安全和身份标识(例如,认证、权限和属性)定义了一个基于 XML 的框架”, Madsen 说。“SAML 提高了异种安全系统之间的相互协作能力,为框架提供了跨越公司边界的安全电子商务交易能力。通过对不同安全基础设施(例如 PKI、Kerberos 和 LDAP)的细节进行抽象,SAML 使得在目前持续变化的业务环境中进行必要的动态集成成为可能。”
网格与 Web service 的捆绑
随着 Globus Toolkit 4.0(GT4)的发布,您可能会听到很多有关网格服务和 Web service 之间进行捆绑的消息。但是这并不是什么新的趋势。开源社区忙于将 Web service 集成到网格中已经有几年的时间了。
“我们相信,在网格中从基础设施的观点来看,与 Web service 安全没有什么本质的不同”,Nagaratnam 说。“这就是我们为什么要引导早期的 GGF 工作朝向基于 Web service 的 SOA 模型的原因。”
在网格初期,社区已经认识到需要一种方法对网格标准地进行介绍,并且为异构资源提供一些“钩子”。Web service 对于这种能力来说是非常具有吸引力的,但是在当时来说,它并不包含“状态”的概念,这对于特定的网格需求来说会出现问题,例如任务调度和其他资源管理问题。从不同的阶段来看,网格服务的内容可能也不同。当不同的资源(包括硬件和软件实体)开始在这种环境中上线时,网格的状态就得以了实现。您需要采用状态的概念对网格进行描述,并且考虑资源池中资源的增加和减少,以及这些资源也会随着时间的推移而不断发生变化的事实。
因此 OSGI(Open Grid Services Infrastructure)发起了一个 Web service 扩展,其中也包括了状态的概念。OSGA(Open Grid Services Architecture)的一部分已经被集成进了 GT3,OGSI 允许网格使用一种有状态的方法对资源进行描述。(注意,适应状态变化只是 OGSA 所实现的众多目标之一。)“开放网格服务架构之旅” 由 Jay Unger(IBM 资深技术成员)和 Matt Haynos(IBM 总监,Grid Strategy and Technology)撰写,这是对 OGSA 架构中组件结构的一个详细介绍,对于理解 Web service 和网格之间的关系非常有帮助。
最近,除了 OGSI 的努力之外,Web service 小组又开始将它们自己用来捕获状态的方法集成到 WSRF(Web Services Resource Framework)中。在 GT4 发布时,这个开源工具包将通过集成 WSRF 而移植回一个纯粹的 Web service 实现(而不是 OGSI)。Vladimir Silva 所撰写的 “ Globus Toolkit 4 Early Access: WSRF” (developerWorks, 2004 年 10 月)对将 WSRF 集成到最新版本的 Globus Toolkit 中的重大意义进行了简介,并介绍了开发者应该注意的相关规范。WSRF 目前在 OASIS 中正处于草案的状态,这意味着它不久就会作为一个正式规范公开。
尤其要注意的是, Globus Toolkit 最新的 WSRF 方向并不是 OGSA 架构的尽头。
“OGSI 是 Web service 的上一个扩展集,用来提供有状态的交互能力--现在我要说它已经被废弃了”, Jay Unger 说。“它是 Globus Toolkit 3.0 中使用的模型,但是现在已经被 WSRF、WS-Security 和更广泛的 Web service 标准所取代了。但是 OGSA 关注的重点是在执行组件、执行模型、网格数据组件和信息虚拟化领域的特定服务定义,它依然在标准的进化和开源工具包(例如 Globus)中扮演着重要的角色。”
网格特有的安全挑战
作为理解网格安全的一个起点,重要的是要理解 Web service 与网格服务之间进行结合的历史渊源。虽然网格环境正在利用 Web service 中早期的安全方面的成果,但是网格环境在通向安全的彼岸之前还需要趟过一片未知深浅的水域。
以下是这些专家认为特别有兴趣的一些安全性问题。
安全模型和环境之间互操作能力的挑战
IBM -- Nataraj Nagaratnam,资深技术成员,架构师,On demand security infrastructure: “如果您正在促进分布式系统与网格的共同发展,就需要使基础架构和安全问题保证足够灵活,因为您需要对不同的安全模型和安全提供商进行协调。问题的关键是将不同供应商提供的内容与不同的框架进行集成,并且在这些服务之间基于信任安全地进行交互。IBM 是将 Web service 的安全作为一种交互操作的标准机制的支持者,并倡导使用 WS-Policy、WS-Trust 和 WS-Federation 让计算环境可以在不同的平台和安全模型之间架设一座桥梁(例如 WebSphere® 环境可能使用 Globus Toolkit 提供的环境)。”
在多个域之间协调安全策略
Liberty Alliance -- Paul Madsen,副主席,Technology Expert Group: “从安全的观点来看,SOA 的影响是不再存在单个大型的系统了。资源可以在一个域中进行维护并提供服务,而请求客户端可以来自于其他域。也就是说,我们可以假设两个域可以对最终的交互安全性具有不同的要求和期望。”
Globus Alliance -- Frank Siebenlist,资深软件架构师,Distributed Systems Laboratory,Argonne National Laboratories:“最大的挑战是如何能够以一种可以广泛理解的方式跨越多个管理域。按照网格安全的术语来说,任何与策略相关的事情都是非常重要的。这包括属性联盟,其中 Liberty Alliance 和 SAML 扮演了一个重要的角色。可能最重要的事情是策略以及如何来表示策略--策略语言、授权、访问控制语言。以及如何将它们连接在一起--也就是说采用什么标准来调用授权服务确认是否允许进行访问?对于此处使用的标准来说,XACML 是现在对我们来说最重要的标准之一(另外一个是 OASIS 标准)。我们有一些标准化后的“外调”接口。我们可以调用这些接口来访问外部的授权服务,从而询问是否允许请求者进行访问,并请求对资源进行操作。所有这些特权现在在 Globus Toolkit 中都已经实现了。我们可以处理 SAML 断言,可以通过便准的授权查询(使用 SAML)调用外部服务,并且在工具包中内嵌了一个 XACML 授权引擎。在这些的基础上,我们还可以处理 X.509 属性证书,它是 X.509 身份证书的一个姊妹产品,因此它们可以用来声明组成员关系和角色,我们的有些社区就使用它们来表示组成员关系。”
调度问题 -- 权限委托
Globus Alliance -- Siebenlist: “我认为网格应用与普通的 Web service 应用有所区别的原因是很多网格应用中都存在中间人。其中存在各种服务,它们会试图发现资源是否可用。从安全性的观点来说,这会增加权限委托的问题--这意味着这些服务必须要由用户进行授权才能进行操作。在理想的情况中,您可能会希望使用一种粒度更细的方法来标识权限委托--这意味着您并不希望对这些中间过程不进行任何检查;而是希望要确认它们的权限就是执行任务所需要的权限,而没有更高的权限。我们称这种权限委托为‘特权租借’”。
“我们使用这些经过 Internet Engineering Task Force 标准化的代理证书来标识权限的委托。不幸的是,这只能以一种粗粒度的方法来表示权限。现在我们正在努力使用 SAML 和 XACML 语言来合并这些代理证书,从而可以使用一种简单的方法对权限进行限定。不幸的是,我们有些超前了。普通的 Web service 并不需要这些服务。结果是,现在这方面还没有实际的标准,我们需要自己来制定这些标准。希望经过 2 到 4 年的努力之后,这能够成为供应商和 Globus Toolkit 所提供的标准之一,我们可以进一步关注应用程序的问题。”
跟踪和审计需要
Globus Alliance -- Siebenlist: “网格的弱点之一是:安全记录和审计跟踪的标准化。这个问题已经被认为是必须要解决的问题之一,我们在 GGF 中已经开始了一些工作来解决这个问题。但是如果您了解一下 OASIS 或其他标准组织,就会发现现在还没有开展标准化、审计和协调对目前不同组织之间采用的不同审计跟踪进行协调等方面的工作。现状就是如此,这使得浏览审计日志变得非常困难。这些日志采用的格式不同,位于不同的管理域中,为了与不同的审计项匹配,整个访问控制已经被分割成不同的审计日志和不同的管理域......您只能自己在所有这些服务之间重新构建一缕线索开展工作。现在这是一个挑战,也是一个问题。因此日志中会由于各种不同观点的需要,记录下了大量的内容,而我们需要的是一种标准化的格式和工具,它可以协调并重新构建我们工作的线索。”
网格服务在网络防火墙之间的导航
Global Grid Forum--David Snelling,架构总监: “我们尚未发明一个可以穿越所有防火墙的有力武器。因此您仍然需要回到防火墙的策略制定上来,才能让网格服务可以穿透防火墙提供服务,并且限定网格服务受到保护的范围。我们在网格社区中使用了一组协议,它们的基础非常广泛,从 Web service 所基于的典型的 HTTP 安全 socket 连接,到需要在防火墙上开放一些端口的其他协议(这需要在各种情况中与系统管理员进行协商)。因此对于这个问题有一系列的解决方案,但是所有的解决方案都需要技术加上策略以及人们的决策才能实行。”
“当制定决策成为业务问题时,需要在安全性和优点之间达到平衡的压力会将人们从狂热的爱好中拉回到现实中来。从技术层面上来说,您可以给出一些很好的例子说明为什么这样做才是安全的,但是即便如此,除非有商业的驱动可以确保您可以从中获利,否则您可能也不会这样实行。除非您真的确信这样可以比以前更好,否则您也不会冒险。即便是在今天,对外提供一个普通的 Web 服务也具有很多相关的风险。大部分人都会将自己的 Web service 应用放于防火墙之外,然后使用一条单独的连接在防火墙之内处理业务,这样就构成了这种层次化的方法。在网格社区中也存在相同的技术。在我所涉及的网格系统中,我们称之为网关;Globus 爱好者称之为 gatekeeper。这些组件都是一些很小的软件,防火墙的管理员可以对其进行分析。当您的业务中有一些内容需要将之放于防火墙附近时,安全专家就可以进行分析一下,并判断他们可以接受对自己的组织所提供的保护级别。随着越来越多的组织开始采用网格,这些问题将会逐渐变小,因为大家会看到 Globus gatekeeper 的成功应用,因此从市场上来说,可以确保接下来的人更自信地参与其中。”
结束语
在很多企业中,大型系统供应商(例如 IBM)对于目前网格的发展都具有很大的推动作用,这并不奇怪。有些网格的讨论中一些大型安全厂商(例如 Symantec)和网络厂商(例如 Cisco Systems)并没有参加,不过 Nortel Networks 正在对 Globus Toolkit 开展一些非常有意义的工作。虽然现在安全供应商还没有很好地解决企业网格的问题,但是有很多开发者已经不懈努力地解决这个问题多年了,现在已经有无数的项目正在测试之中,确定在增强网格环境安全性方面哪些是可能的。
专家们确信在过去 10 年中已经对网格安全开展了很多工作,当网格最终正式在企业中利用时,这足以弥补最初的偏执所带来的问题。
“当电子商务首次出现时,您会记得当时手心都直冒冷汗--充满了恐惧、不确定和疑虑”,Mark Linesch(GGF 主席)说。“合作伙伴、顾客以及供应商之间在 Internet 上进行业务交易所面临的安全性问题使人们忧虑不堪。但是我们毕竟在蓬勃发展。作为消费者来说,我们从 Internet 上购买到了很多东西。作为商业公司来说,我们将自己的供应链与供应商的供货能力连接在一起。从技术观点来说,我们要实现足够好的安全性,但是还要提供良好的新安全性策略。这不仅仅是技术策略的问题,而且还要在合作方之间建立网络与契约,并确保这些契约可以在标准业务和组织安排中能够得以实施。”
Linesch 说他认为网格安全尚不够好,还不能消除人们最初的 FUD 疑虑,但是最终它将比企业现在采用的用来解决安全性的方法更加有效。
“更广泛的历史--IETF、Liberty Alliance 等等--说明所有的工作都正在朝着这种更加精巧的分层模型发展,它比我们过去所采用的模型更加实用。” Linesch 说。“我们过去采用的模型是‘将所有的东西都放到防火墙之后,这样您就安全了。’人们认识到这并不是一种非常有效的模型。我认为能让我们摆脱这种情况的就是一个分层模型,它的结构更好,我们采用这个模型之后,其抵抗攻击的能力也更强。”
参考资料
关于作者  | 
|  | Travis Van 是硅谷的一位专注于新技术的技术 PR 宣传者。 |
对本文的评价
|