On 09/17/2013 08:04 AM, Franck Martin wrote:
----- Original Message -----
From: "Scott Kitterman" <[email protected]>
To: [email protected]
Sent: Monday, September 16, 2013 4:45:44 PM
Subject: [dmarc-ietf] ADSP Related Mailing List Unsubscriptions Considerations
For DMARC
The recent discussion about moving ADSP to historical brought up the issue of
people being inadvertently unsubscribed from mailing lists due to rejecting
mail that failed ADSP tests.
Time to rush in where angels fear to tread :-)
AIUI, the following would happen:
- A user at a domain that signs DKIM and has an ADSP "discardable" policy
published sends a mail to a mailing list.
- Like most mailing lists, the mail gets munged and the signature is broken.
- At the border MTA of the domain of a subscriber that checks ADSP, it is
determined that the message fails ADSP and bounces/rejects it.
- Rejects/bounces from this user accumulate in the list manager and
eventually they get unsubscribed for excessive bounces.
Yes, and much the same scenario can arise for DMARC.
There are arguably several things done wrong here:
- Sending user: why are you sending mail to a ML with an ADSP protected
domain.
Because you can... You can't control all your users and it is hard to know when
an email address is the one of a mailing list...
As for the argument you should not put an ADSP on a domain with users, well,
any domain from a targeted entity becomes eventually a target that needs
protection too...
+1
This is a domain-owner's choice. They take their chances with the
consequences of course. What we're not able to do is provide a
child-safe environment in which there are no trade-offs and where
actions have no consequences.
- Receiving border MTA: why are you bouncing/rejecting and not discarding?
This is not "wrong", as the spec acknowledges
(draft-kucherawy-dmarc-base-01
<http://www.ietf.org/id/draft-kucherawy-dmarc-base-01.txt> 15.4). There
are strong arguments in favour of both SMTP refusal (5xx response) and
silent discard (2xx response, then delete the message); different
receivers will make different choices. This dilemma is part of why
mailing lists complicate the "let's authenticate everything" desire that
many people share.
Bouncing (2xx response, followed by generating and sending a new DSN to
the RFC5321.MailFrom) arguably is wrong - or at least unwise - because
it contributes to backscatter risk however, again, this is a receiver's
choice and some receivers may still do this.
Because they are told to do so by the policy, but with DMARC they can overwrite
the result, while it is not possible with ADSP (see what is a mailing list
question)
I don't think that was Scott's question; p=reject is a proposal by the
domain owner to the receiver refuse/discard/bounce at receiver's
discretion messages which fail both authentication methods. Scott
appeared to me to be positioning anything other than silent discard as
being "wrong" for p=reject. The DMARC spec makes clear that this is not so.
So in theory, this should be fine, but it's not. This (assuming I got it
right) is one of the arguments for moving ADSP to Historic (since it's not
only lightly used, it's known to cause damage when it does.
Barry or Dave may correct me on this, but the argument for moving ADSP
to historic is simply that its use is negligible (and perhaps that
having it retain a standards status may lead unwitting implementers
astray) and - in light of DMARC's adoption - unlikely ever to grow.
There is _*more*_ harm in ADSP than in DMARC (because DMARC adds various
protective and softening mechanisms: rua/ruf, p=quarantine, pct), but
this is more the driver for the adoption of DMARC than the argument for
moving ADSP to historic.
I got to thinking about this and asked myself how DMARC might be better in
than ADSP in this situation, and as far as I can tell, it's not.
In the sense that DMARC provides rua/ruf to improve a domain owner's
situational awareness and decision making, DMARC actually is
[marginally] better than ADSP in this situation, however this is the
wrong question. Interoperating with [existing] mailing lists is not part
of the goals of either protocol, consequently the failure to do so is
not a large concern.
It would be nice if it were straight-forward (or even possible) for this
level of interoperability to exist, but no-one can currently see a way
for this to work. This is largely because all technically viable
approaches require all mailing list operators to implement them ahead of
evidence that they're appropriate. Like everybody else, their budget for
speculatively expending resources in the hope that they might fix other
people's problems is rather small. The practical upshot is that any
receiver implementing DMARC filtering requires an accurate database of
mailing list servers which host lists to which the receiver's users are
subscribed. This is untidy but workable and, again, is not a large
concern because it doesn't impede DMARC's objective.
Most
mailing
lists use their own Mail From, so even if SPF passes on the mailing list
message, it won't have identity alignment.
Did I miss something?
Yes, ;)
Why the mailing list software would consider such a bounce as a hard bounce,
while it is clearly not and identified as such with extended smtp error codes.
For instance, EZMLM handles this better than Mailman by sending probes before
unsubscribing members.
That's clever; I'd wondered how it was avoiding the problem.
As a receiver, how do I know I'm dealing with a mailing list?
As part of your ongoing monitoring and assessing of mailstreams...
Why MLM have to break DKIM? It seems the lists at apache.org do not break DKIM
on transit and do not suffer these problems.
"Have to" is a bit strong, but see RFC 6377. To avoid DKIM breakage, a
list must avoid doing _*all*_ of those things.
I'd suggest that there is a way forward and not too much need to worry
about it:
* In the short term, receivers are likely to need to maintain a
database of list servers from which authentication failures can be
ignored. It would be helpful for such receivers to report this to
domain owners as reason={forwarded|trusted_forwarder|mailing_list}.
* As receiver adoption proceeds, it may be the case that mailing-list
mapping is of sufficiently low importance to enough receivers that
list operators start to see real (rather than hypothetical) benefit
in addressing this, in which case any of the following will work, at
the list operator's discretion:
o Leave the message sufficiently unaltered to still pass DKIM
o Replace the RFC5322.From with something that points to the list
operator
o Reject submissions from domains with p=reject (or reject only
those where the list's changes break the DKIM signature on the
message in question; noting that the signer determines what is
signed and therefore a given message's DKIM signature may break
for a given list, where others' wouldn't)
As with domain-owner use of p=reject on domains that aren't heavily
spoofed, or even the potential use of DMARC filtering by a receiver
without a mailing-list/forwarder database, the use or not of the
practices above by list operators should be positioned as "here's a way
to make this work if you wish to" not "you are irresponsible if you
don't do this".
- Roland
_______________________________________________
dmarc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmarc