详解DevOps 在企业云安全管理中发挥作用的8大方式

2023-11-01 23:20

本文主要是介绍详解DevOps 在企业云安全管理中发挥作用的8大方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一般来说,安全属于信息安全团队的管辖范围。直到几年前,这种网络安全方法一直运作良好。 

向云计算基础设施的转变创造了一个分散的软件开发环境,这对软件开发的增长和规模起到了重要作用。DevOps 帮助团队以更快的速度创建、测试和实施软件——通过在整个软件开发生命周期中使用广泛的服务来支持这种敏捷性。然而,这样做也引入了新的网络安全漏洞,传统的信息安全孤岛无法管理这些漏洞。为了保护 DevOps 环境,创建了 DevSecOps 部门——一个主要支柱是秘密管理的领域。

1、网络安全是必须的 

云计算安全已成为 DevOps 团队职责的一个组成部分,积极主动地进行云安全管理 (CSM) 至关重要。

2、云安全:防止秘密泄露

除了创建软件外,开发人员现在还必须保护企业的机密免遭未经授权或未经身份验证的访问,并且在开发过程中这样做。秘密是支持访问权限的数字凭证——无论是人对应用程序还是应用程序对应用程序。后者使用“秘密”,例如密码、加密密钥、证书和 API 密钥等。

为了让 DevOps 保护代码免受秘密泄露导致的数据泄露,他们必须首先了解秘密在其环境中扩散的多种方式。秘密通过七个驱动因素滚雪球,包括:基于云原生的开发、多云基础设施、微服务架构、从用户身份到机器身份的转变、AL/ML/数据分析、物联网/嵌入式设备。

这些驱动程序会产生漏洞,因为它们允许更多的错误机会 - 无论是硬编码秘密以加速测试,使用不安全的开源库,还是忽略考虑云的安全性。

虽然有各种技术可以帮助管理机密,包括商业和开源,但一定要考虑企业的预算和要求、当前部署的技术、 DevOps 团队在机密管理方面的经验,以及实施和保持这些技术最新和更新的机会。

3、DevOps 团队保护云基础架构的8种方式

1)确定必要的要求——预先警告是预先准备好的,所以这个过程越早开始越好。大多数公司已经至少部分地在云上,所以有时很难退后一步了解大局。

不要忘记——云服务不仅仅是 AWS、Azure 和 Google。云服务涵盖所有这些 SaaS 应用程序。团队是否在使用 Slack 或其他基于 SaaS 的 DM?

如果开发或 DevOps 团队正在使用他们的 Slack 频道来分享公司机密,那么通过暴力攻击获得 Slack 访问权限可能会使整个企业处于危险之中。

需要通过明确的治理来定义和管理对 CI/CD 管道的访问。 

由于大多数数据泄露是由导致配置错误、机密泄露和糟糕的数字卫生的人为错误引起的,DevOps 和 DevSecOps 负责管理谁可以访问什么——这是每个连接的安全系统的基本要求。

DBA 需要与开发团队等不同的数据访问权限。通过遵循最小访问权限策略并结合正确配置的堆栈,企业将能够降低风险。

所有 IaaS、PaaS 或实际上任何 XaaS 都需要在最基本的级别(凭证级别)进行保护。Google 会定期向其商业客户发送警报,通知他们潜在的凭据泄露。

无论要做什么,都不要忘记 ShadowIT – 确保企业中的每个人都知道他们的凭据泄露可能是最薄弱的环节。ShadowIT 增加了凭证泄露的风险,仅仅是因为 IT 没有意识到许多外部平台突然连接到受控的内部系统。

最后,要从别人的错误中吸取教训。英特尔有一个方便的安全清单,企业可以将其用作确定云安全要求的基础。

2)定义架构——一旦确定了企业的云安全要求,企业将更全面地了解已经使用的云服务类型以及需要添加的其他服务。

云安全始终需要放在首位。企业也有责任保护自己的应用程序、数据、操作系统、用户访问和虚拟网络流量。除此之外,磨练企业员工的配置基础知识。超过 5% 的 AWS S3 存储桶被错误配置为公开可读。

虽然三大云已经投资了很多来保护他们的堆栈,但 PaaS 公司没有这些预算——所以,一定要仔细检查。它被称为“零信任”是有原因的。

借助 SaaS 和 Web 安全,凭证保护再次成为关键。

每种架构类型都需要自己的安全类型——勤奋。例如,混合云基础设施需要“三重打击”的安全性——本地需要高度安全,所有端口都关闭、表面积跟踪,以及高度活跃的安全运营中心 (SOC)。公共云方面需要使用该公共云堆栈可用的最新和最强大的安全技术来保护。它们之间的连接也需要保护免受攻击。

3)分析现有控制并找出差距——对安全堆栈采取零碎的方法效果不佳;从头开始构建显然是一种更彻底、更合理的方法。以下是一些使这成为可能的选项:

  • 云访问安全代理 (CASB) 

  • 云工作负载保护平台 (CWPP) 

  • 云安全态势管理 (CSPM)

  • 静态应用程序安全测试 (SAST)

  • 数据丢失防护 (DLP)

