TLSv1 is being obsoleted this Spring


dlandon

Recommended Posts

11 minutes ago, dlandon said:

Based on what I've read, it won't be an option after March 2020.

That is assuming that users are not running old versions of devices/software that require the older variants of TLS?

There will be a difference between servers requiring the new version and what the clients support I would think?   

Link to comment

Well you've really sent me down the rabbit hole :)

 

Tagging @limetech for visibility

 

Not only should we disable TLSv1 and 1.1, we should enable 1.3. Lots of good info here:
  https://en.wikipedia.org/wiki/Transport_Layer_Security 
 

 

According to this page:
  https://qsportal.atlassian.net/wiki/spaces/DOC/pages/3571715/TLSv1.2+Browser+Compatibility 
TLSv1.2 has been enabled by default in most browsers for quite a while now:

  • Chrome since version 38 (2014)
  • Firefox since version 27 (2014)
  • Safari since version 7 on OSX 10.9 (2013)
  • IE since version 11 (2013)
  • Edge (all versions)
  • Android since Lollipop (2014)
  • iOS since iOS 5 (2011?)

So the risk of dropping TLSv1 and 1.1 seems very small.

 

If people really want to keep using their obsolete clients and don't care about the security issues, I see two options:

  1. add an option to the webgui to enable v1 and/or v1.1 (if we think a lot of people will need this)
  2. or provide a sed command that people could manually add to their go script that adds TLSv1 and/or TLSv1.1 to the nginx.conf. 

 


Speaking of which, users who want to secure their systems today can use a good text editor (such as Notepad++, not Notepad) 
to edit the /config/go script in their "flash" share.  Add these lines to the top of the file (above the reference to emhttp):

# disable TLSv1 and TLSv1.1, enable TLSv1.2 and TLSv1.3
# see https://forums.unraid.net/topic/86949-tlsv1-is-being-obsoleted-this-spring/
# Note: this is not needed in Unraid 6.8.2 and higher
sed -i 's/TLSv1 TLSv1.1 TLSv1.2/TLSv1.2 TLSv1.3/' /etc/nginx/nginx.conf

Before rebooting, if you type this command:

grep ssl_protocols /etc/nginx/nginx.conf

you should see:
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;

After rebooting with the updated go script, that same command should return:
    ssl_protocols              TLSv1.2 TLSv1.3;

 

To undo this change, delete those lines from the go script and reboot.

Edited by ljm42
  • Like 1
  • Thanks 1
Link to comment

 Here is a tool for checking the status of SSL installations on your internal network:
  https://github.com/drwetter/testssl.sh
It is a command line tool, no GUI. You can run it from the Unraid command line like this:

docker run -ti drwetter/testssl.sh <unraid host>:<unraid port>

(Note that after running this command, the "testssl" docker will show up in the Unraid webgui. 
You can't really run it from there, although you can use the webgui to delete it if you want.)

 

When run against stock Unraid 6.8.1-rc1, testssl reports:

 SSLv2      not offered (OK)
 SSLv3      not offered (OK)
 TLS 1      offered (deprecated)
 TLS 1.1    offered (deprecated)
 TLS 1.2    offered (OK)
 TLS 1.3    not offered and downgraded to a weaker protocol
 NPN/SPDY   h2, http/1.1 (advertised)
 ALPN/HTTP2 h2, http/1.1 (offered)

After making the changes above it confirms that only 1.2 and 1.3 are offered (good!):

 SSLv2      not offered (OK)
 SSLv3      not offered (OK)
 TLS 1      not offered
 TLS 1.1    not offered
 TLS 1.2    offered (OK)
 TLS 1.3    offered (OK): final
 NPN/SPDY   h2, http/1.1 (advertised)
 ALPN/HTTP2 h2, http/1.1 (offered)

 

Link to comment
  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.