envoyproxy/envoy

ext-authz cannot be used with DNS.

Open

#4,637 创建于 2018年10月8日

在 GitHub 查看
 (9 评论) (0 反应) (1 负责人)C++ (5,373 fork)batch import
area/ext_authzbughelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

Issue Template

Title: ext-authz cannot be used with DNS.

Description:

When using a statically configured ext-authz cluster that has a cluster type of STRICT_DNS or LOGICAL_DNS the ext-authz filter will use the incoming host header for routing requests. This is problematic because if the wrong host is selected during routing traffic will flow to a cluster that may return 200 and allow traffic through where it shouldn't.

Repro steps:

  • Statically configure a cluster for accepting ext-authz traffic. This cluster must use DNS as its cluster type.
  • Configure any routes (ex: "foo.local", "bar.local")
  • send requests to "foo.local". Requests intended for auth.local will instead be routed to foo.local.

Config:

filters:
  - name: envoy.ext_authz
    stat_prefix: ext_authz
    grpc_service:
      envoy_grpc:
        cluster_name: ext-authz

clusters:
  - name: ext-authz
    type: STRICT_DNS
    http2_protocol_options: {}
    hosts:
      - socket_address: { address: auth.local, port_value: 80 }

贡献者指南