-
-
Notifications
You must be signed in to change notification settings - Fork 751
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
Enable TLS v1.3 support in the default nginx config #5216
Comments
I believe the target is to deprecate Ubuntu 16.04 LTS after Adding Ubuntu 20.04 LTS. |
Yeah, that would be ideal. The less places and patches we need to maintain the better. |
@punkrokk That's my understanding, but I've not been involved on the discussions prior to this. |
Yeah, I'm 👍 to add TLS 1.3 as and addition or default in We know that U16 doesn't work with nginx & TLS1.3, but we're removing Xenial in this release. I don't know if we want to add - ssl_protocols TLSv1.2;
+ ssl_protocols TLSv1.2 TLSv1.3; or maybe - ssl_protocols TLSv1.2;
+ ssl_protocols TLSv1.3; and how it'll work in practice on other platforms across the OS fleet we support? Probably something to research. @punkrokk @Kami what are your thoughts? |
I thought @armab and I already discussed somewhere (can't find the PR atm) that sadly we can't do that yet since it's not just Xenial that doesn't support TLS v1.3 out of the box, but also Bionic and RHEL 7. I suggested only supporting TLS v1.3 on distros which support it (aka ship with OpenSSL 1.1.1), but that would increase the complexity and make troubleshooting harder. |
I think we could have the install script sed the file based on the distro. Eh? Shouldn’t cause any issues. Eg only update it on newer distros.
JP Bourget / @punkrokk
… On Jun 1, 2021, at 4:21 PM, Tomaz Muraus ***@***.***> wrote:
I thought @armab and I already discussed somewhere (can't find the PR atm) that sadly we can't do that yet since it's not just Xenial that doesn't support TLS v1.3 out of the box, but also Bionic and RHEL 7.
I suggested only supporting TLS v1.3 on distros which support it (aka ship with OpenSSL 1.1.1), but that would increase the complexity and make troubleshooting harder,
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
That's definitely possible, but it's a question of how we want to handle that. Installer script is just one of the "consumers" of that config file (other consumers include ansible playbook, chef, docker, etc.). I believe right now most of the installations methods just copy over that nginx.conf file without any modifications (IIRC, only outlier is docker stuff where we apply a patch which is already error prone and hard to maintainer). And even if we go with that route, the question is how to do it - default to TLS v1.2 and TLS v1.3 in the ngix.conf and then inside installer script remove TLS v1.3 if openssl 1.1.1 is not present or similar... |
@Kami Thanks for more context! That's pretty critical information. The drift in the default installation environment would probably hit us back with different issues and community support. Something we tried to optimize before with an identical configuration across the OS fleet. Security-aware users can modify their configs, or service providers can recommend their clients to do the TLS 1.3 and more security hardening best practices that are not part of the default st2 config. It might be even a good separation of the roles that comes naturally? |
Does enabling TLSv1.3 support cause problems on EL7 / Ubuntu 18? Or will nginix just ignore the protocol it can't support? Line 39 in 6e9306c
- ssl_protocols TLSv1.2;
+ ssl_protocols TLSv1.2 TLSv1.3; edit: context - I just added TLSv1.3 on our EL7 host, and I don't see any errors. |
Good point 👍 I think at this stage it would be nice to check all the OSes we support with a fresh install and if modified nginx config @cognifloyd mentioned works, any issues in the logs, what are the installed SSL versions in the system and how TLS version fall-back works in practice. |
on my EL7 host, I have:
No issues in any of the logs or the journal. It is serving the site just fine. And chrome says I'm connecting with TLSv1.2, which makes sense given the lack of TLSv1.3 support on EL7: |
That may work if we still want to support TLS v1.2 in addition to TLS v1.3, but need to double check since I thought it will error out if the openssl version against which nginx is linked doesn't support TLS v1.3 (but that may only be the case if we only specify TLS v1.3). Another thing is cipher list - if we want to harden the deployment based on the available ciphers which depend on the OpenSSL version we will likely also need to have a special handling for that. Would also help if you can post the output against |
It's using
|
OK, I confirmed it indeed works and falls back to a supported version and doesn't error on startup in case multiple versions are specific and some / one of them is not supported by nginx. That's a good news since we can indeed just do |
Meaning we can include that in v3.5.0. |
We should update nginx config to support TLS v1.3 in addition to TLS v1.2.
Since we still support Ubuntu 16.04, we can't do that easily for the installer (we could make it worth, but it's not the effort and complexity at this point), but we should at least do it for the docker setup (via nginx config patch) to begin with.
That image and nginx version should work just fine with TLS v1.3.
The text was updated successfully, but these errors were encountered: