Darrell A. Sullivan, II wrote:
I am trying to implement TLS on our server for a client requirement. I
believe I have the TLS settings correct, but I am not certain about what I
am seeing in the logs and I am uncertain as to how to know if a message was
delivered using TLS.

Is there anything in the message headers that would indicate that it was
delivered using TLS?

The receiving system may indicate in a header if the message was received via TLS, but there is no requirement to do so. Some mailers follow RFC3848 or add a comment to indicate use of TLS in the Received header.

When *sending* mail, postfix does not add anything to the message indicating use of TLS, and it's unclear how postfix might be able to indicate this in a header.

When *receiving* mail, you can request postfix add TLS information to the Received header by setting "smtpd_tls_received_header = yes" Version 2.5 and newer postfix also add RFC3848 support, indicating "with ESTMPS" in the Received header if TLS is used.


I have the below log entries on some outgoing messages. I am certain that
the first one is a failure since the group's server is setup with the entry
"somecomp.com  MUST_NOPEERMATCH" is specified in tls_per_site and
consequently the message is not delivered when TLS fails. Is this because
they have a self signed certificate and we do not have the CA certificate
for their root?

Are you still using postfix 2.2? I hope not; TLS support was significantly improved in postfix 2.3, and again in 2.4, with further refinements in 2.5.

If you're using postfix 2.3 or later, use the newer and more flexible smtp_tls_policy_maps parameter instead.


In the second set of log entries, I am not certain if the message is
delivered over the TLS connection or not. Is there some entry I can search
my logs for to find out if any messages are being successfully transmitted
over TLS?



TLS logging is hard to read at a high log level. I would suggest starting with
smtp_tls_loglevel = 1
And only increase if you need further debugging information.


----------------------
Known Failure
----------------------
Aug 22 13:11:45 mail postfix/smtp[7593]: Peer verification: CommonName in
certificate does not match: thistle.somecomp.com != mail.somecomp.com

OK, looks like the hostname doesn't match what is in the certificate. Postfix contacted "mail.somecomp.com" but the name in the certificate is "thistle.somecomp.com".

Aug 22 13:11:45 mail postfix/smtp[7593]: Unverified:
subject_CN=thistle.somecomp.com, issuer=thistle.somecomp.com

I think the mismatched name is the reason this certificate could not be verified.

Aug 22 13:11:45 mail postfix/smtp[7593]: TLS connection established to
mail.somecomp.com: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)

TLS is established.

Aug 22 13:11:45 mail postfix/smtp[7593]: Peer certficate could not be
verified
Aug 22 13:11:45 mail postfix/smtp[7593]: 85F4F504254:
to=<[EMAIL PROTECTED]>, relay=mail.somecomp.com[xxx.yyy.zzz.aaa],
delay=2, status=deferred (TLS-failure: Could not verify certificate)

You told postfix to fail if it couldn't verify the certificate, so it failed. This looks as if you've specified MUST in your tls_per_site table.

Using the newer smtp_tls_policy_maps, you probably want to specify a level of "encrypt", or you may want to use "secure match=thistle.somecomp.com"


----------------------
Did this work or not?
----------------------
/C=US/ST=SC/L=NCHARLESTON/O=somecomp2/CN=Certificate Manager
Aug 21 22:16:28 mail postfix/smtp[28731]: verify error:num=19:self signed
certificate in certificate chain

They use a self-signed certificate. Generally self-signed certificates are fine for mail unless you need to verify the client identity.

Aug 21 22:16:28 mail postfix/smtp[28731]: Unverified:
subject_CN=mail.somecomp2.com, issuer=Certificate Manager
Aug 21 22:16:28 mail postfix/smtp[28731]: TLS connection established to
mail.somecomp2.com: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Aug 21 22:16:28 mail postfix/smtp[28731]: Peer certficate could not be
verified

TLS is established. Postfix can't verify /who/ it's talking to, but it's encrypted.

Aug 21 22:18:10 mail postfix/smtp[28731]: 8D05D501C3C:
to=<[EMAIL PROTECTED]>, relay=mail.somecomp2.com[xxx.yyy.zzz.aaa],
delay=8898, status=sent (250 2.0.0 m7LMVud8002947 Message accepted for
delivery)

Mail is sent over the established TLS channel.


--
Noel Jones

Reply via email to