Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1044191 - [RFE] support TLSv1.1 and TLSv1.2, if supported by NSS
[RFE] support TLSv1.1 and TLSv1.2, if supported by NSS
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base (Show other bugs)
7.0
Unspecified Unspecified
high Severity unspecified
: rc
: ---
Assigned To: Rich Megginson
Viktor Ashirov
: FutureFeature
Depends On:
Blocks: 1118285
  Show dependency treegraph
 
Reported: 2013-12-17 16:49 EST by Nathan Kinder
Modified: 2015-03-05 04:32 EST (History)
3 users (show)

See Also:
Fixed In Version: 389-ds-base-1.3.3.1-1.el7
Doc Type: Enhancement
Doc Text:
Feature: Based upon the NSS library available on the system, the Directory Server supports the SSL versions in the range manner offered by the NSS library. By default, for the security reason (POODLEBLEED) SSLv3 is disabled even if it is offered by the NSS library. Restriction is available in the encryption config entry as follows. dn: cn=encryption,cn=config sslVersionMin: <minimum version> sslVersionMax: <maximum version> The values for the version is SSL3, TLS1.0, TLS1.1, TLS1.2, ... up to the max version available.
Story Points: ---
Clone Of:
: 1118285 (view as bug list)
Environment:
Last Closed: 2015-03-05 04:32:45 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
CI test script (37.48 KB, text/plain)
2014-10-23 17:11 EDT, Noriko Hosoi
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0416 normal SHIPPED_LIVE Important: 389-ds-base security, bug fix, and enhancement update 2015-03-05 09:26:33 EST

  None (edit)
Description Nathan Kinder 2013-12-17 16:49:15 EST
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/389/ticket/605

https://developer.mozilla.org/en-US/docs/NSS/NSS_3.14_release_notes

We will have to do this in ds, admin server, dsgw, adminutil, and perldap.
Comment 1 Rich Megginson 2014-06-23 12:49:03 EDT
AFAIK, the commit for upstream ticket 605 also adds support for TLSv1.2 - is this correct?
Comment 2 Noriko Hosoi 2014-06-23 15:18:24 EDT
(In reply to Rich Megginson from comment #1)
> AFAIK, the commit for upstream ticket 605 also adds support for TLSv1.2 - is
> this correct?

Yes, as long as the coexisting NSS supports it.  NSS returns the min and max supported versions.  We examine the NSS version and if TLSv1.2 is available, we enable it.
Comment 3 Rich Megginson 2014-06-23 16:18:37 EDT
Ok, Thanks! - I'm changing the description to be more accurate (and searchable by interested parties)
Comment 6 Noriko Hosoi 2014-10-23 17:11:27 EDT
Created attachment 950071 [details]
CI test script

(In reply to Jenny Galipeau from comment #5)
> Please add details as to implementation, usage and expect behaviour or link
> to design page.
> Thanks
> Jenny

Covered by upstream CI test.
Comment 7 Sankar Ramalingam 2014-12-03 05:12:46 EST
I successfully configured SSL with nstls1:on for cn=encryption,cn=config.

The minimum supported version shows: tls1
Max supported version shows tls1.2

dn: cn=encryption,cn=config
objectClass: top
objectClass: nsEncryptionConfig
cn: encryption
nsSSLSessionTimeout: 0
nsSSLClientAuth: allowed
sslVersionMin: TLS1.0
nsTLS1: on
nsSSL3Ciphers: +all
nsSSL2: off
nsSSL3: off
sslVersionMax: TLS1.2

Do we need to explicitly add a support for 389-ds-base as tls1.1: on and tls1.2:on?

Tested packages:
rpm -qa |egrep '389-ds-base|nss-'
nss-util-3.16.2.3-1.el7.x86_64
mod_nss-1.0.8-32.el7.x86_64
389-ds-base-libs-1.3.3.1-9.el7.x86_64
python-nss-0.15.0-1.el7.x86_64
389-ds-base-1.3.3.1-9.el7.x86_64
nss-sysinit-3.16.2.3-2.el7.x86_64
nss-softokn-freebl-3.16.2.3-3.el7.x86_64
nss-3.16.2.3-2.el7.x86_64
nss-tools-3.16.2.3-2.el7.x86_64
nss-softokn-3.16.2.3-3.el7.x86_64
Comment 8 Rich Megginson 2014-12-03 09:23:11 EST
(In reply to Sankar Ramalingam from comment #7)
> I successfully configured SSL with nstls1:on for cn=encryption,cn=config.
> 
> The minimum supported version shows: tls1
> Max supported version shows tls1.2
> 
> dn: cn=encryption,cn=config
> objectClass: top
> objectClass: nsEncryptionConfig
> cn: encryption
> nsSSLSessionTimeout: 0
> nsSSLClientAuth: allowed
> sslVersionMin: TLS1.0
> nsTLS1: on
> nsSSL3Ciphers: +all
> nsSSL2: off
> nsSSL3: off
> sslVersionMax: TLS1.2
> 
> Do we need to explicitly add a support for 389-ds-base as tls1.1: on and
> tls1.2:on?

No. That's what sslVersionMin/Max are for.  We don't have the ability to turn off TLS versions inside the range.  For example, you can't say "enable TLS 1.0 and TLS 1.2 but disable TLS 1.1".

> 
> Tested packages:
> rpm -qa |egrep '389-ds-base|nss-'
> nss-util-3.16.2.3-1.el7.x86_64
> mod_nss-1.0.8-32.el7.x86_64
> 389-ds-base-libs-1.3.3.1-9.el7.x86_64
> python-nss-0.15.0-1.el7.x86_64
> 389-ds-base-1.3.3.1-9.el7.x86_64
> nss-sysinit-3.16.2.3-2.el7.x86_64
> nss-softokn-freebl-3.16.2.3-3.el7.x86_64
> nss-3.16.2.3-2.el7.x86_64
> nss-tools-3.16.2.3-2.el7.x86_64
> nss-softokn-3.16.2.3-3.el7.x86_64
Comment 9 Noriko Hosoi 2014-12-04 18:47:31 EST
(In reply to Rich Megginson from comment #8)
> (In reply to Sankar Ramalingam from comment #7)
> > I successfully configured SSL with nstls1:on for cn=encryption,cn=config.
> > 
> > The minimum supported version shows: tls1
> > Max supported version shows tls1.2
> > 
> > dn: cn=encryption,cn=config
> > objectClass: top
> > objectClass: nsEncryptionConfig
> > cn: encryption
> > nsSSLSessionTimeout: 0
> > nsSSLClientAuth: allowed
> > sslVersionMin: TLS1.0
> > nsTLS1: on
> > nsSSL3Ciphers: +all
> > nsSSL2: off
> > nsSSL3: off
> > sslVersionMax: TLS1.2
> > 
> > Do we need to explicitly add a support for 389-ds-base as tls1.1: on and
> > tls1.2:on?
> 
> No. That's what sslVersionMin/Max are for.  We don't have the ability to
> turn off TLS versions inside the range.  For example, you can't say "enable
> TLS 1.0 and TLS 1.2 but disable TLS 1.1".

Rich is correct.

Please note:
This set is an style to specify the SSL version.
> > nsTLS1: on
> > nsSSL2: off
> > nsSSL3: off
This set is the new way.
> > sslVersionMin: TLS1.0
> > sslVersionMax: TLS1.2

We are still accepting the old way for the backward compatibility, but you don't have to set them.  Without the old style set, the server should start just with the new style.  An exception is enabling SSL3.0.  You have to explicitly set "nsSSL3: on" as well as "sslVersionMin: SSL3.0".

Another note: if there's any conflict between the old style and new style, the tighter one is honoured.  For instance, if the old style has
> > nsTLS1: on
> > nsSSL2: off
> > nsSSL3: off
while new one has
> > sslVersionMin: SSL3.0
> > sslVersionMax: SSL3.0
the server starts as 
> > sslVersionMin: TLS1.0
> > sslVersionMax: TLS1.2
which picked up the old style set.
Comment 10 Sankar Ramalingam 2014-12-08 05:56:08 EST
Support for TLS1.1 and TLS1.2s is added by sslVersionMin and sslVersionMax definitions. Hence, marking the bug as Verified.
Comment 12 errata-xmlrpc 2015-03-05 04:32:45 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0416.html

Note You need to log in before you can comment on or make changes to this bug.