在IT业的今天,DevOps正成为一个公认的概念。DevOps模型最初被创建来用于加强开发和运营团队之间的联系,以此达到更高效的软件交付。尽管很多公司通过DevOps获得了敏捷性,DevOps还是有其缺点—尤其是在安全方面。
在一般情况下,DevOps关注于加速应用,以及包括那些会在云端运行的应用的交付过程。但是,安全性往往是事后才考虑的。许多组织如果有实施安全也是在开发过程结束的时候才做。这种追加的方式意味着安全过程没有渗透到整个服务,因而让服务易于遭受攻击。
DevOps和安全之间的差距可能会成为一个主要的问题,但是一个已知的概念叫做坚固DevOps可以有助于解决该问题。
实现面向云的坚固DevOps模型
Rugged DevOps是一种将安全注入到DevOps早期过程中的方式。与坚固软件开发类似,坚固DevOps提供一种防御性更强和更安全的结构而不会阻碍持续集成和软件交付。组织应该将安全代码嵌入扎根到他们的DevOps过程中。
遵循这五大技巧将坚固DevOps嵌入到你的云应用开发生命周期中。
1.自动化手动安全测试
自动化在DevOps中很重要因为它提供了准确性和速度。应用交付需要高效,而手动安全测试就是不够快。更重要的是,第三方在外部手动测试中往往会漏掉测试错误。
尽管组织不需要完全抛弃手动测试,他们应该将自动化过程提上日程。安全团队应该确定如何自动实施他们的手动过程。当嵌入坚固DevOps到你现有的云环境中时,对安全测试工具进行审核以确保可以将其加入到持续集成和应用交付过程中。然后,删除或替换不适合DevOps的工具或者不能与你的云业务集成的工具。
2.尽早优先处理安全性
尽管IT行业采用敏捷和DevOps过程的比例很大,安全测试周期仍然还是基于传统繁琐的瀑布模型。这意味着许多组织忘记做安全资格测试,如PCI检查和风险评估,直到几乎为时已晚。为了更有效地同步安全和DevOps周期,从开发过程一开始就进行安全测试。
3.建立跨职能团队参与
实施坚固DevOps,安全团队需要开发和运营团队紧密合作。当这么做时,安全专家应该保持开放的心态去了解他们同事的文化和语言。这样,这种关系就成了一种真正的伙伴关系而不是一种机械的形式。
4. 在运营中嵌入安全工具
在一个坚固DevOps模型中,安全团队应该让组织的其他部门也了解安全工具。通过分享技术知识,企业将有更广阔的劳动力,可以解决在第一线的安全问题。为了帮助小的安全团队在更大的DevOps组织内扩展其业务影响力,可以把安全工具包括在通用的操作工具包里。
5.监控和审计集成过程
紧密监控和记录集成和交付流程,以确保高质量的软件。这也有助于识别安全问题。使用粒度变化日志为审计人员准备信息,以及可扩展的云安全监测工具。这些工具应能够自动跟踪和测量新添加的资源。此外,它们应汇总监测数据和快速检测实际的问题,同时消除误报。
Netflix借助FIDO实现坚固DevOps
Netflix做为DevOps和云的代表,提供了一个坚固DevOps的范例。今年,该公司发布了一个叫做Fully Integrated Defense Operation(FIDO)的新的开源系统,可以自动协调对安全威胁的评定,评估和响应。Netflix的系统还会在目标计算机或网络上同外部威胁信息进行事件比较然后决定是否需要采取行动,以及应该采取什么行动。
业界向云的迁移加速了向DevOps的迁移,并在自动化和可重用应用交付上引发了令人惊喜的变化。随着全世界最大的企业迁移到云并使用敏捷和DevOps 模型交付他们的服务,安全性已变得至关重要。组织应该像处理服务质量,包括性能的其他方面一样处理安全管理。请务必在集成和交付的过程中自动化和简化事件模拟和测试。这将确保你的最终用户能享受到一个安全可靠的云服务。
原文链接:http://www.searchcloudcomputing.com.cn/showcontent_91309.htm