The Cipher suites field enables you to specify the list of ciphers to be used in order of preference of use. You can modify the Cipher suites available for use with your chosen TLS protocols string. The Cipher suites string is made up of:
- Operators, such as those used in the TLS protocols string.
- Keyword ciphers such as ALL, HIGH, MEDIUM, and LOW.
- Cipher suites using a specific authentication or key agreement, such as ECDH.
The full list of permitted cipher strings is defined by OpenSSL. Click here for more information in the OpenSSL documentation. Click here for more information in the Apache documentation.
Note: The Cipher suites string is limited to 255 characters.
The default setting for the Cipher suites list is specified as follows:
@SECLEVEL=0 kEECDH+ECDSA kEECDH kEDH HIGH MEDIUM +3DES +SHA !RC4 !aNULL !eNULL !LOW !MD5 !EXP
This list provides the following security in order of priority:
- @SECLEVEL=0
- Enables various old signature algorithms and cipher suites in OpenSSL. This is to retain compatibility with older certificates such as MD5. The old cipher suites are disabled later in the cipher list.
- kEECDH+ECDSA
- The faster Elliptic Curve Cryptography (ECC) collection which supports Perfect Forward Security (PFS).
- kEECDH
- The remaining collection also supports PFS but uses the slower RSA keys.
- kEDH HIGH MEDIUM
- Remaining cipher suites are in order of strength.
- +3DES +SHA
- These are specific hash methods and cipher suites.
- !RC4 !aNULL !eNULL !LOW !MD5 !EXP
- Known low security collections and hashes that existed within the earlier groupings are excluded.
The default cipher list results in the following cipher collection, which contains medium strength ciphers when used with an RSA certificate:
Cipher Suite Name (OpenSSL) | Key Exchange | Encryption | Key Length |
---|---|---|---|
ECDHE-RSA-AES256-GCM-SHA384 | ECDH 256 | AES GCM | 256 |
ECDHE-RSA-AES256-SHA384 | ECDH 256 | AES | 256 |
ECDHE-RSA-AES256-SHA | ECDH 256 | AES | 256 |
DHE-RSA-AES256-GCM-SHA384 | DH 1024 | AES GCM | 256 |
DHE-RSA-AES256-SHA256 | DH 1024 | AES | 256 |
DHE-RSA-AES256-SHA | DH 1024 | AES | 256 |
DHE-RSA-CAMELLIA256-SHA | DH 1024 | Camellia | 256 |
AES256-GCM-SHA384 | RSA | AES GCM | 256 |
AES256-SHA256 | RSA | AES | 256 |
AES256-SHA | RSA | AES | 256 |
CAMELLIA256-SHA | RSA | Camellia | 256 |
ECDHE-RSA-AES128-GCM-SHA256 | ECDH 256 | AES GCM | 128 |
ECDHE-RSA-AES128-SHA256 | ECDH 256 | AES | 128 |
ECDHE-RSA-AES128-SHA | ECDH 256 | AES | 128 |
DHE-RSA-AES128-GCM-SHA256 | DH 1024 | AES GCM | 128 |
DHE-RSA-AES128-SHA256 | DH 1024 | AES | 128 |
DHE-RSA-AES128-SHA | DH 1024 | AES | 128 |
DHE-RSA-SEED-SHA | DH 1024 | SEED | 128 |
DHE-RSA-CAMELLIA128-SHA | DH 1024 | Camellia | 128 |
AES128-GCM-SHA256 | RSA | AES GCM | 128 |
AES128-SHA256 | RSA | AES | 128 |
AES128-SHA | RSA | AES | 128 |
SEED-SHA | RSA | SEED | 128 |
CAMELLIA128-SHA | RSA | Camellia | 128 |
ECDHE-RSA-DES-CBC3-SHA | ECDH 256 | 3DES | 168 |
EDH-RSA-DES-CBC3-SHA | DH 1024 | 3DES | 168 |
DES-CBC3-SHA | RSA | 3DES | 168 |
Micro Focus suggests using the following Cipher suites string to provide improved security:
HIGH:!SSLv2:!RC4:!aNULL@STRENGTH
When used with an RSA certificate this Cipher suites string provides the following cipher collection:
Cipher Suite Name (OpenSSL) | Key Exchange | Encryption | Key Length |
---|---|---|---|
ECDHE-RSA-AES256-GCM-SHA384 | ECDH 256 | AES GCM | 256 |
ECDHE-RSA-AES256-SHA384 | ECDH 256 | AES | 256 |
ECDHE-RSA-AES256-SHA | ECDH 256 | AES | 256 |
DHE-RSA-AES256-GCM-SHA384 | DH 1024 | AES GCM | 256 |
DHE-RSA-AES256-SHA256 | DH 1024 | AES | 256 |
DHE-RSA-AES256-SHA | DH 1024 | AES | 256 |
DHE-RSA-CAMELLIA256-SHA | DH 1024 | Camellia | 256 |
AES256-GCM-SHA384 | RSA | AES GCM | 256 |
AES256-SHA256 | RSA | AES | 256 |
AES256-SHA | RSA | AES | 256 |
CAMELLIA256-SHA | RSA | Camellia | 256 |
ECDHE-RSA-AES128-GCM-SHA256 | ECDH 256 | AES GCM | 128 |
ECDHE-RSA-AES128-SHA256 | ECDH 256 | AES | 128 |
ECDHE-RSA-AES128-SHA | ECDH 256 | AES | 128 |
DHE-RSA-AES128-GCM-SHA256 | DH 1024 | AES GCM | 128 |
DHE-RSA-AES128-SHA256 | DH 1024 | AES | 128 |
DHE-RSA-AES128-SHA | DH 1024 | AES | 128 |
DHE-RSA-CAMELLIA128-SHA | DH 1024 | Camellia | 128 |
AES128-GCM-SHA256 | RSA | AES GCM | 128 |
AES128-SHA256 | RSA | AES | 128 |
AES128-SHA | RSA | AES | 128 |
CAMELLIA128-SHA | RSA | Camellia | 128 |
You can add or remove individual cipher suites as required. To order the available cipher suites you can use a combination of cipher operators. See Configuring a TLS Protocols String for more information.
Cipher suites can be included in your preferred list but they may not be offered to clients if their certificate and keys do not support that cipher suite.
If both the ECDSA and RSA methods of authentication are supported by the cipher list, then configuring a strong cipher list is independent of the type of authentication being supported. For example, when being used with RSA certificates the ECDSA aspect of the cipher list is ignored.
The Cipher suites string is ordered in priority with the highest preference first and the lowest preference last.
Should you require compatibility with older browsers or clients then insert MEDIUM after HIGH and remove !MEDIUM, as follows:
kEECDH+ECDSA kEECDH kEDH HIGH MEDIUM +SHA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP
The use of MEDIUM allows the use of older SSL3 and TLS1 cipher suites which would otherwise be unusable even though those older protocols may have been selected.
The above cipher suite lists break down as follows:
- kEECDH+ECDSA
- First preference for enabling Perfect Forward Secrecy (PFS), kEECDH with ECDSA cipher suites.
- kEECDH
- Followed by the rest of the PFS supporting suites, this includes the RSA collection.
- kEDH
- The remaining Diffie-Helman suites.
- HIGH
- All remaining high security suites not listed above.
- MEDIUM
- All remaining medium security suites not listed above.
- +SHA
- Move all the older SHA suites to the end of the list.
- !RC4
- Specifies not to use any RC4 suites.
- !aNULL
- Specifies not to use any ciphers that do not authenticate.
- !eNULL
- Specifies not to use any ciphers that do not encrypt.
- !MEDIUM
- Specifies not to use any medium strength security cipher suites.
- !LOW
- Specifies not to use any low strength security cipher suites.
- !3DES
- Specifies not to use any 3DES ciphers.
- !MD5
- Specifies not to use any MD5 ciphers.
- !EXP
- Specifies not to use any EXPORT strength ciphers.