Bug 1373836

Summary: Remove RC4 cipher and questionable MACs enabled by default from OpenSSH
Product: Red Hat Enterprise Linux 6 Reporter: Jakub Svoboda <jsvoboda>
Component: opensshAssignee: Jakub Jelen <jjelen>
Status: CLOSED ERRATA QA Contact: Stefan Dordevic <sdordevi>
Severity: unspecified Docs Contact: Mirek Jahoda <mjahoda>
Priority: unspecified    
Version: 6.8CC: ahecox, ajb, bressers, jjelen, leonard-rh-bugzilla, mdshaikh, nmavrogi, phil, sdordevi, thibaut.pouzet, tmraz, toracat, vdanen, yozone
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openssh-5.3p1-120.el6 Doc Type: Deprecated Functionality
Doc Text:
Deprecated algorithms in *OpenSSH*: RC4, hmac-md5, and hmac-md5-96 With this update, the `arcfour256`, `arcfour128`, `arcfour` ciphers and the `hmac-md5`, `hmac-md5-96` Method Authentication Code (MAC) algorithms are deprecated. Note that this change does not affect any existing server configuration. The system administrator can enable these deprecated algorithms by editing the `ssh_config` file, for example: Host legacy Ciphers arcfour MACs hmac-md5 To completely restore the deprecated functionality, add the following snippet to the `/etc/ssh/ssh_config` file: Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-21 10:02:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1335911    

Description Jakub Svoboda 2016-09-07 08:54:40 UTC
Description of problem:
The default configuration of openssh-server 6.7 disables some of the supported Ciphers and MACs. "In particular, CBC ciphers and arcfour* are disabled by default." [1]. MACs that are disabled by default are *md5*, *ripemd160*, *sha1*96*.

Version-Release number of selected component (if applicable):
openssh-5.3p1-118.1.el6_8

How reproducible:
always

Steps to Reproduce:

1. yum distribution-synchronization  # just to ensure the latest RHEL is installed

2. rm /etc/ssh/sshd_config

3. yum reinstall openssh-server      # recreates default /etc/ssh/sshd_config

4. sshd -T | grep -i "Ciphers\|MACs" # lists currently enabled Ciphers and MACs


Actual results:
The default enabled Ciphers include *cbc*, *arcfour*.
The default enabled MACs include *md5*, *ripemd160*, *sha1*96*.

Actual results of the command sshd -T | grep -i "Ciphers\|MACs"
ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc.se
macs hmac-md5,hmac-sha1,umac-64,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160,hmac-sha1-96,hmac-md5-96


Expected results:
Defaults follow recent OpenSSH upstream versions.
These Ciphers are disabled by default: *cbc*, *arcfour*.
These MACs are disabled by default: *md5*, *ripemd160*, *sha1*96*.

Expected results of the command sshd -T | grep -i "Ciphers\|MACs"
ciphers aes128-ctr,aes192-ctr,aes256-ctr
macs hmac-sha1,umac-64,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160


Additional info:
* Red Hat's KB article about insecure Ciphers and MACs recommends non-default values [3]
* The latest RH-shipped version is 6.6.1p1 / 5.3p1; however it would be good to follow current security recommendations regarding the defaults.
* We have a Red Hat Insights rule for OpenSSH hardening that would get activated once the defaults in the openssh-server package are fixed. Red Hat Insights is a service to notify enrolled customers about problems on their systems. It is best when customers are not alerted about RHEL-default values.
* OpenSSH 6.7 through 7.1 disables hmac-sha1-etm and hmac-sha1 but OpenSSH 7.2 reenables it.
References:
[1] http://www.openssh.com/txt/release-6.7
[2] http://www.openssh.com/txt/release-7.2
[3] https://access.redhat.com/solutions/420283

Comment 22 Jakub Jelen 2016-11-15 09:29:46 UTC
Well ... my bad. You are right. It is a bug.
The hmac-md5-96 should not be removed from the server list. Only from the default client list. I will need to fix this. The test was obviously right. Sorry for the confusion.

Comment 28 Jakub Jelen 2017-02-01 15:09:21 UTC
*** Bug 1417264 has been marked as a duplicate of this bug. ***

Comment 29 Leonard den Ottolander 2017-02-01 15:17:15 UTC
Probably best to only leave around sha2-512 and sha2-256 enabled by default, and sha1 as a legacy option for HMACs.

Not just MD5 is considered broken, but also RIPEMD. See http://csrc.nist.gov/groups/ST/toolkit/documents/shs/hash_standards_comments.pdf . Note that this is a NIST statement from 2004, that is THIRTEEN YEARS AGO. Things have only deteriorated since then.

I'm not so sure the hype against CBC is warranted. With proper padding CBC is perfectly usable. Counter modes like GCM and CTR have their own issues, like injecting known state (albeit hashed/crypted) which should not be brushed aside so easily. Such known state injection might well be successfully leveraged by future cryptanalitic progress.

So personally I'm not entirely convinced GCM is that much more secure (or even more secure at all) than (properly implemented) CBC.

Comment 31 errata-xmlrpc 2017-03-21 10:02:38 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-2017-0641.html