On Thu, May 27, 2021 at 05:42:34PM +0100, Matthew Richardson wrote:
> >I'm afraid that's not currently possible. You can mandate DANE via a
> >setting of "dane-only" or opportunistically use DANE via "dane", which
> >in the absence of TLSA records defaults to opportunistic TLS, which may
> >in turn send in the clear when TLSA records are determined to be absent.
>
> Just to clarify, will a selection of "encrypt" disable any DANE checking?
Yes, naturally. Only one policy at a time can be expressed. There is
no "dane else encrypt" policy.
> >That's right, we'd need a new dane-or-encrypt level, or a more complex
> >policy specification syntax which supports "fallback" levels when a
> >non-deterministic level such as DANE does not find its pre-requisites to
> >be available.
>
> Where does one go to make a formal feature request for this please?
There are no "formal" feature requests for Postfix. Informal feature
requests are discussed on this list or postfix-devel.
> smtp_tls_security_level = dane
> smtp_tls_note_starttls_offer = yes
You typically don't need the second of these, it is only needed when
your policy is "none" (possibly for a particular set of domains via the
policy table).
> and I am wanting to enhance this for certain specific domains to
> require mandatory encryption, without neutering DANE if present.
> Thus, the suggestion of an additional "dane-or-encrypt" level seems
> like a very good idea!
Presumably, in practice you'd use that only for specific destinations
via the policy table, rather than globally.
The barrier to progress is deciding whether a point solution such as
a new level like "dane-or-encrypt" is good enough, or whether the right
way forward is a more general syntax for specifying what happends when
a dynamic level like dane finds its preconditions missing.
A more complete set of options might be:
* "dane", or else "encrypt"
* "dane", or else "secure" (equivalently "verify" with explicit
"match" patterns).
* "dane", or else "mta-sts" (built-in "mta-sts" is not presently
supported or even planned, but perhaps some day...)
* "dane", with an "on fail" override to deliver anyway, but the
possible MiTM is logged and is "tamper-evident". (This
should/would be discouraged, except as a limited-duration
work-around).
* "mta-sts", or ... (again if some day implemented)
which requires some design.
If a "dane-or-encrypt" feature is implemented it would have to be
supported for a long time, and would need to have a clean mapping onto
the long-term approach, allowing its implementation to be subsumed by
any later more general solution. So some care is required in deciding
the path forward.
--
Viktor.