On Mon, Mar 05, 2012 at 07:26:18PM +0100, Robert Dahlem wrote:

> I'm on Postfix 2.5.6 and implementing TLS. I'm having difficulties to
> understand the difference between "verify" and "secure".

These are documented in TLS_README.html

        http://www.postfix.org/TLS_README.html#client_tls_verify

The only difference between these levels is the default certificate
match policy, the former is "hostname" (not MITM secure) and the latter
is "dot-nexthop, nexthop" (MITM secure).

> /etc/postfix/main.cf
>       disable_dns_lookups = yes

Unwise in most contexts, what's wrong with MX lookups?

>       smtp_tls_loglevel = 2

Too verbose. Try "1".

>       smtp_use_tls = yes
>       smtp_enforce_tls = no

Obsolete, try "smtp_tls_security_level = may".

>       smtp_tls_CApath = /etc/ssl/certs
>       smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
> 
> /etc/postfix/transport:
>       test1.prv smtp:[s2.mydomain.de]
> 
> /etc/postfix/tls_policy:
>       [s2.mydomain.de]    verify

For destinations with a manually configured destination (no MX lookups)
the "verify" and "secure" match strategies are identical.

> On the server side I've got an SSL key and a certificate for that key
> signed by Thawte. The CN is s1.mydomain.de. Note the difference between
> s1 (key and certificate) and s2 (in the client configuration). This has
> been configured deliberately to explore the difference between "secure"
> and "verify".
> 
> My expectation was that "verify" would work (certificate chain checks
> out) but "secure" would not (CN does not match next hop).
> 
> Instead, "verify" doesn't work too:

Correct, the "hostname" for this connection is "s2.mydomain.de". Verify
will match MX hosts (insecurely), but you're not using MX records, you
have a static nexthop.

-- 
        Viktor.

Reply via email to