如何利用网络应用经验开发云应用?

随着越来越的企业寻找着可部署在云厂商环境中的应用程序,业界对于健全的安全措施与技术的需求也变得至关重要起来。

随着越来越的企业寻找着可部署在云厂商环境中的应用程序,业界对于健全的安全措施与技术的需求也变得至关重要起来。那么,应当如何开发云计算环境中的应用程序以便于实现安全性的最大化呢?这些云应用是否有别于传统的内部应用程序呢?在开发周期和质保(QA)过程中,需要有什么样的变化呢?在把应用程序迁往公有云环境前,就必须解决所有上述这些问题。

在本文中,我们会提供指导,介绍如何特别地为更易于受到当今最常见攻击的云开发安全的应用。我们还将讨论一些需要落实到位的控制措施以便于在应用开发和部署之后还能确保这些云应用的安全性。

如何安全地开发云应用

在企业一头扎进云应用开发过程之前,企业的安全团队就应当鼓励他们的开发人员摸索安全开发平台、编程安全产品以及由云厂商所提供的相关工具。采用代码安全措施和安全开发措施的平台即服务(PaaS)供应商的典型代表之一就是Salesforce.com的Force.com,他们在维基上有专门的一个页面介绍开发人员安全与编程最佳实践。Force.com的维基页面对设计、开发、测试以及发布各个阶段的安全问题分别进行了全面的概述,这基本上就是一个相当标准的软件开发生命周期(SDLC)了。Force.com提供了一些最佳实践的文章,一个可以帮助指导安全决策的自评估工具以及专供SDLC各个阶段使用的特定工具。同样,微软公司也提供了一些适合开发人员使用的资源,其中包括该公司的“云计算基础”系列视频。

如何基于网络应用经验开发云应用

虽然有了这些可用的资源,但是目前还没有任何一家云厂商能够提供所有的资源和其他的程序组件,以便于满足在公有云和混合云环境中确保安全应用程序健全开发的需求。成功的安全云应用开发要求我们能够根据云应用的风险特点采取有针对性的措施。安全开发的责任人应当把云应用视为比标准内部应用程序更具开放性的开发对象。这是为什么呢?首先,云应用通常都存在于一个独立于企业核心IT设备以外的环境中被托管和维护,因此与传统的内部应用程序相比,企业对云应用的控制权限更少。其次,大多数云应用都是基于网络的,这就意味着很可能需要面对各种各样标准尚未流行的网络应用程序的安全威胁,其中包括了跨网站的脚本程序、SQL注入以及目录遍历等。

一个信息安全团队应当建议其开发人员认真考虑开放式网络应用程序安全项目(OWASP)提出的十大网络应用程序攻击,然后在发布应用程序并部署至云计算环境前开发和集成针对这些攻击的缓解措施。很多网络应用程序受到攻击的主要原因就在于缺乏对输入的过滤,所以开发人员应当严格定义应用程序可接受的数据类型、长度和格式。开发人员还应当小心谨慎,尽可能地避免在他们的云应用中暴露应用程序编程接口(API)。一直以来,API滥用被云计算安全联盟列为云计算的主要威胁之一。

云应用安全性意味着认证和加密

鉴于云应用游离于企业网络和企业监控的范围之外,要实现他们的认证和授权就必须施以更高强度的控制。开发人员应当确保认证页面或接口能够完全驾驭所有的应用程序内容和功能。账户劫持则是另一个常见的云计算安全问题,所以开发人员可能需要实施一种比内部应用程序更严格的身份认证策略,他们应尽可能地充分利用多元认证方法、强大的密码复杂性和长度策略。鉴于云应用被托管在多租户环境中,使用文件和应用程序级加密技术可能是非常适合的。虽然恶意合作租户妥协方案的可能性是难以预料的,但是使用加密技术和认真审查库及其他第三方代码组件是可以遵循的稳健做法。

一个企业的现行SDLC也应适用于云应用的开发和发布。在正式发布至云计算平台前,应考虑强制性地仔细测试代码和执行QA流程。由于考虑到云计算资源固有的可伸缩性,应执行可用性测试、性能测试以及一定程度的压力测试。

安全开发需要一定的时间

一般情况下,随着企业越来越迅速地实施云计算,目前业界已出现了一个快速开发程序(如Agile)的发展趋势。除非企业能够在开发项目的每个阶段都能够投入必要的时间和资源以确保代码的安全性,否则这些希望实现他们云应用安全性的企业就应当在交付这样的应用程序时特别地审慎。显而易见,当开发安全云应用时,有大量的问题需要予以关注和解决,所以加快这一过程的后果只能是增加出现有问题应用程序的风险而已。

(0)

相关推荐

  • 如何利用editplus来开发一个案例

    对于刚入手接触Java开发的朋友来说,一定要接触几个Java开发编程实例,这里主要说的是如何利用editplus来开发一个案例 操作方法 01 首先打开editplus软件,如下图所示: 02 然后新 ...

  • 华为云的软件开发云工具如何快速部署PHP网站

    键式部署省去了搭建测试环境的大量人力成本,在敏捷开发中优势十分明显.今天我想和大家分享一下我是如何通过华为开发云进行PHP网站的快速部署的. 操作方法 01 授信主机的添加 因PHP开发的项目不需要进 ...

  • 怎么利用爱奇艺云编辑做简易视频

    怎么利用爱奇艺云编辑做简易视频

  • 阿里云ACE整体介绍

    什么是Cloud Engine Cloud Engine(云引擎,简称CE),是阿里云历经多年研发,于今年7月推出的一款基于弹性计算平台的web应用运行环境,能够提供应用的线性伸缩、动态扩容以及多种相 ...

  • 阿里云主机是什么

    阿里云主机是什么 阿里云提供的云主机服务是基于阿里云自主研发的飞天大规模分布式计算系统,通过虚拟化技术整合IT资源,为各行业提供互联网基础设施服务。云服务器具有自助管理、数据安全保障、自动故障恢复和防 ...

  • 春运秒杀 傲游云浏览器抢票攻略

    “回家”是每年春运不变的话题,“如何回家”是每个在外游子头疼的问题。2013的春运大战已拉开序幕,你有什么期待?依旧还是“购票难,难于上青天”吗?不要担心,在2013春运这场年度大战里,小编给你带来傲 ...

  • 解密QQ音乐指纹 云音乐演绎个性化生活

    音乐收藏夹里的陈列歌单,如指纹一样代表着个人的音乐品味。解密音乐指纹,就能了解这个人在一段时间内喜欢的音乐风格、种类甚至性格特征。QQ音乐创新的云音乐体系,同步不同终端的用户行为,保证了多终端时代音乐 ...

  • 使用VS Code搭建Python开发环境

    VS Code界面优美,还可以安装各类插件,我就以Python开发为例,如何利用VS Code开发 Python基础包 01 推荐使用Anaconda,这个是集成python开发包,里面包括很多必要的 ...

  • 如何使用网页版百度云

    网盘是由推出的一项云存储服务.网友们可以通过云进行文件资料的储存.好友资源共享等,下面,小编带您进入云的世界-- 操作方法 01 注册. 首先,利用搜索引擎找到百度云的官方网站,用手机号注册一个百度账 ...