Bug#338006: [Pkg-openssl-devel] Bug#338006: Postfix problem still there

Kurt Roeckx kurt at roeckx.be
Mon Jan 23 00:18:41 UTC 2006


On Sun, Jan 22, 2006 at 11:20:10PM +0100, Martin Sebald wrote:
> 
> I tried it after Yari wrote again (I attached his mail at the bottom of
> this mail). And it works. I also do not think it is the best solution but I
> think it is a workaround until the bug in OpenSSL is fixed.

The default cipher list used by openssl is:
$ openssl ciphers
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC2-CBC-MD5:DHE-DSS-RC4-SHA:RC4-SHA:RC4-MD5:RC4-MD5:RC4-64-MD5:EXP1024-DHE-DSS-DES-CBC-SHA:EXP1024-DES-CBC-SHA:EXP1024-RC2-CBC-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP1024-DHE-DSS-RC4-SHA:EXP1024-RC4-SHA:EXP1024-RC4-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5

Or:
$ openssl ciphers 'ALL:!ADH:+RC4:@STRENGTH'
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC2-CBC-MD5:DHE-DSS-RC4-SHA:RC4-SHA:RC4-MD5:RC4-MD5:RC4-64-MD5:EXP1024-DHE-DSS-DES-CBC-SHA:EXP1024-DES-CBC-SHA:EXP1024-RC2-CBC-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP1024-DHE-DSS-RC4-SHA:EXP1024-RC4-SHA:EXP1024-RC4-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5

The suggested workaround by Yari gives:
$ openssl ciphers 'SSLv2:-LOW:-EXPORT:RC4+RSA'
DES-CBC3-MD5:RC2-CBC-MD5:RC4-MD5:EXP1024-RC4-SHA:EXP1024-RC4-MD5:RC4-SHA:RC4-MD5:EXP-RC4-MD5:RC4-64-MD5:EXP-RC4-MD5

Order by stregth:
$ openssl ciphers 'SSLv2:-LOW:-EXPORT:RC4+RSA:@STRENGTH'
DES-CBC3-MD5:RC2-CBC-MD5:RC4-MD5:RC4-SHA:RC4-MD5:RC4-64-MD5:EXP1024-RC4-SHA:EXP1024-RC4-MD5:EXP-RC4-MD5:EXP-RC4-MD5

Restricting it to only tls1:
openssl ciphers -tls1 'SSLv2:-LOW:-EXPORT:RC4+RSA'
EXP1024-RC4-SHA:EXP1024-RC4-MD5:RC4-SHA:RC4-MD5:EXP-RC4-MD5

The default restricted to tls1:
openssl ciphers -tls1
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:DHE-DSS-RC4-SHA:RC4-SHA:RC4-MD5:EXP1024-DHE-DSS-DES-CBC-SHA:EXP1024-DES-CBC-SHA:EXP1024-RC2-CBC-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:EXP1024-DHE-DSS-RC4-SHA:EXP1024-RC4-SHA:EXP1024-RC4-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC4-MD5

You might also want to add a -v to that if you want to know more
about them, and see man ciphers(1) for more.

When trying a connection to the server with the default, I get
this:
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA

When using it on the server side (as his suggestion), I get:
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-SHA

With Yari's suggestion on the client side get:
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EXP1024-RC4-SHA

After ordering it by strength on the client side I get this
again:
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-SHA

The ciphers:
DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
EXP1024-RC4-SHA         SSLv3 Kx=RSA(1024) Au=RSA  Enc=RC4(56)   Mac=SHA1 export

Some more fun trying things:
If it's using -no_ssl2 on the client, it will end up with using
compression, not using -no_ssl2 will not give compression, so
will result in a connection that works.  I really can't recommend
using ssl2, so -no_ssl2 is actually a good option.

In my case wether using the -no_ssl2 option or not, both end up
with TLSv1 connection.

Using the -no_tls1 options on either client or server also
generates a working connection, using SSLv3 in my case.  So using
-no_ssl2 and -no_tls1 on the server side would also be an option.
This even generates a compressed link that works if the client is
also using -no_ssl2.

I think the -no_tls1 in combination with -no_ssl2 on the
server side might actually be the best workaround.  I don't know
if you can do something like that in the postfix configuration
though.

If I use Yari's cipher list on the server side, I also get a
working TLSv1 connection, just with a different cipher as shown
above.  When the client uses -no_ssl2 it's with compression.

I'm not sure why sometimes using compression is a problem and
sometimes not.  I guess in those cases it's not at sequence 0
anymore so it works.


Kurt





More information about the Pkg-openssl-devel mailing list