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

allow setting the minimum TLS version #1611

Closed
slingamn opened this issue Apr 8, 2021 · 3 comments
Closed

allow setting the minimum TLS version #1611

slingamn opened this issue Apr 8, 2021 · 3 comments
Assignees
Milestone

Comments

@slingamn
Copy link
Member

slingamn commented Apr 8, 2021

Go supports the following versions:

    VersionTLS10 = 0x0301
    VersionTLS11 = 0x0302
    VersionTLS12 = 0x0303
    VersionTLS13 = 0x0304

(tls.Config).MinVersion can be used to set the minimum version, which defaults to 1.0. Operators may want to increase this.

@slingamn slingamn added this to the v2.7 milestone Apr 8, 2021
@DanielOaks
Copy link
Member

DanielOaks commented Apr 8, 2021

I'll say that I hate allowing configuration of security things like this, but so long as it's for letting admins kill old versions of TLS it'd be fine I guess. So long as we don't bundle any other sort of configuration of ciphers or preferred cipher order or other esoteric specifics in with this - way too many projects expose every weird security detail and give the user the ability to screw up the config and shoot themselves in the foot.

@ChrisTX
Copy link

ChrisTX commented Apr 8, 2021

I wouldn't suggest making ciphers configurable, and TLS 1.3 uses completely different cipher names than 1.2 and earlier. There is a point that OpenSSL and with that nginx don't directly expose them because there are no insecure ciphers in 1.3. It shouldn't need configuration.
However, the reason I brought this up is that gotls enables 1.0/1.1, which are to some extend insecure (they use CBC modes only and HMAC-SHA1 and so on) by default and disabling this is quite valid, and should maybe even be the default.

As for ciphers with 1.2, gotls enables AES-CBC with 1.2, which is considered rather poor. Mozilla for example recommends even for their intermediate configuration to turn them off. In my opinion - feel free to disagree - that configuration should be roughly the default nowadays.

@slingamn
Copy link
Member Author

Here's upstream's plan for this: golang/go#45428

@slingamn slingamn self-assigned this Apr 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants