gpt4 book ai didi

ssl - Istio 服务网格 TLS 配置

转载 作者:行者123 更新时间:2023-12-04 22:39:55 25 4
gpt4 key购买 nike

我正在尝试从 http 转换在 k8s 上运行的 Istio 服务网格至https但偶然发现了很多问题。我真的不明白这样做所需的所有步骤是什么。
据我所知,有 2 种流量需要在网格中使用 TLS:

  • 内部服务之间 : 翻阅 Istio 文档让我知道 Istio 会以某种方式自动在服务之间配置 mTLS,因此所有服务都可以安全地进行通信,而无需任何额外配置。但是,我仍然不明白他们是如何实现这个 mTLS 的。它与普通 TLS 有何不同?mTLS 在另一种流量(外部客户端到内部服务)中的角色是什么?
  • 从外面的客户到里面的服务 : 这就是我不知道该怎么办的地方。我知道为了让服务拥有 TLS,它需要由受信任的 CA 提供的 TLS 证书。但是,由于外部客户端不会直接与内部服务对话,而只能通过 Istio 入口网关。我需要为每个服务提供证书还是只为入口网关提供证书?我的所有服务现在都为 HTTP 公开端口 80 .我是否需要将它们全部转换为端口 443 和 HTTPS还是只有入口网关就足够了?

  • 关于证书,如果我现在只使用自签名证书,我可以只使用 openssl 创建证书和 key 并从中创建 secret (也许使用 kubed 在命名空间之间同步),那么所有服务都使用相同的证书和 key 吗?到处都建议我使用 cert-manager .但是,我不知道是否值得努力?
    如果有人能用一些插图来解释,我将非常感激。

    最佳答案

    一般来说,如果您需要对 Istio 相关问题的良好解释(也有图片),我建议您查看文档。您可以在 540 topics 附近找到与 Istio 中的 TLS 相关。
    Istio 是一个有据可查的服务。在这里您可以找到有关 Understanding TLS Configuration 的更多信息.您还可以找到关于 Mutual TLS Migration 的好文章.

    However I still don't understand deeply how they implement this mTLS, how does it differ from normal TLS and what is mTLS role in the other kind of traffic (client outside to service inside).


    双向 TLS,或简称 mTLS,是 mutual authentication 的一种方法。 . mTLS 通过验证他们都拥有正确的私有(private) key 来确保网络连接每一端的各方都是他们声称的身份。 .各自内的信息 TLS certificates提供额外的验证。您可以阅读更多信息 here .另外你也可以看到关于 HTTP Traffic的页面(这种情况下需要 mTLS)。

    All of my services are now exposing port 80 for HTTP. Do I need to convert all of them to port 443 and HTTPS or just the ingress gateway is enough?


    可以创建 Ingress Gateway without TLS Termination :

    The Securing Gateways with HTTPS task describes how to configure HTTPS ingress access to an HTTP service. This example describes how to configure HTTPS ingress access to an HTTPS service, i.e., configure an ingress gateway to perform SNI passthrough, instead of TLS termination on incoming requests.


    编辑(添加更多解释和文档链接):

    Service mesh uses a proxy to intercept all your network traffic, allowing a broad set of application-aware features based on configuration you set.


    Istio securely provisions strong identities to every workload with X.509 certificates. Istio agents, running alongside each Envoy proxy, work together with istiod to automate key and certificate rotation at scale. The following diagram shows the identity provisioning flow.


    Peer authentication: used for service-to-service authentication to verify the client making the connection. Istio offers mutual TLS as a full stack solution for transport authentication, which can be enabled without requiring service code changes.


    支持的对等认证模式: Permissive , Strict , 和 Disable .
    为了回答这个问题:

    All of my services are now exposing port 80 for HTTP. Do I need to convert all of them to port 443 and HTTPS or just the ingress gateway is enough?


    我们完全可以告知客户,使用 Istio Gateway 可以使用纯 HTTP、TLS 终止或 PASSTHROUGH TLS 模式将 Istio 服务网格中的服务公开到外部。可以改进传入的 TLS 终止(使用受信任的 CA 批准的 TLS 证书或使用带有 Istio 网关的 cert-manger)。您可以阅读有关此主题的更多信息 here .

    关于ssl - Istio 服务网格 TLS 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69256498/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com