-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add SNI override for k8s 1.18 config file #5001
Comments
@klizhentas should we backport this to 4.4/4.3/4.2? |
@russjones @andrejtokarcik let's try to fix this soon-ish (before 5.1 is fully ready) |
Will this fix apply only to tsh client and be supported across releases (so for example, a client running tsh client 4.2 w/ 5.1.2 root cluster)? |
Yes, the fix will apply to |
Users should not be using 4.2 clients against 5.1 servers. See https://goteleport.com/teleport/docs/admin-guide/#component-compatibility |
Just to be clear, we are back porting this to 4.2, correct? We have a customer needing this in 4.2. |
4.2 is no longer a supported version of Teleport (see https://goteleport.com/docs/faq/#which-version-of-teleport-is-supported) |
Ugh, there's a wrinkle in implementing this: the k8s endpoint serving cert doesn't have the necessary SAN with a cluster name. So simply setting the same SNI value as we do when talking to the Auth API does not work (without disabling client-side TLS verification) The "correct" way to solve this is to update the SANs we generate for k8s (and all other TLS endpoints) to contain the encoded cluster name. However, that's a bit of a migration. The clients can't set the SNI values until all servers get updated and rotate their serving certs. So backporting it will be a no-go. Need to think through some other possibilities:
|
The "fix" is here #6519 |
All backports merged except 4.3 (pending some unrelated test failures). |
kubectl added support for SNI overrides in 1.18: kubernetes/kubernetes#88769
we should update tsh to set the tls-server-name field in kubeconfig which should, theoretically, solve the problem of 600+ clusters solved in #3870 for tsh
probably requires updating
kube proxy
GetTLSConfigForClient to match logic in middlewareverify that solution solves the problem
The text was updated successfully, but these errors were encountered: