I have received the following advise to set cipher suites to suitably mitigate Beast attack on a newly setup Apache HTTPD server.

    Preferred ciphers: RC4-SHA, RC4-MD5
    Must Have Ciphers: AES256-SHA, AES128-SHA, DES-CBC3-SHA, RC4-SHA, RC4-MD5

I want to confirm my understanding of the differences between "preferred ciphers" and "must-have ciphers". My queries are:

  1. Is the advise stating that the server should support the following ciphers in this order?

    1. RC4-SHA
    2. RC4-MD5
    2. AES256-SHA
    3. AES128-SHA
    4. DES-CBC3-SHA
  2. Should the advice translate to the following code for Apache mod_ssl?

    SSLHonorCipherOrder On
  3. Shouldn't the advise really state:

    Preferred ciphers: RC4-SHA, RC4-MD5, AES256-SHA, AES128-SHA, DES-CBC3-SHA
    Must Have Ciphers: AES256-SHA, AES128-SHA, DES-CBC3-SHA, RC4-SHA, RC4-MD5
    Preferred & Must have ciphers: RC4-SHA, RC4-MD5, AES256-SHA, AES128-SHA, DES-CBC3-SHA
  4. Are "preferred cipher" and "must have cipher" terms common terminology for expressing cipher suites in security world?



  • You are right, the wording of that advisory is dreadful. You could even send it to the English Usage stack exchange for them to cackle at it. The advisory should have said 'Mandatory Support' and 'Recommended Order of Negotiation'. – LateralFractal Oct 19 '13 at 1:33
  • Thanks for the reply, LateralFractal. I thought so too. But what confuses me is that there were 5 ciphers under "must-have cipher" and 2 under "preferred ciphers" in the advisory. If recommended nego. order ("preferred ciphers") just reflects the order of mandatory support ciphers ("must have ciphers") during client server nego., then there should be the same number of ciphers listed under both "must have ciphers" and "preferred ciphers", but that wasn't the advisory. – John Oct 20 '13 at 4:42

BEAST attack basically works on CBC mode block ciphers like AES and 3DES in this case. RC4 is a stream cipher, so it is immune to the BEAST and similar attacks, but you should know that RC4 starts to be considered broken and modern browser mitigate BEAST and similar attacks:


Is BEAST really fixed in all modern browsers?

I agree that the wording of the advice is confusing, but your conclusions are basically correct:

  1. Yes, if you don't want to prefer block ciphers but still want to support them this configuration is acceptable, since it prefers stream ciphers over block ciphers and places the stronger suites in higher positions.

  2. The configuration seems correct. You can verify your cipher-spec string with the following command:

    $ openssl ciphers -v 'RC4-SHA:RC4-MD5:AES256-SHA:AES128-SHA:DES-CBC3-SHA'
    RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
    RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5 
    AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
    AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
    DES-CBC3-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=SHA1
  3. I think the best way would be to name the cipher suites to be supported and then define a preferable order among them. We don't really talk about two lists but a list and an ordering.

  4. No, I don't think these terms are common

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.