【问题标题】:Egress Blocking Based on IP Address基于 IP 地址的出口阻塞
【发布时间】:2020-10-21 16:15:15
【问题描述】:

我们希望使用 Istio 来阻止应用程序的出口访问,并拥有 IP 地址和 CIDR 块的允许列表/阻止列表。使用 Istio 是否有任何可能的解决方案?

-伦吉思

【问题讨论】:

  • blocking of egress access from applications 到底是什么意思?允许/阻止所选应用程序的任何 IP? AFAIK 你可以使用authorization policy 和 ipBlocks/notIpBlocks 来做到这一点,there 就是一个例子。另一种选择是使用envoy filterthere 就是一个例子。
  • 我认为他的意思是 EgressGateway istio.io/latest/docs/tasks/traffic-management/egress/…
  • 我的意思是,对于退出网格的流量,如何阻止到特定 IP 的出口流量。如果这可以通过egree-gateway实现,那也足够了。我还想知道,在超大规模器中运行它时,我们真的需要一个出口网关,还是外部流量不能从本地节点退出网格并直接进入云提供商的 NAT 网关。

标签: istio


【解决方案1】:

我们希望使用 Istio 来阻止应用程序的出口访问

我认为您可以为此使用 REGISTRY_ONLY outboundTrafficPolicy.mode

Istio 有一个安装选项,meshConfig.outboundTrafficPolicy.mode,用于配置外部服务的 sidecar 处理,即那些未在 Istio 内部服务注册表中定义的服务。如果此选项设置为 ALLOW_ANY,则 Istio 代理允许对未知服务的调用通过。如果该选项设置为 REGISTRY_ONLY,则 Istio 代理会阻止任何没有在网格中定义 HTTP 服务或服务条目的主机。 ALLOW_ANY 是默认值,允许您快速开始评估 Istio,而无需控制对外部服务的访问。然后,您可以决定稍后配置对外部服务的访问。

更多关于herehere的信息。

并拥有 IP 地址和 CIDR 块的允许列表/阻止列表。

AFAIK 在 istio 中创建允许/阻止列表的唯一方法是使用 AuthorizationPolicyEnvoyFilter

我发现他们使用 AuthorizationPolicy 和出口网关的例子很少,例如here

他们只是将 AuthorizationPolicy 标签从 app: istio-ingressgateway 更改为 app: istio-egressgateway

spec:
  selector:
    matchLabels:
      app: istio-egressgateway

我正在寻找任何有关 ip/cidr 的示例,但我找不到任何东西,所以我不确定这是否适用于出口网关。

其他资源:

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 2020-02-11
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    相关资源
    最近更新 更多