DevSecOps外部驱动因素
DevOps因为其极高的效率而备受青睐,正在改变组织开发、部署应用程序和与客户交互的方式,但与此同时其安全性问题也出现在人们面前。我们将Devops的安全方面统称为DevSecOps。本文在查阅大量论文的基础上总结分析了DevSecOps的外部驱动因素。
一、安全协议
安全协议不仅展示了云服务的安全控制如何满足安全标准,还展示了客户和合作伙伴的安全可信度。关键的安全协议
1.ISO27001
ISO 27001是一个信息安全管理系统(ISMS),提供了安全保障计划的概述,虽然它不会指定安全方法,但它提供了一整套安全管理程序。
2 .ISO 27017 andISO 27018
ISO 27018主要用于保护云中的个人身份信息(PII)。它是基于ISO 27001和ISO 27002的扩展安全合规性。在ISO 27001/27002之上,ISO 27018还定义了个人身份信息保护的安全要求。
ISO 27017为服务提供商和云服务消费者提供了实施云服务安全控制的能力。 ISO 27017是ISO 27002的扩展,用于解决特定云的安全问题。
3云安全联盟(CSA)
因为存在众多云安全条约,我们在选择条约时可能会遇到困难,云安全联盟将大多数安全合规性方法整合到一个称为CCM的矩阵中。参考CCM的主要好处是我们可以只关注CCM就可以了解所有其他安全合规性规定。此外,CSA还提供了共识评估倡议调查问卷(CAIQ)。对云用户或云提供的是/否调查问卷进行安全自我评估并了解安全控制的要求。 Google供应商安全评估调查问卷(VSAQ)还提供有关Web应用程序安全性,安全性和隐私程序,基础结构安全性以及物理和数据中心安全性的安全评估调查问卷。
4互联网安全中心(CIS)和OpenSCAP
CIS定义了安全基准,提供了有关操作系统,数据库,虚拟化,框架和应用程序的安全配置的指导。
5国家清单计划(NCP)存储库
NCP存储库为特定软件组件提供安全配置。
6 OpenSCAP工具
OpenSCAP类似于CIS安全基准测试; 它还提供安全的配置基线。 此外,OpenSCAP还为操作或基础架构团队提供了不同类型的工具,以进行安全的配置评估和扫描。
二法规
目前虽然没有查到国内存在相关的法律,但是欧盟存在GDPR(通用数据保护条例)。GDPR于2018年5月生效,保护所有欧盟公民免受隐私和数据泄露。GDPR的FAQ(常见问题解答)中提到 “GDPR不仅适用于位于欧盟境内的组织,而且适用于所有处理和保存居住在欧盟的数据主体的个人数据的公司,无论公司的位置如何。”
换句话说,如果有公司向欧盟的客户提供服务,其数据处理需要完全符合GDPR的规定。从DevSecOps的角度来看,它与数据的安全收集、安全处理、安全存储、安全备份、安全修改、安全传输和安全删除息息相关。根据GDPR第5条,其有六项隐私原则:
1.合法性,公平性和透明性
2.目标限制
3.数据最小化
4.准确性
5.存储限制
6.完整性和机密性
与其他安全合规性政策一样,GDPR没有定义实现它的具体技术方法,它需要转化为软件安全需求、模型、工具等,但其出台,标志着相应法规的健全,驱动Devsecps向前发展。
三、新技术
虚拟化、Docker和微服务等新技术引入了新的软件交付方法,加快了应用程序部署,但也带来了新的安全威胁和风险。 下面将简要介绍这些新技术如何改变安全性和DevOps的实践。
1、虚拟化
虚拟化技术有助于最大化利用物理机器资源,比如CPU、内存和磁盘。 但正因为虚拟化是一种共享的OS技术,所以其也为在虚拟化之上运行的应用程序引入了安全风险,例如VM逃逸、信息泄漏和拒绝服务攻击等安全隐患。
2、Docker
Docker不仅仅是一个容器解决方案,它还是一个完整的包装和软件交付工具。
与虚拟化技术相比,Docker容器和主机共享相同的内核,不需要使用Hypervisor层来重新虚拟出一个完整的操作系统。 正是这种简化的体系结构决定了它的自然性能优势,同时也决定了它的安全性比虚拟机弱。 会在后面的文章中专门介绍。
3、代码作为基础设施(IaC)
Puppet,Chef,Ansible和SaltStack是应用IaC的工具。使用这些工具的好处是可以在设计阶段在文本文件中定义任何系统配置,并且可以通过版本管理更改。这将有助于开发团队构建安全配置基线,例如文件权限、防火墙规则、Web配置或MySQL连接。一旦定义了安全配置基线,操作团队就可以监视任何未经授权的更改或将配置回滚到以前的特定版本。
除了以上三点之外,还有市场导向和黑客攻击等其他外部驱动因素共同推动Devsecops走进人们的视野,可以说Devsecops已经是软件从业者不得不面对并重视的问题。那么他在实践中都有哪些应用?哪些工具会帮助解决Devsecops问题?有没有具体的指导策略来帮助人们解决Devsecops?这些我会在后面的文章中逐一解答。