2

I have an interesting problem with two Linux servers with Apache 2.4.9: i'm trying to disable SSL v3 and RC4 in order to block POODLE and keep SSL Labs happy. However, whenever i turn off SSL v3, i also lose TLS 1.1 and 1.2 (keeping only TLS 1.0).

Here's my Apache version:

$ apachectl -v
Server version: Apache/2.4.9 (Unix)
Server built:   Mar 24 2014 10:51:20

And OpenSSL:

$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

And Linux:

$ cat /proc/version
Linux version 2.6.32-279.11.1.el6.x86_64 ([email protected]) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Sat Sep 22 07:10:26 EDT 2012

Here's what i tried:

# TLS 1.0 only
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite MEDIUM:HIGH:!RC4

This first one is what i would expect to work, and i have used it successfully in other Apache installations. The result is TLS 1.0 only.

# SSLv3, TLS1.0, 1.1, 1.2
SSLProtocol all -SSLv2
SSLCipherSuite MEDIUM:HIGH:!RC4

This turns off RC4, and keeps TLS 1.0, 1.1 and 1.2, but SSL v3 is also enabled.

finally:

# TLS 1.2 only
SSLProtocol all 
SSLCipherSuite MEDIUM:HIGH:!RC4:!SSLv3

This combination results in TLS 1.2 only (no TLS 1.0 or 1.1, no SSL).

I'm thinking this is a bug in mod_ssl in the Apache i have. I'm curious if anyone here has seen this, and if you have found a way to have TLS 1.0, 1.1 and 1.2 enabled, but SSL disabled.

Thanks.

5
  • You forgot to mention your Linux distribution and the origin of your Apache package. Aug 4, 2015 at 17:19
  • Added Linux version. I don't know the origin of the Apache package, but it wasn't compiled from source. Probably yum.
    – theglauber
    Aug 4, 2015 at 22:48
  • 2
    RHEL 6 did not come with that version of Apache. So that is still a question in need of an answer. Aug 4, 2015 at 22:50
  • I'm sorry, I don't remember how this was fixed, and this has been over 2 years ago. I don't remember which server this was, and it probably doesn't exist anymore. I appreciate the answers, but I can't confirm them, so I'm going to close this question.
    – theglauber
    Jul 9, 2018 at 14:52
  • I can't close, but flagged asking for closing.
    – theglauber
    Jul 9, 2018 at 14:55

2 Answers 2

1

Is the use of MEDIUM preventing TLS 1.1 and 1.2 from being enabled? Below is my config. I don't remember why I forced the cipher order. I just checked at Qualys and it shows Only TLS is enabled 1.0, 1.1, 1.2.

SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
4
  • Thanks for the reply. This enabled TLS 1.0 only (no SSL, no TLS 1.1 or 1.2). I believe the cipher order is to nudge clients to use Forward Secrecy.
    – theglauber
    Aug 4, 2015 at 16:05
  • I am using Scientific Linux release 6.6 (Carbon) with Apache 2.2.15 Jul 22 2015 11:51:03 and OpenSSL 1.0.1e-fips
    – albal
    Aug 4, 2015 at 19:13
  • @theglauber Does this post answer your question?
    – sebix
    Aug 16, 2015 at 19:20
  • No. I tried the suggestion, and the result was it enabled TLS 1.0 only (no SSL, no TLS 1.1 or 1.2). I think i have a bad Apache version or build.
    – theglauber
    Aug 17, 2015 at 15:41
1

You have a couple things going on here. First you are defining the transport layer security protocol versions you are going to support, secondly you are defining ciphers supported which will then be negotiated during the client hello phase of the TLS handshake.

Based on the apache documentation for 2.4 here: https://httpd.apache.org/docs/2.4/mod/mod_ssl.html

You need to define your supported TLS versions, with a line that looks like this in your vhost container:

SSLProtocol TLSv1.1 TLSv1.2

Then you need to define your ciphers in your vhost container as well (included the below as an example):

SSLCipherSuite AES+kRSA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
1
  • Thank you for your answer. This happened almost 3 years ago, and I don't remember what the solution was. I believe that server doesn't exist anymore.
    – theglauber
    Jul 9, 2018 at 14:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .