0

I can't get the TLS_FALLBACK_SCSV to work when testing on SSLabs, keeping me from an A+ rating.

Seems it an issue of libssl, not nginx configuration. I have updated to OpenSSL 1.0.1k 8 Jan 2015, but still it fails. (Have also disabled SSLv2/3.)

What's missing?

knutole
  • 243
  • 2
  • 11
  • 2
    How did you do the update? Are you sure that nginx is actually using the updated version? – Steffen Ullrich Jan 08 '15 at 18:02
  • How do I check? I updated by downloading tarball, ./config && make && make install, then copied openssl to /usr/bin/, overwriting the old openssl. – knutole Jan 08 '15 at 18:11
  • 2
    This way you've just installed the openssl binary but not the library. Instead you have to built OpenSSL with the same install path (both for binary and library) as the existing installation and do the install. If the some API used by nginx etc changed you might even need to rebuild all the binaries which make use of the OpenSSL library. – Steffen Ullrich Jan 08 '15 at 18:17
  • Thanks. So I should build OpenSSL with these options? `./config --prefix=/usr/bin --openssldir=/usr/bin/openssl` – knutole Jan 08 '15 at 18:20
  • Would really appreciate some simple steps here. Thank you! – knutole Jan 08 '15 at 18:39
  • Yep, that did the trick. Compiled nginx with custom OpenSSL version. Thanks a bunch! If you wanna write up a quick answer, I'll accept it. – knutole Jan 08 '15 at 20:35
  • Did you build the rest of Linux yourself too? This is a very bad idea; you should instead get the update from your distribution vendor. – Michael Hampton Jan 09 '15 at 01:23
  • 1
    Michael Hampton: not everything under the sun is guaranteed to be available from vendor. It's naive to assume either extreme is true. – Abel Cheung Jan 09 '15 at 02:30
  • @MichaelHampton Thanks for raising the issue. Seems it's safe to compile own version of nginx with latest OpenSSL if one checks the hash. It would have been cleaner to get the distro version of OpenSSL, but alas, not a simple task! So separating things like this is good enough for me - got full control of binaries and most importantly, it works. Thanks – knutole Jan 09 '15 at 11:35
  • It would help if you mentioned your distribution. Perhaps someone has made ready-to-install package distribution of patched OpenSSL for that distribution. That is a reasonable expectation for many distributions actually. – Tero Kilkanen Jan 10 '15 at 02:57

1 Answers1

2

No update is needed to prevent the vulnerability.. Just refusing connections through SSLv3 is a quick fix.

Put the following lines in your configuration file, or replace any existing line starting with ssl_protocols:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'AES128+EECDH:AES128+EDH';

Then run: $ sudo service nginx restart

You can test running command $ openssl s_client -connect <host>:<port> -ssl3

knutole
  • 243
  • 2
  • 11
gwdp
  • 135
  • 6