On 6 Dec 2018, at 20:52, Autumn Tyr-Salvia wrote:
I have a lot of experience with SPF, though admittedly, I don't have
as
much experience with SPF failures (I see a lot of cases of no SPF, or
passing but not aligned SPF, but comparatively few actual failures),
but I
haven't heard this distinction between hard and soft fail modes
before.
I'm surprised by that, as it is a core part of SPF's design and on the
receiving side, the distinctions between PASS, FAIL, SOFTFAIL, and
NEUTRAL SPF results have been discussed ad nauseam in regard to their
usefulness and definitions. For example, I've spent insane amounts of
unremunerated time arguing in public the seemingly obvious point that
the multiple paths to a "NEUTRAL" result are in fact strictly identical
and must be treated as such.
How common is it to have receiver systems set so that SPF hard fail
will
reject messages even if they otherwise pass DKIM and DMARC, but to
accept
them on the DKIM pass if the domain uses SPF soft fail?
Much more common in the long tail of small receivers than elsewhere.
Less common 5 years ago than 10 years ago, but anecdotally more common
now than 5 years ago.
In principle, rejecting mail on a SPF (hard) FAIL should be harmless and
it is substantially cheaper than proceeding to the DATA phase to figure
out whether in fact the owner of the envelope domain is unaware of how
their legitimate email may be routed. Early in the life of SPF, some
hard-liners rejected on FAIL as a matter of principle, while other
hard-liners argued that "-all" (the only way to reach FAIL) as the
default in a policy that include paths to PASS was essential to making
SPF useful. Pragmatically, it turned out that SPF provided many non-bulk
senders a lesson in the unanticipated ways their domains get used
innocently, if not exactly legitimately, to send mail. Meanwhile,
high-attention receivers learned that their own users and important
correspondent domains endemically failed to understand those edge and
corner cases where "-all" expresses an unrealistic certainty of
knowledge. Those issues took out a lot of "-all" records AND a lot of
MTA configs that took them seriously.
The spread of sender rewriting schemes and DKIM (and reduced domain
admin naïveté) have revived the use and trust of "-all" in more
prudent ways. It's much safer to strictly honor a FAIL today than ever
as it has become much more rare that FAIL occurs at all, especially by
accident. So senders who are still living in the fantasy of absolute
knowledge about the use of their domains in envelope sender addresses
are at increasing risk.
The SOFTFAIL result of the SPF test exists to express the imperfection
of such knowledge. It is useful to treat FAIL and SOFTFAIL differently
on the receiving side and *in principle* it should be entirely safe for
receivers to trust the certainty of FAIL because senders have the option
of admitting their uncertainty with SOFTFAIL. However, as others have
noted, the most common safe utility of "-all" is for domains where that
is the entirety of the SPF record, expressing the fact that the domain
must not be used at all in sender addresses. I find it also has niche
usefulness for idiosyncratic domains used for research.
Given this situation, the customer is now considering whether they
want to
move every domain they own to SPF soft fail instead, so I wanted to
ask
around and get a feel for how common this is before they change all of
their many domains.
Using "~all" as the SPF default is the most useful reasonable choice for
domains that are used in envelope sender addresses. A small number of
cases merit "?all" because the domain owner is sure that they cannot
know a substantial fraction of the fully legitimate sources of the
domain but can assert legitimacy of some sources. The use of "-all"
should be limited to cases where the domain owner is willing to accept
silent failure of email that does not flow strictly via the authorized
routes in the same record.
--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Available For Hire: https://linkedin.com/in/billcole
_______________________________________________
mailop mailing list
mailop@mailop.org
https://chilli.nosignal.org/cgi-bin/mailman/listinfo/mailop