-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
TLSv1.3 support and OpenSSL 1.1.1 #190
Comments
There are no plans for that; It'd be automatically available when distributions we use (namely Debian and Alpine) will import openssl-1.1.1. |
Good to know :) Thank you! |
In the meantime it works: nginx -vnginx version: nginx/1.14.0 nginx -Vnginx version: nginx/1.14.0 openssl versionOpenSSL 1.1.1-pre5 (beta) 17 Apr 2018 Today, there is even a newer version out: https://www.openssl.org/source/openssl-1.1.1-pre6.tar.gz Haven't tested OpenSSL 1.1.1 pre6 so far! :-) Hope it helps! |
Unfortunately it doesn't work for the Alpine image yet because Alpine does not ship with openssl > 1.1.1 yet.. |
What about using |
Does libressl on alpine offer support for the new TLSv3? |
Looking at this issue ( libressl/portable#228 ), the official documentation ( https://man.openbsd.org/TLS_method.3 ) and the Wikipedia page ( https://en.wikipedia.org/wiki/Comparison_of_TLS_implementations ) it seems it doesn't. I was too optimistic. But An example of Nginx with BoringSSL using Alpine: https://github.com/nginx-modules/docker-nginx-boringssl |
Hmm, in my opinion we should stick with one of the official versions even if that means we have to wait, |
Hi all: Nginx 1.14 and 1.1.5 can be compiled with support for TLS 1.3. Reportedly Nginx 1.13 should work to, but I haven't tested it... #nginx -V nginx version: nginx/1.14.0
|
https://csrc.nist.gov/CSRC/media/Publications/sp/800-52/rev-2/draft/documents/sp800-52r2-draft.pdf In (DRAFT) of NIST Special Publication 800-52, Revision 2 it states: "(...) shall be configured to use TLS 1.2, and should be configured to use TLS 1.3. These servers should not be configured to use TLS 1.1, and shall not use TLS 1.0, SSL 3.0, or SSL 2.0." So, TLS 1.2 and TLS 1.3 are allowed and any older protocol is forbidden... :-)@Archcry
Like you would stick with Linux Kernel 3.10 in CentOS 7 / RHEL 7? In the era of GDPR I would suggest to take cyber security finally more seriously and switch to Linux Kernel 4.16.14 and switch to TLS 1.2 and TLS 1.3... :-) |
I don't think you get the point, Nginx will work just fine with TLSv1.3 but the problem lies with
you're talking about an extreme scenario here, it's not like we need TLSv1.3 because alternatives aren't safe. TLSv1.2 is safe so I don't see why we can't wait for Alpine to update |
@Archcry Please read e.g. Cisco's blog: https://blogs.cisco.com/security/tls-1-3-and-forward-secrecy-count-us-in-and-heres-why Security Fans are Forward Secrecy Fans The goal of forward secrecy is to protect the secrecy of past sessions so that a session stays secret going forward. With TLS 1.2 and earlier versions, a bad actor who discovered a server’s private key could use it to decrypt network traffic that had been sent earlier. For example, suppose someone started recording encrypted traffic in our network on January 1st and then discovered a server’s private key on January 31st. That person could decrypt all of the server’s traffic and make off with the credit card numbers we entered yesterday, our lab results from last week, and our team’s patent application from the week before. With the forward secrecy in TLS 1.3, there’s no longer a single secret value that will decrypt multiple sessions. Instead, TLS 1.3 uses the Ephemeral Diffie-Hellman key exchange protocol, which generates a one-time key that’s used only for the current network session. At the end of the session, the key is discarded. While attackers can still record and store encrypted network traffic, to decode it they need the unique key for each session. A session key won’t decode data sent during an earlier session or help an attacker discover future session keys. Forward secrecy is a best practice for security—which is why we’re all for it. |
But still, the issue lies with Alpine, they should update their |
@Archcry
I agree with you on that of course! :-) |
Anyways, I though |
It's just me or even nginx 1.15.0 image doesn't have openssl 1.1.1, which i'm waiting for to enable TLS1.3?
|
Some alpine + TLS1.3 images available here -- using OpenSSL 1.1.1-beta9. (It supports TLS 1.3 final, not the draft version. Currently non-nightly browsers don't support the final version) |
OpenSSL 1.1.0 is now available in the edge branch of Alpine Linux: The upgrade from 1.1.0 to 1.1.1 shouldn't break any APIs. So I'm looking forward to get TLS 1.3 with the next Alpine Linux release and Debian backports, once 1.1.1 has been released. |
Ye the final release should not be far away now. |
What about re-opening this issue until is really fixed? |
"11-Sep-2018 | Final version of OpenSSL 1.1.1 (LTS) is now available: please download and upgrade!" Let's hope it'll make its way into alpine soon. |
You can track it here: @thresheek would you accept a PR for an image based on a |
No, and until nginx supports 0RTT I dont see any point in moving to openssl 1.1.1. |
pros:
So 1.3 is more secure than 1.2 by default cons: |
Another pro is openssl 1.1.1 supports early callback which allows us to use different ssl_protocols on a per virtual host level: https://trac.nginx.org/nginx/ticket/844 |
Hi @gfrankliu
Why don't use you just TLS 1.2 (as fallback) and TLS 1.3 (otherwise)? Just one config and move on?
In my experience, straddling too many different configs never works well... |
Hi @gfrankliu
I think it's time to let TLS 1.0 and TLS 1.1 RIP. |
There are reasons 1.0/1.1 still there. Only PCI sites deprecated TLSv1.0 for now. |
Hi @gfrankliu
Like what? To keep sites hackable? Seriously?!!
Google frequently screws up cyber security and has minor hacks only, or shall we say admits only to minor hacks? Regardless, Yahoo had a similar disregard for cyber security and got all 3 billions accounts hacked! Yahoo says all three billion accounts hacked in 2013 data theft |
Wow, finally some progress!!!! :-) |
Alpine 3.9.0 has just been released, so as soon as the base image is build this can be fixed. 🎉 |
Hi @J0WI
Wow, that's truly amazing! :-) |
NGINX has webinar which might be useful: TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source: |
I tried with the new image but could not get it to work.
It doesn't seem to give me TLS 1.3
My nginx is this:
Can someone confirm, that the new alpine nginx image really works with TLS 1.3? |
@aiomaster, I checked this yesterday and pulled the latest image, turns out it was still running on the old version of Alpine (3.8) which does not have openssl 1.1.1. I pulled nginx:alpine this morning (9 hours old at that time) and this one does run the latest alpine version making TLS1.3 available! Have fun pulling the latest image and enjoy TLS1.3! |
As of this commit now Nginx can finally run on TLS 1.3. Closing the issue as this is no more :) |
Same as @aiomaster above, same config, pulled the latest image but nginx won't serve TLS1.3 despite having the required versions to do so 😩 pulling from
|
Works for me like a charm. |
As you can see in my config, I did that, but could not get it to work. |
Hype! It worked for me! :) |
@CaptainGlac1er @J0WI @julianxhokaxhiu if it works for you can you provide a snippet of your nginx config to use as an example? |
You can use https://www.ssllabs.com/ssltest/ to verify your config. |
@samkelleher will do when I get home |
Yes, of course! :-)
How to Activate HTTP/2 with TLS 1.3 Encryption in NGINX for Secure Connections without a Performance Penalty |
@aiomaster What else is there in the config, global, other servername bindings. The below config reports running normally, but any request to it remains TLS1.2.
|
@samkelleher This shows up as TLSv1.3 on ssllabs (fyi just don't copy and paste the entire thing as this one is more strict and I haven't fully optimized for 1.3 yet) |
If anyone is interested (I know this is not a support forum, but maybe it is helpfull): |
ssllabs does support SNI. Your issue is nginx doesn't support ssl_protocols settings on the per server level. The default ssl_protocols overrides all virtual hosts. See my comment above #190 (comment) |
Many thanks @aiomaster for your feedback regarding default_server settings. I had same problem than you. |
Thanks, it works
|
Aaand nginx 1.14 is now stable, and not even mainline debian build is built against OpenSSL 1.1.1. When can we expect the debian-mainline to be able to use TLSv1.3? |
bash-4.3# nginx -V How i will update OpenSSL 1.0.2q to 1.1.1 inside alpine container? Please help me out. |
I saw that your current image is build on top of OpenSSL 1.0.2k.
Any plan to move to the newest one, in order to enable support for TLS 1.3?
//EDIT: Sorry, I saw it now that is still to be released ( https://www.openssl.org/news/changelog.html#x0 ). Can you please keep this issue anyway in your future plans? Would be nice to have support for TLS 1.3.
The text was updated successfully, but these errors were encountered: