新功能上线与应用演进的速度不断加快,直接推高了架构的复杂性。这种不间断的快节奏不仅源于对新功能的追求,更是日益被层出不穷的新漏洞所裹挟。修补单个关键依赖项,可能会引发一连串必要的更新和意料之外的架构变更,因为每款产品和解决方案都包含无数实现选项,以及各种需要启用或禁用的功能。要将这套复杂的体系适配到您的特定环境中,确保每个组件都按行业最佳实践部署,无疑是一项艰巨的挑战。有效验证模式应运而生,弥合了这一差距。它提供开箱即用且经过严格测试的部署方案,适用于各种用例,让您无需从头开始搭建安全至上的复杂架构。

关于漏洞管理的残酷真相

2025 年,新发布的通用漏洞披露(CVE)超过 40,000 个,意味着每天有 100 多个新漏洞涌现。如今,AI 驱动的漏洞利用生成技术,正大幅缩短从漏洞披露到野外被实际利用的窗口期。《追逐圣杯》一文指出,如果一味追求零 CVE 的完美分数,有时反而会适得其反,因为它会分散我们对深层次纵深防御策略的注意力。一个上午 9 点还“干净”的组件,可能在下午 5 点就被披露出新漏洞。即使您真的实现了零已知 CVE,未知漏洞也始终存在。

对于运行着数百个容器化工作负载的企业环境而言,“补丁算术”(即误认为安全防护仅仅是一场数字游戏,CVE 越少风险就越低)根本站不住脚。与在单一操作系统上运行的传统单体式架构不同,分布式容器环境引入了显著更高的架构复杂性。无数微服务和网络触点提供了海量配置选项,一旦哪个环节出错,都可能在无意中造成安全漏洞。试图立即修复一切问题,不仅是永无止境的徒劳之举,更与基于风险的现代安全策略背道而驰。这种做法还忽略了一个基本事实:无论您多么积极快速地应用更新,修补滞后总是不可避免。

那么,在漏洞披露与补丁部署之间的这段空窗期间,我们该怎么做?答案在于一条已存在多年、但如今比以往任何时候都更加关键的安全原则:零信任架构。

零信任对红帽 OpenShift 集群意味着什么

零信任不是一款可以安装的产品,而是一种架构理念。它假设入侵已经发生,要求每一次交互都必须经过显式验证和授权。根据 NIST SP 800-207 标准,零信任意味着移除那些仅凭物理或网络位置便赋予资源(资产、应用或用户帐户)的隐式信任。在与任何企业资源建立会话之前,身份验证和授权都必须作为独立环节先行执行完毕。

在 Kubernetes 和红帽 OpenShift 中实施零信任,需要采用涵盖工作负载身份、机密管理和运行时访问控制的多层方法。单就网络域而言,这一理念最关键的影响之一,便是摒弃默认的扁平网络态势,即每个 pod 都能自由通信的状态。默认情况下,Kubernetes 不施加任何内部网络限制,这就相当于一栋大楼仅仅因为装了大门(比如集群入口控制器、API 网关或边界防火墙),就放任内部所有房门统统敞开。对于现代云原生环境而言,仅仅依靠这种边界防御是根本不够的。

根据零信任模型,我们假设入侵已经发生,并且恶意行为者已经进入您的环境——这些可能是绕过边界的外部攻击者、被攻陷的供应链组件,或是直接从内部发起攻击的恶意内部威胁。通过实施 Kubernetes 网络资源限制,我们可以创建一个默认拒绝的网络连接,要求必须经过显式身份验证和授权,才能使用网络并访问相连接的其他资源(图 1)。

An illustration of how zero trust can be used to create a default-deny network connection with explicit authentication and authorization required to reach other resources attached to it.

从理论到实践:分层零信任验证模式(ZTVP)

为了将这些最佳实践转化为现实,我们利用了分层零信任验证模式(ZTVP)。该验证模式融合了基础架构即代码(IaC)最佳实践与 GitOps 自动化,大幅缩短了专为安全防护和可扩展性而设计的复杂 OpenShift 部署的设置时间。在过去三个月中,ZTVP 项目取得了重大进展,获得了 Tested Tier(已测试层级)认证。

该模式将多个组件整合为一个统一的、GitOps 部署的零信任架构:

网络策略:最后一道防线

虽然网络策略常被视为零信任的基石,但它们本身并非一项原则,而是一种主动式架构机制,用于强制执行零信任模型的预期结果。红帽概述了零信任的四项核心原则,而精心设计的网络策略能够有效支撑每项原则的实现:

  • 微分段:通过在单个 pod 级别管理流量,网络策略本质上将集群划分为细粒度且安全性更高的分段。
  • 最小权限访问:默认拒绝的安全态势,确保工作负载仅被授予其正常运行所绝对必需的确切网络权限,多一分都不给。
  • 去边界化:安全控制不再局限于集群的“大门”,而是直接部署到工作负载自身周围。
  • 假设已入侵:通过主动消除横向攻击路径,严格的入口和出口规则已就位,一旦发生入侵,立即限制安全事件的波及范围。

此外,Kubernetes 网络策略极为重要的一个方面是,它们与所保护的应用 pod 位于不同的控制平面上。这意味着,即便攻击者成功攻陷容器并在该应用内获得了更高权限,也无法轻易地重新定义或绕过限制它们的网络边界。为了增强内部环境的整体安全态势,并真正将这些原则付诸实践,我们必须定义细粒度的网络策略,在 pod 级别同时管控入口和出口流量:

  • 入口策略:用于控制传入 pod 的流量,强制执行“服务仅接受来自显式授权源的连接”这一规则。如果集群中的相邻 pod 被攻陷,强大的入口策略可阻止攻击者横向访问您的敏感工作负载。
  • 出口策略:用于控制从 pod 传出的流量。其目标是严格限制 pod 可访问的外部或内部资源。如果某个 pod 被攻陷,出口策略能够有效遏制攻击者能力,使其无法窃取数据、执行广泛的网络侦察,或从外部命令与控制服务器下载恶意负载。

default-deny 基础

虽然定义具体的入口和出口规则至关重要,但仅依赖这些规则会留下危险的缺口,让人为错误和欺骗性攻击有机可乘。默认情况下,Kubernetes 以 allow-all 模式运行,这意味着任何未被显式限制的流量都将被放行。如果开发人员忘记应用某项策略,该 pod 就等于门户大开。但风险远不止于无心之失。在供应链攻击中,开发人员可能会在不知情的情况下,被诱骗部署遭到入侵的第三方组件,对暗藏的恶意负载及其后果毫无察觉。

default-deny 策略将这一范式从黑名单机制转变为白名单机制。零信任的核心原则要求每一次交互都必须经过显式授权,因此从逻辑上讲,绝不允许任何隐式访问。通过从一开始就严格阻断所有流量,default-deny 态势营造了一种安全环境:任何意外疏忽(或巧妙伪装、试图回联的恶意容器)都会导致连接被安全地阻断。它迫使您在设计阶段就显式授予访问权限,从而将原本可能悄无声息的灾难性泄露,转变为显而易见且易于修复的部署错误。

这种方法始于一条简单却强大的规则:默认拒绝所有流量。每个命名空间都会收到一个 default-deny 的 NetworkPolicy,除非存在显式允许策略,否则该策略会阻断每个 pod 的入口和出口流量。

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-in-namespace
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

一旦 NetworkPolicy 将命名空间中的某个 pod 作为目标,该 pod 就不再拥有无限制的访问权限。通过定义默认阻断访问的策略,就能与零信任默认拒绝的态势保持一致。

当无法修补时,为何零信任至关重要

设想一个企业场景,类似于臭名昭著的 Log4j 危机,或更近期的 React2Shell 漏洞(CVE-2025-55182)之类的框架冲击:

  1. 您的应用使用的某个广泛部署的库中,突然披露了一个严重远程代码执行(RCE)漏洞。
  2. 攻击者只需向受影响服务发送一个特制请求,该漏洞就会允许其完全接管服务器。
  3. 由于该库深度嵌入您的依赖项中,经过验证的补丁需要数天时间才能完成测试并部署到生产环境中。

对于采用零信任网络策略的企业组织,其影响微乎其微:

  • 攻击者入侵任何 pod 后,都能轻松跨任何命名空间访问易受攻击的服务(无横向隔离)。
    • 实施 ZTVP 网络策略后:攻击者无法从其他命名空间访问服务(命名空间隔离)。
  • 攻击者可以连接到服务上暴露的任何端口,包括关键或管理端口(无端口级过滤)。
    • 实施 ZTVP 网络策略后:攻击者无法连接到未被显式允许的端口(端口级过滤)。
  • 攻击者可以自由发起出站连接,以窃取数据或建立命令与控制(C2)通道(无出口限制)。
    • 实施 ZTVP 网络策略后:攻击者无法将数据泄露到外部端点(出口限制)。

演示:消除攻击路径

我们制作了一个演示视频,直观展示了妥善实施的网络策略如何主动消除攻击路径。最初,我们看到的是一个未采取 default-deny 态势的环境,此时攻击者可以利用供应链漏洞轻松执行大范围侦察,在网络中肆意探测,寻找其他未经修补的组件加以利用。随后我们看到,一旦应用了严格的网络策略,情况便截然不同。

即使攻击者成功入侵了某个 pod,他们侦查网络、扫描漏洞或横向移动的能力也会被完全瓦解。策略将攻击者限制在被攻陷的容器内,从而有效遏制威胁蔓延,为您争取到实施纠正措施所需的关键时间。虽然严格的网络边界并非全面安全策略中唯一的失效保护机制,但它们无疑是构筑最后一道防线的最佳起点。

这个演示展示了网络策略如何将攻击限制在被攻陷的容器内,从而有效遏制威胁蔓延,并为您争取到实施纠正措施所需的关键时间。

全局视野:纵深防御

网络策略只是全面安全策略的其中一层。分层零信任验证模式将这些策略与多种安全机制相结合,包括 SPIFFE/SPIRE 工作负载身份(使用零信任工作负载身份管理器)、Vault 管理的机密、使用身份提供程序(IdP)(如我们默认的红帽构建的 Keycloak)的集中式身份验证,以及红帽 Kubernetes 高级集群安全防护运行时监控。网络策略补全了整个安全图景:即使身份、机密和应用安全防线全部失守,网络层仍能发挥有效的隔离与遏制作用。

但是,如何才能知道网络策略是否真正奏效?又该如何察觉某个已被攻陷的容器是否在反复探测您的内部边界?当零日漏洞利用触发被拒绝的连接时,会发生什么?

我们将在本系列博客文章中解答这些关键问题,探讨分层零信任验证模式如何实施零信任安全实践。以下是后续内容预告:

  • 利用红帽 Kubernetes 高级集群安全防护实现主动防御:实施深度运行时监控、自动化网络策略扫描和实时警报,充当您的安全中枢。
  • 身份与机密:借助零信任工作负载身份管理器和 Vault 集成,更安全地管理工作负载身份。
  • 供应链:通过强制执行内容签名和验证管道任务,实现端到端的软件供应链锁定,确保只有受信任的代码才能进入您的集群。

准备好亲眼见证它的实际效果了吗?无需等待下一篇文章即可开始体验。查看分层零信任验证模式,探索其架构,并亲自尝试网络策略演示。

参考资料

产品试用

红帽 OpenShift 容器平台 | 产品试用

为构建和扩展容器化应用提供一致的混合云基础。

关于作者

Przemysław “Rogue” Roguski is a Security Architect at Red Hat who specializes in shift-left security initiatives focusing on embedding security best practices and attestation into the earliest stages of the SDLC. He contributes security analysis work on Red Hat OpenShift and other OpenShift-related products. He also designs security solutions and processes across Red Hat. 

He contributes to the security ecosystem as a member of the CISA SBOM/VEX working groups, an OASIS OpenEoX Technical Committee member and a key contributor to the CWE program.

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来