前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大规模DevOps安全性 | 第1部分:安全策略即代码

大规模DevOps安全性 | 第1部分:安全策略即代码

作者头像
网络安全观
发布2021-02-26 10:30:04
6270
发布2021-02-26 10:30:04
举报
文章被收录于专栏:网络安全观

蓝海科学 译

DevOps Security at Scale:大规模DevOps安全性

大规模DevOps安全性(DevOps Security at Scale)

第1部分:安全策略即代码(Security Policy as Code)

第2部分:职责分离(Separation of Duties)

第3部分:聚焦流程和速度(Focus on Flow and Velocity)

第4部分:安全作为头等公民(Security as First-Class Citizen)

第5部分:自动化(Automation)

第6部分:技术吸收(Technology Adoption)

Part 1: Security Policy as Code(安全策略即代码)

Published December 19, 2017 by Brian Kelly.

从软件世界第一次对Netflix、Etsy、Flickr和其他公司的高速成就大吃一惊,到现在已经过去了很多年,他们怀着敬畏的心情,在比其他公司开始计划的时间更短的时间内发布功能。他们成功的秘诀被统称为“DevOps”,这是一种交付软件的新方法,其重点是持续集成、持续交付,并打破工程和运营团队之间的障碍,以更快、更低的风险发货。

DevOps现在已经进入主流,并在其最初的硅谷根基之外的许多垂直领域中被发现。它已被银行、保险公司、政府和许多高度管制行业的组织采用。DevOps不再是一种竞争优势。现在,DevOps是赌桌上的赌注。

但是,尽管大多数现代软件团队都很了解DevOps,但是采用它的团队中很少有能够做到这一点,并且能够维护复杂的安全控制。Uber和eBay等一些非常有名的DevOps宠儿,以及许多存储大量敏感个人信息的机构,都经历了严重的攻击。

简单地说,许多采用DevOps的公司已经找到了如何简化开发和运营的方法,但是在大力推动特性速度的过程中,他们把安全性抛在了后面。

然而,有些公司已经了解了如何在DevOps中“快速运行”,同时也保持了非常高的信息安全标准,当我们了解它们的运行方式时,它们中出现了6个基本原则【如图所示】。

安全策略即代码(Security Policy As Code)

到目前为止,在成功将DevOps速度与安全结合的团队中,最重要的因素是他们使用代码来指定他们的安全策略。

DevOps的基础是“基础设施即代码”(infrastructure as code)的概念,也称为“不可变基础设施”(immutable infrastructure)。这是运营人员在代码中声明其基础设施需求的地方,取代了手工管理和配置服务器和软件的旧模式。这种方法防止了人工配置的“独角兽”(unicorn)服务器的激增,以至于没有人知道如果它们失败了如何重新创建它们。更重要的是,它还能启用类似自动伸缩(automatic scaling)的功能,并且当新特性进入不同的测试环境和生产环境时能够创建可预测性。代表此基础设施的代码与应用程序代码一样签入源代码管理,因此可以对其进行版本控制、比较和保护。

具有复杂安全实践的DevOps团队,已经采用了基础设施即代码(Infrastructure As Code)模式,并使用它来管理应用程序的安全性。这意味着新的应用程序或微服务将在代码中声明其安全策略要求。例如,这里有一个微服务的小安全策略,该微服务提供货币转换工具,使用Conjur的策略语言编写:【参见源代码】。

该语法是人类可读的,并且易于理解:代码授予货币转换器服务访问存储货币值的数据库的密码值(password value)的权利。该策略是完全自包含的(self-contained),总是可复写的(reproducible),并且不依赖任何可能改变其未来解释方式的外部因素。它被签入到源代码管理中,并且和它的内部实现一样,也是应用程序代码的一部分。

这对于那些在安全环境中保持高速前进的团队来说,多么具有变革性,无论怎样夸大都不过分。负责管理数千个应用程序的权限的安全人员,可以使用此安全策略即代码模型,以将其团队的能力扩展到新的级别,从而使其工作更具可预测性。将这种方法与在开发、QA、登台(staging)、生产环境中手动配置应用程序的安全权限进行比较,它的好处应该很快就会显现出来。

安全策略即代码对于创建高性能的安全DevOps过程至关重要。没有它,以下安全DevOps的许多基石将无法大规模实现。

在本系列的下一篇文章中,我们将介绍如何使用明确的职责分离,帮助DevOps团队集中精力进一步实现安全的速度。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全观 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档