documentation_complete: true

title: 'Use Only Strong Ciphers'

description: |-
    Limit the ciphers to strong algorithms.
    Counter (CTR) mode is also preferred over cipher-block chaining (CBC) mode.
    The following line in <tt>/etc/ssh/sshd_config</tt>
    demonstrates use of those ciphers:
    <pre>Ciphers aes128-ctr,aes192-ctr,aes256-ctr</pre>
    <pre>chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr</pre>
    The man page <tt>sshd_config(5)</tt> contains a list of supported ciphers.

rationale: |-
    Based on research conducted at various institutions, it was determined that the symmetric
    portion of the SSH Transport Protocol (as described in RFC 4253) has security weaknesses
    that allowed recovery of up to 32 bits of plaintext from a block of ciphertext that was
    encrypted with the Cipher Block Chaining (CBD) method. From that research, new Counter
    mode algorithms (as described in RFC4344) were designed that are not vulnerable to these
    types of attacks and these algorithms are now recommended for standard use.

severity: medium

references:
    cis@debian: 9.3.11

ocil_clause: 'ciphers are not configured or not using strong ciphers'

ocil: |-
    Only strong ciphers should be used. To verify that only strong
    ciphers are in use, run the following command:
    <pre>$ sudo grep Ciphers /etc/ssh/sshd_config</pre>
    The output should contain only those ciphers which are considered strong, namely,
    chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr
