Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS1.3 support #13506

Open
redriverhong opened this issue Nov 26, 2021 · 17 comments · Fixed by #15156 · May be fixed by #18816
Open

TLS1.3 support #13506

redriverhong opened this issue Nov 26, 2021 · 17 comments · Fixed by #15156 · May be fixed by #18816

Comments

@redriverhong
Copy link

version:
image
config:
image
image

Port detection status:
image
image

but, old version(3.4.10) is ok:
version:
image
config:
image
image
Port detection status:
image
image

@serathius
Copy link
Member

I tried to reproduce the issue, but I didn't find an Etcd version that supports TLS1.3.

My setup

./bin/etcd-v3.4.10/etcd --auto-tls --peer-auto-tls   --listen-peer-urls=https://127.0.0.1:2380 --listen-client-urls=https://127.0.0.1:2379

I tested 3.5.1, 3.4.16, 3.4.10
Strange is that golang 1.12 should support TLS1.3 so maybe my methodology is not correct. Please let me know if I missed something

@serathius
Copy link
Member

Found this issue that mentions TLS1.3 is supported 3.4.4+ #11692

@serathius
Copy link
Member

Ok, I have reproduced the issue. On v3.4 I needed to provide GODEBUG=tls13=1 for TLS1.3 to work. However this no longer works on v3.5.1

@serathius
Copy link
Member

Answer Etcd set max TLS to 1.2

cfg.MaxVersion = tls.VersionTLS12

@serathius
Copy link
Member

PR #11110

Looks like the reason is that cipher suites are no longer configurable in TLS1.3
cc @gyuho for more context

@serathius
Copy link
Member

Overall answer is that Etcd never officially supported TLS1.3, however it was possible in v3.4 to enable it by using a golang debug flag GODEBUG=tls13=1. This no longer an option in v3.5.

I think we can consider enabling TLS1.3, however I don't think that lack support in v3.5 is nesesery a bug. cc @ptabor @hexfusion to confirm

@redriverhong
Copy link
Author

While this is not a bug, I think there should be a way to configure support for TLS 1.3.

@stale
Copy link

stale bot commented Feb 26, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Feb 26, 2022
@serathius
Copy link
Member

bump

@stale stale bot removed the stale label Feb 28, 2022
@donalhunt
Copy link
Contributor

also interested in seeing TLS 1.3 support.

side note: just encountered an issue where the use of a older version of a java library (didn't support TLS 1.2 I believe) resulted in issues connected to our etcd cluster. allowing developers to utilise 1.2 or 1.3 would be good since some apps may be built and not revisited for a while - if they get rebuilt with TLS 1.3 the likelihood of a revisit due to a change from 1.2 to 1.3 would not be needed).

@rensx5514
Copy link

bump again

@stale
Copy link

stale bot commented Dec 31, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Dec 31, 2022
@ahrtr ahrtr added stage/tracked and removed stale labels Dec 31, 2022
@serathius serathius changed the title After the upgrade to 3.5.0, the TLS1.3 function is not supported when the etcd port is scanned. TLS1.3 support Jan 20, 2023
@IamSatyaonline
Copy link

Hi @ahrtr @serathius
Is ETCD planning to add the support of TLSv1.3 in coming release ?

Thanks,
Satya

@serathius
Copy link
Member

Noone is currently working on it. Contributions are welcomed!

@NBK27
Copy link

NBK27 commented Aug 14, 2023

Is setting the min and max version configurable using config file?

@jmhbnz
Copy link
Member

jmhbnz commented Aug 14, 2023

Is setting the min and max version configurable using config file?

Hey @NBK27 - It works for me via the following:

tls-min-version: 'TLS1.2'
tls-max-version: 'TLS1.3'

I notice we don't include these fields in our example etcd configuration file so I'll raise a pr to update this.

@tjungblu
Copy link
Contributor

it seems in #15156 we have missed out on setting the same min/max values for grpc proxy:
https://github.com/etcd-io/etcd/blob/main/server/etcdmain/grpc_proxy.go#L200-L223

cc @sanchezl

/reopen

@tjungblu tjungblu reopened this Oct 31, 2024
tjungblu added a commit to tjungblu/etcd that referenced this issue Oct 31, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Fixes etcd-io#13506

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
@tjungblu tjungblu linked a pull request Oct 31, 2024 that will close this issue
tjungblu added a commit to tjungblu/etcd that referenced this issue Oct 31, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Fixes etcd-io#13506

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
tjungblu added a commit to tjungblu/etcd that referenced this issue Nov 4, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Fixes etcd-io#13506

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
tjungblu added a commit to tjungblu/etcd that referenced this issue Nov 4, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Fixes etcd-io#13506

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
tjungblu added a commit to tjungblu/etcd that referenced this issue Nov 4, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
tjungblu added a commit to tjungblu/etcd that referenced this issue Nov 12, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Fixes etcd-io#13506

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
Elbehery pushed a commit to Elbehery/etcd that referenced this issue Nov 14, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
tjungblu added a commit to tjungblu/etcd that referenced this issue Nov 14, 2024
This adds the min and max TLS version support from etcd-io#13506 and etcd-io#15156 to the grpc proxy.

Fixes etcd-io#13506

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

9 participants