介绍

双向传输层安全(mTLS)是一种允许双方进行相互认证的协议。它是某些协议(如 IKE、SSH)的默认认证模式,在其他协议(如 TLS)中为可选模式。您可以在不更改应用程序或服务代码的情况下使用 mTLS。TLS 完全由服务网格基础设施处理,并在两个 sidecar 代理之间进行处理。

默认情况下,服务网格中启用了 mTLS,并设置为宽容模式。在此模式下,服务网格中的 sidecar 同时接受明文流量和使用 mTLS 加密的连接。如果网格中的服务配置为对网格外的服务使用严格 mTLS 进行通信,则通信可能会中断,因为严格 mTLS 要求客户端和服务器之间进行相互认证。在将工作负载迁移到服务网格时,请使用宽容模式。然后,您可以在网格、命名空间或应用程序之间启用严格 mTLS。

目录

创建安全策略

步骤

  1. 在左侧导航栏中,点击 服务列表

  2. 点击要为其创建安全规则的 服务名称

  3. 策略 选项卡下,点击集群右侧的 创建策略 > 安全

  4. 规则 部分,选择 宽容模式严格模式

    • 宽容模式:允许服务同时接受明文流量和双向 TLS 流量。

    • 严格模式:仅允许服务接受双向 TLS 流量。服务只处理由 sidecar 加密的流量,未加密流量将被拒绝。

    注意:启用 宽容模式 允许服务同时接受明文和双向 TLS 流量,大大提升了采用双向 TLS 的便利性。

    例如:当运维人员希望将服务迁移到启用双向 TLS 的 Istio 时,非 Istio 客户端和服务器之间的通信可能会出现许多问题。通常,运维人员无法同时在所有客户端上安装 Istio sidecar,也没有权限这样做。即使在服务器上安装了 Istio sidecar,也无法在不破坏现有连接的情况下启用双向 TLS。

    宽容模式 灵活地解决了这一场景。安装在服务中的 Istio sidecar 立即接受双向 TLS 流量,同时不破坏现有的明文流量。因此,运维人员可以逐步安装和配置客户端的 Istio sidecar 以发送双向 TLS 流量。客户端配置完成后,服务器可以配置为 严格模式(仅 TLS 模式)。

  5. 点击 创建。 创建安全策略时,系统会自动创建客户端规则并默认启用 TLS。