Skip to content
This repository was archived by the owner on Jul 11, 2023. It is now read-only.

Envoyproxy fails if tlsMaxProtocolVersion is set to TLSv1_2 #5282

Closed
piizei opened this issue Feb 6, 2023 · 5 comments
Closed

Envoyproxy fails if tlsMaxProtocolVersion is set to TLSv1_2 #5282

piizei opened this issue Feb 6, 2023 · 5 comments
Labels

Comments

@piizei
Copy link

piizei commented Feb 6, 2023

Bug description:

Envoyproxy fails if tlsMaxProtocolVersion is set to TLSv1_2.

Affected area (please mark with X where applicable):

  • Install [ ]
  • SMI Traffic Access Policy [ ]
  • SMI Traffic Specs Policy [ ]
  • SMI Traffic Split Policy [ ]
  • Permissive Traffic Policy [ ]
  • Ingress [ ]
  • Egress [ ]
  • Envoy Control Plane [ X]
  • CLI Tool [ ]
  • Metrics [ ]
  • Certificate Management [ ]
  • Sidecar Injection [ ]
  • Logging [ ]
  • Debugging [ ]
  • Tests [ ]
  • Demo [X ]
  • CI System [ ]

Expected behavior:

It should work normally

Steps to reproduce the bug (as precisely as possible):

Install test application (bookstore).
kubectl patch meshconfig osm-mesh-config -n kube-system -p '{"spec":{"sidecar":{"tlsMaxProtocolVersion":"TLSv1_2"}}}' --ty
pe=merge

The pods start failing with 503 trying to connect to each other.

How was OSM installed?:

AKS add-on

Anything else we need to know?:

Bug report archive:

Environment:

  • OSM version (use osm version): v1.2.3
  • Kubernetes version (use kubectl version): 1.24.7
  • Size of cluster (number of worker nodes in the cluster): 3 user + 3 system
  • Others: Fresh aks install.
@keithmattix
Copy link
Contributor

Are your HTTP clients configured with appropriate MaxTLS settings? The intersection of the client and server TLS version lists has to be at least one to prevent 503s

@piizei
Copy link
Author

piizei commented Feb 17, 2023

It's a service mesh, so the client would be also the same envoy?
So you are saying the envoy must be configured with tls_minimum_protocol_version of 1.1 to work?
Does not seem make a lot of sense if you want to use 1.2?

@keithmattix
Copy link
Contributor

I didn't know if it was ingress or not, so I wanted to eliminate that simple case first.

So you are saying the envoy must be configured with tls_minimum_protocol_version of 1.1 to work?

No, what I'm saying is that, in general, the tls supported versions (generated by minTLS version and maxTLS version) have to have at least one element in common. If minTLS version is 1.2 and maxTLS version is 1.2, then that should work.

For your specific situation, I'd need logs, config dumps, and manifests to know more. Let's continue via Azure support for security purposes

@piizei
Copy link
Author

piizei commented Feb 20, 2023

Thanks for clarifying, this is really just fresh installation of the example app with the modification of TLS max version.
Sidecar:
Config Resync Interval: 0s
Enable Privileged Init Container: false
Local Proxy Mode: Localhost
Log Level: error
Resources:
Tls Max Protocol Version: TLSv1_2
Tls Min Protocol Version: TLSv1_2
Traffic:
Enable Egress: true
Enable Permissive Traffic Policy Mode: true
Inbound External Authorization:
Enable: false
Failure Mode Allow: false
Stat Prefix: inboundExtAuthz
Timeout: 1s

jaellio pushed a commit that referenced this issue Mar 20, 2023
#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes #5282. 

Signed-off-by: Whitney Griffith <[email protected]>
jaellio pushed a commit to jaellio/osm that referenced this issue Apr 5, 2023
openservicemesh#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes openservicemesh#5282.

Signed-off-by: Whitney Griffith <[email protected]>
jaellio pushed a commit to jaellio/osm that referenced this issue Apr 5, 2023
openservicemesh#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes openservicemesh#5282.

Signed-off-by: Whitney Griffith <[email protected]>
Signed-off-by: jaellio <[email protected]>
jaellio pushed a commit to jaellio/osm that referenced this issue Apr 7, 2023
openservicemesh#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes openservicemesh#5282.

Signed-off-by: Whitney Griffith <[email protected]>
Signed-off-by: jaellio <[email protected]>
jaellio pushed a commit to jaellio/osm that referenced this issue Apr 7, 2023
openservicemesh#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes openservicemesh#5282.

Signed-off-by: Whitney Griffith <[email protected]>
Signed-off-by: jaellio <[email protected]>
jaellio pushed a commit to jaellio/osm that referenced this issue Apr 11, 2023
openservicemesh#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes openservicemesh#5282.

Signed-off-by: Whitney Griffith <[email protected]>
Signed-off-by: jaellio <[email protected]>
jaellio pushed a commit that referenced this issue Apr 11, 2023
#5292)

Addresses potentially incompatible envoy max tls version
and OSM control plane min tls version by updating the OSM
control plane min tls version from TLSv1_3 to TLSv1_2.

Fixes #5282.

Signed-off-by: Whitney Griffith <[email protected]>
Signed-off-by: jaellio <[email protected]>
@github-actions
Copy link

This issue will be closed due to a long period of inactivity. If you would like this issue to remain open then please comment or update.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants