跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

实现环保和安全

细节决定一切

Judith Myerson, 系统工程师兼架构师
Judith M. Myerson 是一位系统工程师兼架构师。她感兴趣的领域包括中间件技术、企业级系统、数据库技术、应用程序开发、网络管理、安全性和项目管理。
(An IBM developerWorks Contributing Author)

简介: 在这篇 developerWorks 文章中,理解远程办公的优点和风险。了解如何为业务用户创建安全的 mashup 应用程序,并确保您知道需要向服务提供商了解哪些关键问题,从而实现一个安全可靠的环境。

发布日期: 2009 年 8 月 17 日
级别: 初级 其他语言版本: 英文
访问情况 : 888 次浏览
评论: 


简介

在实现 “环保化” 的过程中,公司对其业务采用了新的策略。一些公司致力于通过鼓励远程办公减少交通和办公空间的能源消耗。其他公司则试图通过使用 “mashup” 应用程序或外包托管来减少对系统资源的需求。随着资源逐渐脱离企业的集中控制,风险控制变得更富挑战性。安全程序变得更加重要,并且需要对每一个组件执行进一步检查。

在本文中,我们将查看在这个日益环保化的环境中的一些主要参与者,以及应当加以解决的特定风险领域。我们将考察远程办公、mashup 应用程序和应用程序托管。


远程办公

远程办公正在成为减少办公开销的一个流行选择。由于远程办公可以减少日常驾驶、获得更灵活的时间安排,并且拥有家庭办公的所有舒适性,因此员工可以从远程办公中获益。远程办公还有利于实现环保。它减少了交通堵塞及相关的问题。它减少了行业内无限制扩展的办公空间,以及有关暖气、制冷和清理等相关资源。

然而,由于员工在企业环境之外的位置办公,远程办公凸显出某些安全性问题。过去一贯被封锁起来的数据忽然之间出现在员工的家庭里,无法进行控制。但是,这并不表示远程办公是危险的并需要加以避免。这只是说明进行远程办公的员工需要注意到这些风险,并使用一些策略和方法来安全地实现远程工作。

大多数企业已经可以熟练地对用户使用 VPN 连接来获取后端数据。然而,远程办公者对各种协作工具的需求更加迫切,比如即时消息传递和远程会议功能。您的员工目前使用的工具是否安全并且对于您的环境是私有的?或者他们使用的是可以跨越 Internet 公开通信的公共工具?

您可以通过商业工具(比如 IBM Lotus® Sametime)获得安全的即时消息传递功能,或者使用 Jabber 之类的开源工具。其他协作工具,比如 wikis 和虚拟会议功能,也可能需要用来提高远程员工的通信效率。可以选择通过您的 VPN 以内部的方式提供这些工具,或者将它们外包出去,但是应当检查这些做法的安全性,并确保没有将机密信息意外地泄漏出去。

远程办公链中的另一个薄弱环节在于用户的笔记本电脑。您对开机密码是否使用了策略?对于用户将数据存储在其笔记本中有哪些限制?您的应用程序是否将未经保护的机密数据缓存放到本地机器上?是否为用户提供了在其本地机器上加密数据的选项?一些商业电子邮件系统,比如 Lotus Notes,提供了自动加密本地电子邮件的方法。许多人使用外部系统(比如开源的 GPG)来加密电子邮件。在提供加密的硬盘空间方面,有很多策略可供选择,同时包括商业的和开源的选择。

问题的关键在于使用明确的策略和指导来帮助远程办公人员保护机密数据。他们应该清晰地理解自己在安全链中的角色,并在工具和培训方面获得支持。


Mashup 安全风险

与使用自己的资源构建应用程序相反,Mashup 是一种很棒的资源节省技术,可以使用任何可用的资源构建更加健壮的应用程序。Mashups 集成了来自多个来源的信息,比如 Web 站点、企业数据库或电子邮件,构建一个统一的视图。Mashup 通常使用 Ajax 编写,集成来自内部和外部来源的数据。开发人员可以将信息与 Google Maps 等工具聚合起来,以支持路线选择和客户分析应用程序,帮助非技术用户了解比较复杂的情形。

