如何部署全面的 DevSecOps 解决方案

保障 DevOps 安全是一项复杂的任务

保障 DevOps 的安全是一项复杂的工作,因为 DevOps 工具正经历着快速发展和变化。容器和 Kubernetes 也带来了更多的复杂性,并且会让您的 IT 面临新的攻击向量和安全风险。开发团队和运维团队必须将安全作为整个应用生命周期不可或缺的一部分,从而保障关键 IT 基础架构和机密数据的安全,与时俱进。 

红帽携手我们的安全生态系统合作伙伴创建了一个框架,为高效部署和扩展高效的 DevSecOps 解决方案提供了稳固的基础和蓝图。红帽® DevSecOps 框架满足整个 DevOps 生命周期的关键安全要求,是全面多层次深度防御安全防护策略的一部分。红帽和我们的安全合作伙伴致力于简化 DevOps 安全防护和加速 DevSecOps 的采用,来帮助您降低风险。 

我们的安全合作伙伴包括 Anchore、Aqua、CyberArk、Lacework、NeuVector、Palo Alto Networks、Portshift、Snyk、StackRox、Synopsys、Sysdig、Thales、Tigera、Trend Micro 和 Tufin,与他们的合作能增强红帽的原生安全功能,提供端到端的 DevSecOps 解决方案,改进您的安全态势并充分利用您在红帽的投资。 

镜像容器 图 1:DevSecOps 框架

 

完整框架涵盖了一系列安全防护方法

红帽 DevSecOps 框架涵盖了九个安全类别以及 32 种方法和技术,旨在解决整个应用生命周期的各种问题。该框架将红帽内置功能、DevOps 工具链和安全合作伙伴解决方案置于管道中的关键集成点。您可以根据您的 DevOps 环境范围和具体要求,在一个类别中实施部分或全部方法和技术。 

平台安全防护

确保您 Kubernetes 平台的安全是首要问题。让它安全、可靠且可扩展地支持业务关键型应用并非易事。事实上,Kubernetes 的部署和管理仍然是企业面临的前两大挑战。1 红帽 OpenShift® 是一个企业就绪型 Kubernetes 容器平台,能够消除复杂性和采用障碍,并包括各种内置的平台安全防护功能。

红帽 DevSecOps 框架为确保底层容器主机(红帽企业 Linux®红帽 CoreOS)以及容器平台的安全提供了基础功能。大部分红帽安全防护功能都是默认启用的,从而能简化部署并尽量降低风险。这些功能帮助您在边界确保容器安全性并避免主机出现容器逃逸情况。 

平台安全防护方法

  • 主机安全:提供 SELinux 强制访问控制、带有安全计算模式(seccomp)用于控制系统调用的内核组件,以及用 CGroups 隔离 CPU、内存和其他资源的内核功能。
  • 容器平台安全防护:提供轻量级的 CRI-O 容器运行时和安全的 Quay 容器镜像仓库。
  • Linux 命名空间:将跨团队、小组和部门的应用隔离开来。
  • Kubernetes 和容器强化:应用 NIST 800-190 和 CIS 基准等标准。

应用分析

应用分析功能帮助您在生命周期的早期发现应用漏洞和其他安全问题。将还需处理的安全问题从 DevOps 生命周期中转移出来,您可以尽早发现并解决漏洞,避免以后的重复工作。

应用分析方法

  • 静态应用安全测试(SAST):分析开发中的代码是否存在漏洞和质量问题。 
  • 软件组成分析(SCA):检查包括在应用中的依赖包,查找已知的漏洞和许可问题。 
  • 互动应用安全测试(IAST)工具和动态应用安全测试(DAST)工具:分析运行中的应用以发现执行漏洞。 

应用分析还包括安全方法,如 GitOps 配置管理和容器镜像风险管理功能(如恶意软件、嵌入式秘密和配置缺陷检测功能)。

身份和访问权限管理

身份和访问权限管理(IAM)方法根据用户或应用身份和管理定义的策略,控制对本地和云资产、应用和数据的访问。它存在于 DevOps 生命周期的每个阶段,可以帮助防止未授权的系统访问和横向移动。

