Currently, Envoy forwards the client certificate to ext_proc through the x-forwarded-client-cert header.
atunnel sends a bare CONNECT request to the egress gateway. The request has Method, URL, and Host and no Header map at all.
- The egress filter chain sets
forward_client_cert_details: SANITIZE_SET, so whatever a client sends under this name is discarded and replaced by Envoy's own value.
We should avoid forwarding the client cert from Envoy to ext_proc through a header. The separation of trusted data from Envoy from potential user-supplied data makes it easier to prove the system is secure.
cc Taahir Ahmed (@ahmedtd) Bowei Du (@bowei)
Currently, Envoy forwards the client certificate to ext_proc through the
x-forwarded-client-certheader.atunnelsends a bareCONNECTrequest to the egress gateway. The request hasMethod,URL, andHostand noHeadermap at all.forward_client_cert_details: SANITIZE_SET, so whatever a client sends under this name is discarded and replaced by Envoy's own value.We should avoid forwarding the client cert from Envoy to ext_proc through a header. The separation of
trusted data from Envoyfrompotential user-supplied datamakes it easier to prove the system is secure.cc Taahir Ahmed (@ahmedtd) Bowei Du (@bowei)