然而,mashup 也带来了自身特有的各种风险。您是否清楚自己正在使用的数据的来源?它是否是合法的?当调用由其他应用程序定义的回调函数时会发生什么?是否会不小心与第三方共享机密数据?提出这些问题并不是要把您吓跑并远离 mashup 应用程序,但是在针对企业开发 mashup 时应当考虑到这些问题并进行检验。

例如,开发人员发现人们不赞成使用 MySpace API。使用这些 API 的 Mashup 应用程序容易受到黑客的攻击,因为黑客利用了这些不受支持的 API。


安全的 mashup 应用程序

那么,如何保证 mashup 应用程序的安全性?关注有关所使用资源被攻击的新闻。Google Maps 之类的工具攻击问题在发现之后通常就会公布于众。查找有关攻击的资料并保持关注。Security Focus(参见 参考资料)之类的站点收集了大量有关攻击和安全漏洞的信息,值得一看。

针对安全漏洞提供防护的一种新方法就是使用更加智能的工具,这些工具能够感知到危险的资源和技术。经过调查后会发现有多种选择,但是我们这里将关注 IBM Research 的 WebSphere® sMash,这是用于构建动态 Web 应用程序的开发和执行平台。它建立在 Project Zero 孵化项目的基础之上,并且可以免费下载,用于跨多个平台的有限部署。

WebSphere sMash 使用 Web 2.0 技术,将 PHP 脚本、REST 和 Dojo 组合到一个集成的运行时和工具包中。其 PHP 5.2 或更高版本的运行时使用 Java™ 实现。PHP 程序员可以利用 Java 库,而 Java 程序员则访问可通过 Java 和 Groovy 代码聚合起来的 PHP 应用程序和库。

通过实现系统级身份验证和授权,WebSphere sMash 可以帮助防御恶意代码。使用称为 Active Content Filtering (ACF) 的工具,应用程序开发人员定义了安全规则,包括确定对哪些资源实施保护、使用什么方法实施保护,以及允许哪些用户和组访问这些资源。具体来说,ACF 旨在帮助防御跨站点请求伪造(Cross Site Request Forgery,CSRF)和跨站点脚本(Cross-Site Scripting,XSS)攻击。在 CSRF 攻击中,从 Web 站点信任的用户处传播未经授权的命令。XSS 利用了用户对某个 Web 应用程序的信任。例如,用户单击一个链接打开包含恶意 JavaScript 的 Web 应用程序,这些恶意 JavaScript 代码将中断用户的会话。

随着 mashup 的日益流行,我们将看到会有越来越多的其他策略和工具涌现出来,以增强 mashup 的安全性。

现有 mashup 应用程序的例子包括 Jibes 的可以读取客户 Excel 表并将其与 ERP 系统集成的应用程序;以及 ZSL 的 Enterprise 2.0 SocNet,它可以促进员工之间的协作、知识共享和交互。ZSL 将这个工具扩展为面向服务的云计算服务,现在可以作为 Collaboration as a Service (CaaS) 使用,也被称为 Collaboration in Cloud (CiC)。

您应当为这些和其他 mashup 资源的使用设定您自己的安全标准。


外包

最后,我们简单谈一下外包。通过远程托管系统和应用程序,您可以节省大量能耗和资源。但是,您再一次将资源放到了企业的 “安全区” 以外。在与境外公司合作时,如何提供安全性并防止出现宕机问题?提出正确的问题,然后提前签订可靠的协议。

简介

任何外包应当都会伴随着生成清晰的、详细的服务级别协议(Service Level Agreement,SLA)。SLA 是服务提供商和客户之间签订的正式合约,确保在某个具体级别上实现可度量的网络性能。服务提供商可能是一家内部 IT 组织、一个应用程序服务提供商(ASP)、一个网络服务提供商(NSP)、一个 Internet 服务提供商(ISP)、一个托管服务提供商(MSP),或者任何其他类型服务的提供商。

SLA 内容可以非常宽泛,也可以非常的详细,并且通常包括服务提供商和客户在出现故障时应当采取的步骤。服务提供商保证它所提供的服务具有一定的可用性,使用时间百分比表示,例如 99.9%。

服务提供商还可以完成四件事情:第一,可以对 Web 应用服务器的最大响应时间和平均响应时间施加限制。其次,可以对内容访问或资源共享设置最大时间。第三,可以对同时享受服务的用户的最大数量施加限制。第四,可以向客户通知 SLA 宕机事件,或在对网络接口作出修改之前通知。

如果服务提供商在超过指定的时间期限后无法交付规定的性能水平,客户将保留处理权限和补救方法。这些权限、补救方法和免责条款因 SLA 而异。客户还可能同意接受合约的一般条款中规定的例外情况。

提出问题

问题在于,服务提供商可能并不会按照您(作为一名开发人员或部署人员)的意愿提供服务。您应当作出明智的决策,确定服务提供商的托管位置以及存在的安全漏洞。您可能会选择冒一定的风险,或者自己完成服务提供商未履行的一些事情。作为一名开发人员,您应当意识到这些风险以及如何知道服务提供商没有完成哪些事情。例如应用安全控制来缓解风险。提出您的问题。如果服务提供商没有给出您希望的答案,那么准备好为您的 mashup 和其他类型的 Web 应用程序提供安全性。

下表展示了您应当向服务提供商提出的样例问题。


表 1. 样例问题
类别问题
状态服务器在随后的状态中是否正确响应?要完成某项任务,状态的结构是怎样的?
访问控制未经授权的用户能否成功地访问只有管理员才有权使用的控制权?
响应时间应用服务器的响应时间是否很长(比如,超过了 10 秒钟)?导致响应时间过长的原因是否是因为丢失了大量包?
超时服务超时后会发生什么?是否会引起系统宕机?是否会回滚到以前的状态?
版本化新的构建是否会影响现有应用程序的正常工作?
资源共享资源空闲后会发生什么?是否可以在任意给定的时间共享它们?

得到这些答案后,确定哪些安全控制是服务提供商无法提供的,从而将高等和中等程度的风险降至一个可接受的范围。付出的成本绝对不能超过安全控制所带来的优势。如果成本太高的话,可能需要改变安全控制来节省资金。应用了安全控制之后,可能依旧存有风险,这也称为残余风险。您可能需要修改安全控制或更新应用程序,以降低残余的高风险的数量。

保护虚拟化环境

安全人员和开发人员应当注意,运行 Web 应用程序的虚拟化环境在迁移到虚拟化之前是如何按照强制的 SLA 工作和交付的。远程办公者的计算机和后端系统上的虚拟机如何抵御影响系统正常运行的恶意行为?

考虑使用 VMware 的 VMSafe 之类的程序来更好地将安全性集成到虚拟化环境中。IBM 是该项目的成员之一,像许多安全性公司一样,它计划使用或已经使用了 VMware API 来进入到 hypervisor 领域并生产旨在加强 hypervisor 并延长系统正常运行时间的产品。

VMSafe 是一组可以以一定程度深入到 VMware 的 hypervisor 的 API。这些 API 使安全性供应商可以开发工具来锁定病毒、监视网络通信量、构建防火墙来集成虚拟机,甚至执行管理和漏洞评估。VMSafe 克服了一些有关以虚拟设备运行的虚拟屏蔽(shield)问题,比如与现有安全监视系统的局部集成。IBM 研究人员正在开发新的安全技术,为 hypervisor 提供保护并监控虚拟环境之间的通信。


结束语

出于业务和环境方面的原因,企业在节约资源方面承受了很大的压力。不要因为忽略细节而招致风险。确保您的远程办公人员能够清晰地了解他们负有的安全职责,并为他们提供必要的工具来安全地处理机密信息(或提供指导)。清楚地了解 mashup 应用程序中的安全漏洞,并寻找新的方法来避免包含未经授权的数据和恶意代码。最后,在寻找外包托管和应用程序提供商时要更灵活一些。提出正确的问题,并签订可靠的协定来保护您的利益和客户的利益。

关注细节将帮助您自信地、相对安全地将新技术应用到业务中。


参考资料

学习

获得产品和技术

关于作者

developerWorks 投稿作者

Judith M. Myerson 是一位系统工程师兼架构师。她感兴趣的领域包括中间件技术、企业级系统、数据库技术、应用程序开发、网络管理、安全性和项目管理。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Web development
ArticleID=421407
ArticleTitle=实现环保和安全
publish-date=08172009
author1-email=jmyerson@bellatlantic.net
author1-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。