CASB 充当企业和云服务提供商之间的中介 - 并提供配置审计、数据丢失预防、治理和监控等服务。常见的 CASB 包括 Broadcom、Palo Alto 和 Forcepoint。

CWPP 可防止系统过载,例如导致潜在内存溢出的 DDoS 或错误代码。他们监控部署在云基础设施上的云计算资源。CheckPoint、Trend Micro 和 Carbon Black 都提供 CWPP。

CSPM 通过提供持续审计以检测错误配置(包括 Spectral 等)来帮助检测人为错误(安全漏洞的主要原因之一)。

SAST扫描源代码中的潜在漏洞——例如测试后忘记的硬编码数据库访问凭证——以防止由于人为错误/遗漏而泄露机密。

DLP 可能是 CASB 的一部分,也可能是一项单独的技术,通过降低/消除数据泄露风险(无论是不良行为者还是内部资源),提供工具和策略来保护敏感数据。

这些工具可以单独使用,也可以作为更大安全堆栈的一部分使用。它们可以在整个组织内或仅在特定领域内使用——例如用于开发的 SAST。

4)专注于保护自己的的云机密——首先,在理想世界中,通过教育、以安全为中心的文化和足够的工具,永远不会泄露任何机密。但人为错误永远存在。新版本需要更安全。开发人员面临着将代码发布出去的巨大压力。有时他们会采取捷径或尝试使用一个易于记忆的密码来简化跨工具的访问,或者他们使用易于猜测的模式轮换密码。

因此,重点需要放在凭证保护上。密钥和密码需要在可能的情况下自动轮换,无需人工交互。它们必须足够强大以承受攻击。

不要忘记培训员工了解“典型”威胁,例如网络钓鱼、网络钓鱼、中毒链接等。

然而,无论团队多么谨慎,我们都会犯错误。

5)扫描错误配置——如前所述,在追求更快、更快、更好的竞赛中,开发人员一直专注于将代码发布出去。加速该过程的一种方法是将机密(例如数据库访问)硬编码到配置中。有时,他们通过将“读取访问权限”设置为“公共”以进行 QA 和测试来偷工减料。 

问题是开发人员有太多他们关注的其他事情,以至于他们有时会忘记删除这些访问权限——从而使整个系统易受攻击。自动配置扫描是发现这些类型错误的关键,因为没有人真正有时间专门检查每一行配置代码。

6)关注最少访问原则——在理想的世界中,每个人都是 100% 有能力和诚实的,从不犯错误或考虑做错事。

在现实世界中,执行最少访问权限原则——将访问权限限制在严格需要的人身上——将通过降低错误风险、限制损害范围和加强安全性来实现更好的访问管理。例如,当一名会计员工出现错误时,这样的政策可以大大减损失。诚然,最小访问权限可能不是一个足够强大的解决方案,需要通过持续监控来补充,但可以通过以下方式加强:

  • 消除最终用户计算机上的管理员权限

  • 更好地保护帐户凭据

  • 监控特权会话以确保正确使用

  • 限制开发人员访问,除非他们有特定要求

  • 限制对生产系统的访问

权限访问管理技术提供监控、审计和合规性实施。一个好的权限访问解决方案允许轻松分配或即时拒绝,确保仅根据需要进行访问。

7)全面且持续地保护 CI/CD 管道——向左移动是关键。安全性应该从第一行代码开始,而不是留给 QA 或测试。主动安全降低了整个 SDLC 出现问题的可能性——从防止不合规和配置错误到限制秘密泄漏和凭证漏洞。

主动和被动安全需要与开发的每一步齐头并进,在加快响应速度的同时保持一切敏捷。每个开发人员都需要考虑安全性,并且需要检查新旧代码是否存在潜在漏洞。

8)保持简单——自动化是确保整个 SDLC 安全的最快捷、最简单的方法。配置检查、秘密扫描器、身份访问管理、治理、合规性、屏蔽和合成数据都是重要的解决方案。关键是找到能够最大限度地提高云安全性、最大限度地减少误报并保持高质量代码快速且廉价地推出的组合。

最好的解决方案是最简单的:使用最少的工具构建安全堆栈,提供最高级别的安全性和最低级别的误报。不幸的是,实现这种效果相当复杂。许多公司提供可以简化流程的一体化工具或兼容套件,但不能总是指望这一点。与所有庞大的项目一样,最好的方法是一次迈出这一步。

永远不要忘记云安全,企业应检查自己的服务水平协议,找出云提供商留下所有漏洞并进行修改。

GItHub:GitHub - yunionio/cloudpods: A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台 

这篇关于详解DevOps 在企业云安全管理中发挥作用的8大方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326490

相关文章

Mysql数据库聚簇索引与非聚簇索引举例详解

《Mysql数据库聚簇索引与非聚簇索引举例详解》在MySQL中聚簇索引和非聚簇索引是两种常见的索引结构,它们的主要区别在于数据的存储方式和索引的组织方式,:本文主要介绍Mysql数据库聚簇索引与非... 目录前言一、核心概念与本质区别二、聚簇索引(Clustered Index)1. 实现原理(以 Inno

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1