On Wed, Apr 29, 2015 at 05:57:36PM -0700, Tom Johnson wrote:

> I have a basic postfix setup that's been working fine for a long time,
> but recently, I've been seeing errors with a number of sites:
> 
>    "Cannot start TLS: handshake failure" 
> 
> Here are some specific sites where I'm seeing this issue: 
> 
>    SSL_connect error to 23.25.38.217 [23.25.38.217] 
>    SSL_connect error to 108.247.226.220 [108.247.226.220] 
>    SSL_connect error to 216.167.201.250 [216.167.201.250] 
> 
> And so on. 
> 
> I have minimal settings in my main.cf for smtp_tls_* settings - most of the 
> settings are simply the defaults. 
> 
>    smtp_use_tls = yes 
>    smtp_tls_security_level = may 
>    smtp_tls_session_cache_timeout = 3600s 
>    smtp_tls_CApath = <path> 
>    smtp_tls_CAfile = <ca file> 

Fine, but you'll save a bit of CPU if you leave "smtp_tls_CApath" and
"smtp_tls_CAfile" empty.

>    smtp_tls_key_file = <key file> 
>    smtp_tls_cert_file = <cert file> 

And you're generally better off without client certs too.


> And I've tried this, thinking that it could be an issue with the selected 
> ciphers, but it makes no difference: 
> 
>    smtp_tls_exclude_ciphers = 3DES DES 

The symptom with broken 3DES with Microsoft systems is not a
handshake failure.

> 2015-04-29T22:36:51+0000 server.domain.com postfix-gw/smtp[29844]: setting up 
> TLS connection to mail.mlmatthews.com[23.25.38.217]:25 
> 2015-04-29T22:36:51+0000 server.domain.com postfix-gw/smtp[29844]: 
> mail.mlmatthews.com[23.25.38.217]:25: TLS cipher list 
> "aNULL:-aNULL:HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH:!3DES:!DES" 
> 2015-04-29T22:36:51+0000 server.domain.com postfix-gw/smtp[29844]: 
> SSL_connect:before/connect initialization 
> 2015-04-29T22:36:51+0000 server.domain.com postfix-gw/smtp[29844]: 
> SSL_connect:SSLv2/v3 write client hello A 
> 2015-04-29T22:36:51+0000 server.domain.com postfix-gw/smtp[29844]: 
> SSL_connect error to mail.mlmatthews.com[23.25.38.217]:25: lost connection 
> 2015-04-29T22:36:51+0000 server.domain.com postfix-gw/smtp[29844]: 
> 3lcZT61sm7z5wjJ: to=<u...@mlmatthews.com>, 
> relay=mail.mlmatthews.com[23.25.38.217]:25, delay=8.8, 
> delays=8.5/0.26/0.05/0, dsn=4.7.5, status=undeliverable-but-not-cached 
> (Cannot start TLS: handshake failure) 
> 

That's funny, the domain's MX host is different for me:

    $ dig +short -t mx mlmatthews.com
    10 mail.mailroute.net.

That aside, even with the "wrong" MX host, I still get successful
connections.  Perhaps you're behind some sort of firewall that
proxies TLS and disconnects when it does not like the peer certificate:

    $ posttls-finger -c -Ldebug "[mail.mlmatthews.com]"
    posttls-finger: initializing the client-side TLS engine
    posttls-finger: setting up TLS connection to 
mail.mlmatthews.com[23.25.38.217]:25
    ...
    posttls-finger: SSL_connect:SSLv2/v3 write client hello A
    posttls-finger: SSL_connect:SSLv3 read server hello A
    ...
    posttls-finger: SSL_connect:SSLv3 read server certificate A
    posttls-finger: SSL_connect:SSLv3 read server done A
    posttls-finger: SSL_connect:SSLv3 write client key exchange A
    posttls-finger: SSL_connect:SSLv3 write change cipher spec A
    posttls-finger: SSL_connect:SSLv3 write finished A
    posttls-finger: SSL_connect:SSLv3 flush data
    posttls-finger: SSL_connect:SSLv3 read finished A
    posttls-finger: server certificate verification failed for 
mail.mlmatthews.com[23.25.38.217]:25: certificate has expired
    posttls-finger: mail.mlmatthews.com[23.25.38.217]:25: 
subject_CN=mail.mlmatthews.com, issuer_CN=Go Daddy Secure Certification 
Authority, 
fingerprint=84:E0:0C:BD:01:55:DF:38:7C:7E:CF:22:DC:AC:97:6A:3B:91:87:7B, 
pkey_fingerprint=D5:EE:32:D4:FF:7D:70:58:43:06:89:5A:85:8B:79:5B:6C:B4:3B:B4
    posttls-finger: Untrusted TLS connection established to 
mail.mlmatthews.com[23.25.38.217]:25: TLSv1 with cipher RC4-MD5 (128/128 bits)

> Here's what I'm running: 
> 
>    postfix 3.1-20150421 
>    CentOS release 6.6 (Final) 
>    openssl-1.0.1e-30.el6.8.x86_64 
>    openssl-devel-1.0.1e-30.el6.8.x86_64 

I'm testing with Postfix 2.11 on NetBSD, but that should make little difference.

> Any suggestions about what is going on here?  Did something recently change
> with either openssl or with MS Exchange?  Many, although not all the
> servers where I see this happening are exchange servers, but I don't have
> enough data to say that's definitive.

Are you behind some sort of firewall?  I'd look there first.

-- 
        Viktor.

Reply via email to