Bug 1117979

Summary: harden the list of ciphers available by default
Product: Red Hat Enterprise Linux 7 Reporter: Noriko Hosoi <nhosoi>
Component: 389-ds-baseAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.0CC: nkinder, rmeggins
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.3.1-4.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 09:35:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Noriko Hosoi 2014-07-09 18:42:10 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/389/ticket/47838

ds sets the list of supported ciphers to what is available in nss. The list of used ciphers can be overwritten in cn=config, eg 
nsSSL3Ciphers: -rsa_null_md5,-rsa_null_sha,+rsa_rc4_128_md5,+rsa_rc4_40_md5,+r
  sa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,+rsa_fips_3des_sh
  a,+fortezza,+fortezza_rc4_128_sha,+fortezza_null,+tls_rsa_export1024_with_rc
  4_56_sha

This RFE requests to:

- exclude weak ciphers from the ciphers available by default, for legacy applications they will be still available, but hat to be explicitely turned on
- support keywords "-all" (+all ?) to ensure all ciphers except the specifically set with + are excluded, eg
nsSSL3Ciphers: -all,+rsa_rc4_128_md5,+rsa_rc4_40_md5,+rsa_rc2_40_md5,   +rsa_des_sha,+rsa_fips_des_sha

Comment 3 Sankar Ramalingam 2014-11-21 14:47:25 UTC
By default the latest 389-ds-base of RHEL7.1 sets the value of nsSSL3: off.
Even when I change the value to on, it throws "SSL alert: Found unsecure configuration: nsSSL3: on; We strongly recommend to disable nsSSL3 in cn=encryption,cn=config" error.

The default cipher value is...

[root@vm-idm-035 ~]# ldapsearch -x -p 1189 -h localhost -D "cn=Directory Manager" -w Secret123 -b "cn=encryption,cn=config" |grep -i nsSSL3Ciphers:
nsSSL3Ciphers: +rsa_rc4_128_md5,+rsa_rc4_40_md5,+rsa_rc2_40_md5,+rsa_des_sha,+

Which doesn't allow the default weak ciphers. Then, I changed the value of nsSSL3Ciphers with "-all". With this change its backward compatible. No error messages in the logs and nsSSL3 worked just fine. Hence, marking the bug as verified.

[root@vm-idm-035 ~]# ldapmodify -x -p 1189 -h localhost -D "cn=Directory Manager" -w Secret123 << EOF
> dn: cn=encryption,cn=config
> changetype: modify
> replace: nsSSL3Ciphers
> nsSSL3Ciphers: -all,+rsa_rc4_128_md5,+rsa_rc4_40_md5,+rsa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha
> EOF
modifying entry "cn=encryption,cn=config"


Restarted the server after removing "-all" from the "nsSSL3Ciphers" attribute. Then, the error messages displayed as "We strongly recommend to disable nsSSL3"


[root@vm-idm-035 ~]# ldapmodify -x -p 1189 -h localhost -D "cn=Directory Manager" -w Secret123 << EOF
dn: cn=encryption,cn=config
changetype: modify
replace: nsSSL3Ciphers
nsSSL3Ciphers: +rsa_rc4_128_md5,+rsa_rc4_40_md5,+rsa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha
EOF

modifying entry "cn=encryption,cn=config"


==> /var/log/dirsrv/slapd-M1/errors <==
[21/Nov/2014:20:05:21 +051800] - slapd shutting down - signaling operation threads - op stack size 0 max work q size 0 max work q stack size 0
[21/Nov/2014:20:05:23 +051800] - slapd shutting down - closing down internal subsystems and plugins
[21/Nov/2014:20:05:23 +051800] - Waiting for 4 database threads to stop
[21/Nov/2014:20:05:25 +051800] - All database threads now stopped
[21/Nov/2014:20:05:25 +051800] - slapd shutting down - freed 0 work q stack objects - freed 0 op stack objects
[21/Nov/2014:20:05:25 +051800] - slapd stopped.
[21/Nov/2014:20:05:39 +051800] config - Unknown attribute nsslapd-return-default-opattr will be ignored
[21/Nov/2014:20:05:40 +051800] - SSL alert: Found unsecure configuration: nsSSL3: on; We strongly recommend to disable nsSSL3 in cn=encryption,cn=config.
[21/Nov/2014:20:05:41 +051800] - SSL alert: Configured range: min: TLS1.0, max: TLS1.2; but both nsSSL3 and nsTLS1 are on. Respect the supported range.
[21/Nov/2014:20:05:41 +051800] SSL Initialization - Configured SSL version range: min: TLS1.0, max: TLS1.2
[21/Nov/2014:20:05:41 +051800] - SSL alert: Cipher rsa_rc4_128_md5 is weak. It is enabled since allowWeakCipher is "on" (default setting for the backward compatibility). We strongly recommend to set it to "off".  Please replace the value of allowWeakCipher with "off" in the encryption config entry cn=encryption,cn=config and restart the server.
[21/Nov/2014:20:05:42 +051800] - SSL alert: Cipher rsa_rc4_40_md5 is weak. It is enabled since allowWeakCipher is "on" (default setting for the backward compatibility). We strongly recommend to set it to "off".  Please replace the value of allowWeakCipher with "off" in the encryption config entry cn=encryption,cn=config and restart the server.
[21/Nov/2014:20:05:42 +051800] - SSL alert: Cipher rsa_rc2_40_md5 is weak. It is enabled since allowWeakCipher is "on" (default setting for the backward compatibility). We strongly recommend to set it to "off".  Please replace the value of allowWeakCipher with "off" in the encryption config entry cn=encryption,cn=config and restart the server.
[21/Nov/2014:20:05:42 +051800] - SSL alert: Cipher rsa_des_sha is weak. It is enabled since allowWeakCipher is "on" (default setting for the backward compatibility). We strongly recommend to set it to "off".  Please replace the value of allowWeakCipher with "off" in the encryption config entry cn=encryption,cn=config and restart the server.
[21/Nov/2014:20:05:42 +051800] - SSL alert: Cipher rsa_fips_des_sha is weak. It is enabled since allowWeakCipher is "on" (default setting for the backward compatibility). We strongly recommend to set it to "off".  Please replace the value of allowWeakCipher with "off" in the encryption config entry cn=encryption,cn=config and restart the server.
[21/Nov/2014:20:05:42 +051800] - SSL alert: Configured NSS Ciphers
[21/Nov/2014:20:05:42 +051800] - SSL alert: 	TLS_RSA_WITH_RC4_128_MD5: enabled, (WEAK CIPHER)
[21/Nov/2014:20:05:42 +051800] - SSL alert: 	SSL_RSA_FIPS_WITH_DES_CBC_SHA: enabled, (WEAK CIPHER)
[21/Nov/2014:20:05:43 +051800] - SSL alert: 	TLS_RSA_WITH_DES_CBC_SHA: enabled, (WEAK CIPHER)
[21/Nov/2014:20:05:43 +051800] - SSL alert: 	TLS_RSA_EXPORT_WITH_RC4_40_MD5: enabled, (WEAK CIPHER)
[21/Nov/2014:20:05:43 +051800] - SSL alert: 	TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5: enabled, (WEAK CIPHER)
[21/Nov/2014:20:05:43 +051800] - 389-Directory/1.3.3.1 B2014.317.2357 starting up

Comment 5 errata-xmlrpc 2015-03-05 09:35:44 UTC
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