为了最大限度减少云应用的风险,请确保安全性策略在DevOps项目实施的各个阶段都始终如一地得到贯彻。
DevOps是指应用开发过程的自动化。它将敏捷开发技术应用于应用的部署和运行,其中省去了繁琐的手动操作。由于DevOps被频繁应用于私有和公共云平台的技术支持中,所以安全性必须被完整地贯穿于DevOps过程中,同时它所开发的云应用也应如此。
与传统IT安全模式相比,确保DevOps和云应用的安全性是有所不同的。在传统模式中,企业使用安全性工具来打造一条围绕着企业应用和数据的边界线。但是对于新的云应用来说,为了确保实现有效的安全性,企业需要将安全性措施贯穿于开发过程的每一个步骤以及应用的每个部分之中。这是企业在部署DevOps 中的一个根本性的变化——很多人往往在事后追悔莫及时还没有搞清楚这一点。
在初期阶段,确保云应用开发的整体安全性将需要企业组织在时间和金钱两方面投入巨大。但是,一旦已经建立了应用的安全性模型,那么它是易于操作和维护的。例如,一家企业可能会开发一个提供信用检查数据的云服务,它会使用一个身份验证访问管理系统来进行验证。虽然在内置安全性框架内创建这个服务要比在没有这个约束下创建服务花费更多的时间,但是考虑到较低的违约风险和他们的安全系统能够较容易地适应新需求,企业将可以在后端把钱赚回来。
为了使用这种方法,请确保在你的DevOps过程的每个阶段中都把安全性视作其重要组成部分,其中包括以下五个阶段:
- 连续开发
- 连续测试
- 连续集成
- 连续部署
- 连续运行
所有这五个阶段都使用了一套自动化工具,工具能够让应用通过整个流程直至最终运行。我们的目标是使开发人员可以通过按钮点击的操作就让应用能够在云中运行。
如上所述,安全性应在这五个DevOps步骤中发挥关键作用。例如,连续开发可为开发人员提供设计和开发安全应用所需的工具和库。连续测试在自动化应用测试流程中引入了安全性测试,确保应用程序能够提供一定水准的安全性。安全性也应当是应用集成和部署的一部分。
运行是关键。也许开发人员能够安全地开发出一个应用,但如果使用者不能够用一种积极主动的方法来运行它,那么安全性措施就无法实现所需的保护——至少所提供保护不够长久。例如,为了向开发人员提供风险趋势的数据点(例如基于互联网的攻击等),企业应当建立一个反馈回路并将其集成至一个DevOps流程中。它可允许开发人员更为积极地针对某些风险趋势作出反应,甚至在DevOps模式中建立额外的保护。
如果企业正确地实施了DevOps并管理着他们的云平台,那么他们的应用将在云中安全地运行,这要比在企业内部运行的传统应用安全得多。也许这一点会让很多人觉得难以相信,但是如果你回顾一下最近发生的黑客事件,你就会发现几乎所有的成功黑客事件都只涉及传统的内部部署系统——而与云或DevOps均无关。
设立一个能让你保持积极警惕的自动化系统,就能够让你在DevOps流程中获益颇丰,这一点从现在到未来都是成立的。
本文作者:佚名
来源:51CTO