LWN.net Logo

Apache SSL cipher suite

Apache SSL cipher suite

Posted May 5, 2011 11:24 UTC (Thu) by noah123 (subscriber, #58540)
Parent article: LFNW: Seth Schoen stumps for SSL

If you terminate SSL in Apache, something like this will make Qualys' SSL tester happier.

# Use only high and medium security ciphers; block use of anonymous DH key exchanges
SSLCipherSuite HIGH:MEDIUM:!ADH
# Enable all SSL protocols but SSLv2, which is broken
SSLProtocol all -SSLv2
What's behind the cryptic HIGH:MEDIUM:!ADH string can be shown with openssl(1).
$ openssl ciphers 'HIGH:MEDIUM:!ADH'
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:
DHE-DSS-AES128-SHA:AES128-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:
DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:SEED-SHA:
RC4-SHA:RC4-MD5:RC2-CBC-MD5:RC4-MD5
HIGH and MEDIUM contains a number of default cipher suites with 128 bit key lengths according to the documentation. !ADH removes selected cipher suites which use anonymous Diffie-Hellman key exchanges. If you would want to remove all selected cipher suites that either make use of the SEED block cipher or use MD5 for hashing, you would append !SEED:!MD5 to the cipher suite string.
$ openssl ciphers 'HIGH:MEDIUM:!ADH:!MD5:!SEED'
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:
DHE-DSS-AES128-SHA:AES128-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:
DES-CBC3-SHA:RC4-SHA


(Log in to post comments)

Apache SSL cipher suite

Posted May 6, 2011 20:40 UTC (Fri) by zooko (subscriber, #2589) [Link]

I don't really see the need to support 3DES or RC4 either, so I use:

ALL:+HIGH:!MEDIUM:!LOW:!EXPORT:!eNULL:!aNULL:+kEDH:+AES:+SHA1:!3DES:!DES:!RC4:!RC2:!IDEA:!SEED:!MD5:+kDHd:+kDHr:+aDSS:+DSS:+aRSA:+kRSA

Which shows the result:

DHE-DSS-AES256-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-SHA:AES128-SHA

Apache SSL cipher suite

Posted May 26, 2011 21:28 UTC (Thu) by silmaril (subscriber, #52105) [Link]

I got almost the same result by using "HIGH:!aNULL:!3DES" (which is somewhat simpler), just not sorted the same way (prio to 256bits ciphers):

DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1

If i add +kRSA and +aRSA then i got the same order, which i don't like:
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds