如何基于Web应用程序安全经验来开发云应用程序?

日期: 2013-12-09 作者:Dave Shackleford翻译:刘前程 来源:TechTarget中国 英文

随着越来越多的企业寻找可部署在云供应商环境中的应用程序,对于健全的安全措施和技术的需求也变得至关重要。那么,如何在云环境中开发应用程序以最大限度地提高安全性呢?这些云应用程序是否有别于内部应用程序?在开发周期和质量保证(QA)过程中,需要有哪些变化?在把应用程序迁移到公共云环境之前,上述所有问题都需要解决。 在本文中,我们将提供一些指导,如何专为云环境开发安全的应用程序,以抵御如今大部分常见攻击。我们还将探讨一些需要落实到位的控制因素,以确保基于云的应用程序在开发和部署时的安全性。

如何安全地开发云应用程序 在企业致力于云应用开发过程之前,企业的安全团队应该鼓励开发人员仔细研究安全开发平台、编……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

随着越来越多的企业寻找可部署在云供应商环境中的应用程序,对于健全的安全措施和技术的需求也变得至关重要。那么,如何在云环境中开发应用程序以最大限度地提高安全性呢?这些云应用程序是否有别于内部应用程序?在开发周期和质量保证(QA)过程中,需要有哪些变化?在把应用程序迁移到公共云环境之前,上述所有问题都需要解决。

在本文中,我们将提供一些指导,如何专为云环境开发安全的应用程序,以抵御如今大部分常见攻击。我们还将探讨一些需要落实到位的控制因素,以确保基于云的应用程序在开发和部署时的安全性。

如何安全地开发云应用程序

在企业致力于云应用开发过程之前,企业的安全团队应该鼓励开发人员仔细研究安全开发平台、编码安全选项和云供应商提供的工具。采用编码安全和安全开发措施的平台即服务(PaaS)供应商的典型代表就是Salesforce.com的Force.com,它有一个维基页面,专门介绍开发人员安全和编码的最佳实践。Force.com的维基页面在设计、开发、测试和发布的各个阶段都对安全性进行了概述,这基本上就是一个标准的软件开发生命周期(SDLC)了。Force.com还提供了一些最佳实践的文档,能够帮助我们指导安全决策的自评估工具和供SDLC各个阶段使用的特定工具。同样,微软也为开发人员提供了大量的资源,比如“云计算基础”系列视频。

尽管有这么多资源可以用,但是目前没有一家云供应商能够提供所有资源和其它程序组件,以满足公共云和混合云环境下安全应用程序健全开发的需求。安全云应用程序的成功开发需要我们能够解决云应用的各种风险。安全开发责任人应该考虑到云应用程序比标准内部应用程序更具开放性。这是为什么呢?首先,云应用程序通常被托管和保存在独立于企业核心IT资产的环境中,所以相对于传统应用程序,企业对其的控制权限很少。另外,由于大多数云应用程序都是基于网络的,所以他们很可能要面对各种各样的没有统一标准的Web应用程序的安全威胁,比如跨站点脚本、SQL注入和目录遍历等。

信息安全团队应该建议开发人员仔细审查开放式Web应用程序安全项目(OWASP)列出的十大Web应用程序攻击,然后在把应用程序发布到云环境中之前开发并集成针对这些攻击的缓解方法。许多Web应用程序受到攻击的只要原因是因为缺乏输入过滤,所以开发人员应该限制应用程序可接受的数据类型、长度和格式。开发人员还应该注意避免在基于云的应用程序中暴露应用程序编程接口(API)。因为API滥用一直被云安全联盟列为云计算的主要威胁之一。

保障云应用程序的安全需要身份验证和加密措施

由于云应用程序处于企业网络和监测能力的范围之外,所以它们需要强有力的身份验证和授权控制。开发人员应该确保验证页面或接口能够完全应对所有应用程序内容和功能。账户劫持就是一种常见的云安全问题,所以开发者可能需要实施一种比内部应用程序更为严格的身份验证策略,可以充分利用多因素身份验证和复杂冗长的密码策略。鉴于云应用程序很可能被托管在一个多租户环境中,使用文件和应用程序级别的加密技术可能会是个好办法。虽然从恶意的合作商户中找到可能的妥协方案是很难预料的,但是这时可以使用加密技术并仔细审查库及其它第三方代码组件。

企业现有的SDLC也应该适用于云应用程序的开发和发布。不过在发布到云平台之前,应该仔细考虑代码测试并执行QA过程。考虑到云资产固有的可伸缩性,还应该测试可用性和性能,以确保适当的压力测试。

安全开发需要时间

通常情况下,随着企业迁移到云的速度越来越快,目前已有了快速开发程序的趋势,比如Agile公司。除非企业可以在开发项目的每个阶段都能投入必要的时间和资源来保证代码安全,否则他们想要确保云应用程序的安全必须十分谨慎。很明显,在开发安全的云应用程序时有很多问题需要解决,所以加快这一进程只会增加应用程序易受攻击的风险。

作者

Dave Shackleford
Dave Shackleford

Dave Shackleford是Voodoo安全有限责任公司的所有人和咨询师、IANS资深导师、SANS研究院分析师、高级讲师和课程作者。他已为数百个组织在安全、法规合规性以及网络架构与工程领域提供了咨询服务,是具有丰富安全虚拟化基础设施设计和配置经验的VMware vExpert。Dave之前是Configuresoft公司的CSO、互联网安全中心的CTO、并曾出任多家财富500强公司的安全架构师、分析师和经理。Dave是Sybex一书的作者,虚拟化安全:保护虚拟化环境,以及信息安全课程技术的合作设计者。最近,Dave为SANS研究所合作设计了第一个虚拟化安全课程。目前,Dave在SANS技术研究院担任董事一职,并协助领导云计算安全联盟的亚特兰大分部。

翻译

刘前程
刘前程

TechTarget网站编辑

相关推荐