IAM 方法

  • 身份验证和授权控制:验证用户和应用的身份,并授予其对特定资源和功能的访问权。 
  • 基于角色的访问权限控制(RBAC):根据用户的工作职责授予他们对资源或功能的访问权,简化管理和启用流程,并减少权限蠕变。 
  • 身份提供商、秘密库和硬件安全模块(HSM):在静止和传输状态管理和保护安全凭据、密钥、证书和秘密。

其他的 IAM 方法包括容器镜像溯源和镜像签署功能,来验证容器镜像的真实性并建立信任。

合规

合规方法和技术帮助您遵从行业和政府法规以及公司策略。它会在整个 DevOps 管道中自动进行合规验证和报告,帮助您简化审核,避免昂贵的监管罚款和诉讼。

这些方法可改善对各种数据隐私和信息安全法规的合规,包括:

  • 支付卡行业数据安全标准(PCI-DSS)。
  • ISO 27001 信息安全管理标准。
  • 美国健康保险可携性与责任法案(HIPAA)。
  • 欧盟一般数据保护条例(GDPR)。

网络控制和分段

借助网络控制和分段方法,您可以控制、隔离和可视化 Kubernetes 流量。这类方法能助您隔离租户,并保障容器化应用和微服务之间的通信流的安全。

网络控制和分段方法

  • Kubernetes 网络安全策略:在 IP 地址或端口级别控制流量流,并可通过集群入口和出口流量控制、日志和网络可视化进行强化。
  • 软件定义网络(SDN):提供了一个可编程、可适应的网络架构,它可以实时置备,从而支持动态安全要求和不断变化的业务需求。
  • 服务网格:为容器化应用和微服务提供网络分段、网络可视化、身份验证和授权。

数据控制

数据控制方法和技术有助于保护数据的完整性,防止未经授权的数据披露。它会保护静止和运行中的数据,帮助您保护知识产权和机密的客户信息。

数据控制方法

  • 数据加密:提供数据加密、标记化、数据掩蔽和密钥管理功能,来帮助防止数据库、文件和容器中的数据被未经授权披露。
  • 数据保护:发现数据和对其进行分类,监控和审核活动,来帮助保护敏感数据和提高合规性。

运行时分析和保护

生产运行时方法可通过实时识别和缓解可疑和恶意活动,帮助维持集群安全。

运行时分析和保护方法

  • 许可控制器:守护 Kubernetes,管理和执行允许在集群上运行的内容。
  • 运行时应用行为分析:实时检查系统活动和智能检测可疑或恶意的行为。 
  • 运行时应用自我保护(RASP):实时检测和阻止网络攻击。
  • API 管理:控制对 API 的访问和确保 API 流量的安全。

审核和监控

审核和监控方法提供了关于生产环境安全性事件的信息。它会描述事件发生时间和提供可能原因及影响信息,帮助您提高可见性并加速事件响应。

审核和监控方法包括:

  • 安全信息和事件管理(SIEM):通过整合来自分布式设备、端点和应用的日志和网络流数据,集中进行事件报告。 
  • 取证:提供对安全漏洞的洞察,提供支持合规性审核的证据,并加速恢复工作。

修复

当生产中发生安全性事件时,修复方法会自动采取纠正措施。它可帮助您提高正常运行时间,避免数据丢失。

修复方法

  • 安全编排、自动化和响应(SOAR)平台:通过自动化行动和与其他安全工具的集成,响应安全性事件。 
  • 根源性问题修复:自动解决与 Kubernetes 配置错误和违反策略有关的问题。 

结论

红帽 DevSecOps 框架能够奠定可扩展的可靠基础,从而帮助您扩展 DevOps 安全防护和减少风险。红帽与安全合作伙伴拥有简化和加速 DevSecOps 实施所需的技术。想了解更多信息,请联系我们

Mike Vizard,“调查显示 Kubernetes 企业采用率上升。” 容器杂志,2020 年 3 月。