“安全即代码”:整合安全团队和DevOps团队

简介:

随着云计算开发和部署变得越来越快且越来越灵活,安全团队意识到,保护云应用和系统部署的唯一有效方法是开发可整合到部署管道的安全控制,以及尽可能自动化。安全社区很多人将这种方法称为安全即代码,这是采用基础设施即代码的概念,即将所有虚拟和基于云的堆栈组件定义为可配置元素,这些元素只是被视为一种软件定义,并在在配置文件和模板中进行管理。

然而,很多安全团队在采用这种方法时并不顺利。大多数安全专业人士并没有软件开发背景,并且,他们通常与DevOps团队脱节,DevOps团队使用高度自动化和灵活的工具及流程来集成、测试和部署代码到云端。

重要的是要记住,大多数DevOps工程师和开发人员希望他们的部署尽可能安全,但他们需要安全性整合其环境,而不是部署障碍以及使用缓慢而笨重的工具和流程削弱可扩展性和速度。

为此,安全团队应该开始学习DevOps环境中使用的DevOps工具,这通常包括Jenkins、Chef、Puppet、Salt、Ansible、GitHub等。安全团队不需要精通所有这些DevOps工具,但需要注意以下几点:

用于存储和管理代码的DevOps工具。例如,如果Jenkins用于整合GitHub。安全团队将需要知道如何管理权限、当代码签入和推出时Jenkins中可使用哪些日志。此外,源代码扫描和审查应在这个级别进行集成,以确保代码中不包含密码或加密密钥。

用于创建和管理服务器配置及部署编排的工具。Chef、Puppet和Ansible是很多环境中的常见选择,它们都有自己的定义语音和不同的配置文件。安全团队需要整合配置设置和安全策略到这些平台内的定义文件。

幸运的是,所有这些主要配置和自动化工具都有可用的配置模板和策略评估模板,并符合互联网安全中心基准、美国国防信息系统局技术部署指南和其他行业最佳做法和要求。

用于存储和访问登录凭证和密钥的DevOps工具。全面的DevOps做法会规定使用单独的平台用于控制登录凭证和密钥,例如HashiCorp Vault或Ansible Tower。监控和控制对这些平台的控制至关重要,安全团队应该能够独立审查访问并发送日志到远程日志记录库。

在构建系统进行部署时,安全团队需要定义配置设置和策略,并将其集成到正在使用的工具中。通常情况下,这些定义将使用JavaScript Object Notation或者YAML格式进行编码,这两者都易于学习。

当服务器和应用堆栈元素版本得到批准后,安全团队应该部署无法变更的基础设施,在下一个批准的修订版本确定之前,任何更改尝试都将被忽略。上述很多DevOps工具支持这种设置。例如,如果Ansible手册用于生成服务器配置,再次运行该手册将不会导致任何其他更改或问题。

为了成功整合到开发和部署过程,安全团队需要确保团队成员大部分时间都在与DevOps团队协同工具。这种方法(又是被称为DevSecOps)可确保在代码推送到生产或者任何系统在云环境构建之前,所有变更和更新都将得到妥善保护。

然而,这个部署管道整合只是整个流程的一半。安全团队还需要为云端运行的系统和应用提供自动反馈,这将在之后的文章中进行讨论。

本文转自d1net(转载)

相关文章
|
2月前
|
监控 安全 Devops
DevOps实践中,如何平衡开发速度和安全审核的效率
DevOps实践中,如何平衡开发速度和安全审核的效率
|
16天前
|
运维 安全 Devops
DevOps实践中的安全审核和合规性
在DevOps实践中,确保安全审核和合规性至关重要。通过自动化合规审查、持续安全集成、基础设施即代码管理、敏捷合规框架、跨部门合作、教育与培训、实施DevSecOps模型、使用安全编码技术、整合正确工具及采用安全即代码等措施,组织能有效管理并降低合规与安全风险,促进高效可靠的DevOps文化发展。
|
16天前
|
监控 安全 Devops
DevOps实践中,如何平衡开发速度和安全审核的效率
在DevOps实践中,为平衡开发速度与安全审核效率,可采取自动化安全测试、安全编码实践、持续监控与日志分析、集成安全工具、合规性代码审查、基础设施即代码、权限和访问控制、安全培训、漏洞及补丁管理和持续反馈改进等措施,确保高效安全的开发流程。
|
26天前
|
运维 安全 Devops
DevOps实践中的安全审核和合规性
DevOps实践中的安全审核和合规性
|
26天前
|
监控 安全 Devops
DevOps实践中,如何平衡开发速度和安全审核的效率?
DevOps实践中,如何平衡开发速度和安全审核的效率?
|
29天前
|
运维 安全 Devops
DevOps实践中的安全审核和合规性
DevOps实践中的安全审核和合规性
|
2月前
|
运维 安全 Devops
DevOps实践中的安全审核和合规性
DevOps实践中的安全审核和合规性
|
4月前
|
Java Devops 持续交付
探索Java中的Lambda表达式:简化代码,提升效率DevOps实践:持续集成与部署的自动化之路
【8月更文挑战第30天】本文深入探讨了Java 8中引入的Lambda表达式如何改变了我们编写和管理代码的方式。通过简化代码结构,提高开发效率,Lambda表达式已成为现代Java开发不可或缺的一部分。文章将通过实际例子展示Lambda表达式的强大功能和优雅用法。
|
4月前
|
运维 监控 Devops
DevOps 文化建设:促进跨职能团队合作
【8月更文第30天】在当今快速变化的商业环境中,组织需要更快地交付高质量的产品和服务来满足客户需求。DevOps作为一种文化和实践,旨在通过改进开发(Dev)和运维(Ops)团队之间的协作来提高软件交付的速度和质量。本文将探讨如何构建一个积极的DevOps文化,并提供具体的策略和工具来加强团队间的沟通与协作。
337 2
|
4月前
|
监控 安全 Devops
DevOps实践:从代码到部署的无缝过渡
【8月更文挑战第30天】本文通过深入浅出的方式,向读者展示了DevOps文化和实践如何帮助团队实现从代码编写到软件部署的高效、自动化流程。我们将探讨持续集成(CI)、持续交付(CD)以及监控和日志记录的最佳实践,旨在为希望优化软件开发周期的专业人士提供实用指南。文章不展示具体代码示例,而是聚焦于概念理解和实践应用,确保内容即便在没有代码的情况下也具有实质性价值。