运维人必须懂得:DevOps 在云安全管理中的作用

举报
优维科技 发表于 2022/06/29 16:23:17 2022/06/29
【摘要】 DevOps 帮助团队以更快的速度创建、测试和实施软件——通过在整个软件开发生命周期中使用广泛的服务来支持这种敏捷性。然而,这样做也引入了新的网络安全漏洞,传统的信息安全孤岛无法管理这些漏洞。为了保护 DevOps 环境,创建了 DevSecOps 部门——一个主要支柱是秘密管理的领域。

#关键要点#

  • 一般的开发和集成会产生漏洞,因为它们允许更多的错误机会。这包括使用不安全的开源代码和硬编码机密来简化测试等。

  • ShadowIT 是一个等待发生的漏洞,因为安全团队并不总是知道现在哪些外部系统可以访问内部系统。

  • 安全性必须既是主动的又是被动的,因此需要在开发的每一步都考虑到它。DevSecOps 无法阻止一切,因此当威胁确实发生时,需要制定政策和程序。

  • 创建新代码时,安全性需要放在首位。旧代码可能不安全,因此在构建新功能时也需要对其进行审查。



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

 

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


1

网络安全是必须的 


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



2

云安全:秘密以及如何防止泄露


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


为了让 DevOps 保护代码免受秘密泄露导致的数据泄露,他们必须首先了解秘密在其环境中扩散的多种方式。秘密通过七个驱动因素滚雪球,包括:基于云原生的开发、多云基础设施、微服务架构、从用户身份到机器身份的转变、AL/ML/数据分析、物联网/嵌入式设备,DevOps。这些驱动程序会产生漏洞,因为它们允许更多的错误机会 - 无论是硬编码秘密以加速测试,使用不安全的开源库,还是忽略考虑云的安全性与云上的安全性。


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



3

DevOps 团队可以帮助保护

云基础架构的 8 种方式


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


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


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


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


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


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


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


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


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


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


云安全与云安全始终需要放在首位。不要忘记您有责任保护自己的应用程序、数据、操作系统、用户访问和虚拟网络流量。除此之外,磨练您的配置基础知识。超过 5% 的 AWS S3 存储桶被错误配置为公开可读。最近,Kafdrop中的一个简单错误配置揭示了一些世界上最大的企业的 Apache Kafka 堆栈。


虽然三大云已经投资了数百万来保护他们的堆栈,但 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% 有能力和诚实的,从不犯错误或考虑做错事。


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


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

  • 更好地保护帐户凭据

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

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

  • 限制对生产系统的访问


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


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


主动和被动安全需要与开发的每一步齐头并进,在加快响应速度的同时保持一切敏捷。每个开发人员都需要考虑安全性,并且需要检查新旧代码是否存在潜在漏洞。最好的开始方式很简单——在编写新代码时,安全地进行。在审查旧代码时,寻找问题。


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


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


检查您的服务水平协议,找出您的云提供商留给您的所有漏洞——并填补它们。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。