Re: [dmarc-ietf] Proposing p=validate, another DMARC improvement to better support indirect mail flows

2021-09-17 Thread Benny Lyne Amorsen
Scott Kitterman  writes:

> Also, doing anything based on an ARC header field from anything other
> than a trusted source is a recipe for failure.  I've already seen
> cases where spoofed email got accepted due to ARC from an untrusted
> source.  Don't forget the limitations of ARC.

I am not particularly worried about spoofing of domains under my
control. They are at p=none and cannot change to quarantine or reject
due to the mailing list issue.

In the past, the stance of DMARC has been clear, saying that use cases
like mine cannot be handled by DMARC policies and therefore p=none is
the only option. p=validate offers me a chance to get on board, at least
some of the way.

At present, I DKIM sign outgoing mail, but since p=none, the recipients
are unlikely to find the DKIM signatures particularly
helpful.


/Benny


___
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc


Re: [dmarc-ietf] Proposing p=validate, another DMARC improvement to better support indirect mail flows

2021-09-17 Thread Scott Kitterman



On September 17, 2021 1:15:40 PM UTC, Benny Lyne Amorsen 
 wrote:
>Scott Kitterman  writes:
>
>> How do you define "First Hop" without enabling spoofers to trivially
>> bypass DMARC checks by forging more than one hop of headers?
>
>It wouldn't matter. Sensible mailing lists would reject non-first-hop
>mails for domains with p=validate. Spoofers can still spoof directly,
>but they cannot use mailing lists to spread their spoofed mails.
>
>This is a marked upgrade from p=none which most domains are forced to
>use at the moment.
>
>Then as infrastructure improves, recipients will start to reject
>incoming non-first-hop mail with p=validate if it does not have a valid
>ARC header.

If the point is that intermediaries that expect to be the first hop should 
reject failures for p=None, they can already do that by rejecting on SPF fail.  
No need to add complexity to DMARC to get there.

If there's consensus that adding something like this to DMARC as an 
intermediate step for intermediaries only would be useful, then I think there 
are multiple issues.  One, which is resolvable, is that validate isn't the 
right name.  I think getting the naming and semantics right would be critical.  
I don't think this can get past backwards compatibility problems though.  The p 
tag is a mandatory part of the record and any new value will be seen as invalid 
by all existing DMARC implementations, so you'd have to bump the version.  I 
don't think we want to do that.

Also, doing anything based on an ARC header field from anything other than a 
trusted source is a recipe for failure.  I've already seen cases where spoofed 
email got accepted due to ARC from an untrusted source.  Don't forget the 
limitations of ARC.

Scott K

___
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc


Re: [dmarc-ietf] Proposing p=validate, another DMARC improvement to better support indirect mail flows

2021-09-17 Thread Benny Lyne Amorsen
Scott Kitterman  writes:

> How do you define "First Hop" without enabling spoofers to trivially
> bypass DMARC checks by forging more than one hop of headers?

It wouldn't matter. Sensible mailing lists would reject non-first-hop
mails for domains with p=validate. Spoofers can still spoof directly,
but they cannot use mailing lists to spread their spoofed mails.

This is a marked upgrade from p=none which most domains are forced to
use at the moment.

Then as infrastructure improves, recipients will start to reject
incoming non-first-hop mail with p=validate if it does not have a valid
ARC header.


/Benny


___
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc


Re: [dmarc-ietf] Proposing p=validate, another DMARC improvement to better support indirect mail flows

2021-09-17 Thread Scott Kitterman



On September 17, 2021 12:09:51 PM UTC, Alessandro Vesely  wrote:
>TL;DR: p=validate: reject on fail, but only on first hop.  New ticket: 
>https://trac.ietf.org/trac/dmarc/ticket/122
>
>
>It appears that John Levine via Arc wrote:
>(Yes, it appears, because I cannot be sure --see below)
>> 
>> One time I asked one of the authors of ARC why they don't just
>> whitelist mail from known mailing lists. They said the problem is that
>> lists do lousy spam filtering, and legit lists leak bursts of spam all
>> the time. For example, spammer steals someone's address book and
>> starts sending spam to a mailing list with a From: that happens to be
>> a subscriber. Most lists only check the From: address and let the spam
>> through. ARC lets the final recipient peek back and see whether a
>> message was DMARC aligned when it arrived at the list. Real mail from
>> the sender would be, the spam wouldn't.
>
>
>Without taking anything away from ARC, since IETF's MLM does check DKIM 
>signatures, why does it let fake senders through?  The answer is, because 
>John's domain has p=none.  Many domains have p=none.  Some do so exactly 
>because of mailing lists.  Meanwhile, several mailing lists are adopting the 
>practice of rewriting From:.
>
>Now, if my server checked ARC signatures, and if it was configured to trust 
>IETF's MLM, and if a...@ietf.org produced ARC headers, and if my mail client 
>recognized ARC authentication, then I'd be sure it was really John who wrote 
>the text quoted above.  Quite some if's, eh?
>
>Alternatively, although my mail client displays DKIM authentications, I have 
>to look for non-automatically trusted Authentication-Results: in the header in 
>order to check the text was John's.
>
>However, if I knew IETF's MLM rejected fake senders, I wouldn't have to 
>recourse to search the header.  Knowing that the IETF rejected DMARC failure 
>would be enough.
>
>Indeed, most of the times DKIM signatures are valid.  On first hops, there's 
>the additional opportunity of SPF.  Still, there are a number of failures.  I 
>see stuff such as:
>
> Old-Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail 
> (2048-bit key)
>  reason="fail (message has been altered)"
>  header.d=iecc.com
>  header.b=1w7rvJSu; dkim=fail (2048-bit key)
>  reason="fail (message has been altered)" header.d=taugh.com
>  header.b=Kc7/HE9z
>
> Old-Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail 
> (1152-bit key)
>  reason="fail (message has been altered)"
>  header.d=tana.it
>
>These seem to be signing errors.  If we had p=validate they'd have bounced 
>back and we'd have had to resend them, possibly investigating why they failed. 
> Too much annoyance?  Dunno.  Since 2016 I only found 11 messages from me to 
>IETF lists which failed to validate at the first hop.  So those bounces would 
>be bearable, and they would help debugging the signing filter.  So, I'd set 
>p=validate if it were available.  Would you?

How do you define "First Hop" without enabling spoofers to trivially bypass 
DMARC checks by forging more than one hop of headers?

Scott K

___
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc


[dmarc-ietf] Proposing p=validate, another DMARC improvement to better support indirect mail flows

2021-09-17 Thread Alessandro Vesely

TL;DR: p=validate: reject on fail, but only on first hop.  New ticket: 
https://trac.ietf.org/trac/dmarc/ticket/122


It appears that John Levine via Arc wrote:
(Yes, it appears, because I cannot be sure --see below)


One time I asked one of the authors of ARC why they don't just
whitelist mail from known mailing lists. They said the problem is that
lists do lousy spam filtering, and legit lists leak bursts of spam all
the time. For example, spammer steals someone's address book and
starts sending spam to a mailing list with a From: that happens to be
a subscriber. Most lists only check the From: address and let the spam
through. ARC lets the final recipient peek back and see whether a
message was DMARC aligned when it arrived at the list. Real mail from
the sender would be, the spam wouldn't.



Without taking anything away from ARC, since IETF's MLM does check DKIM 
signatures, why does it let fake senders through?  The answer is, because 
John's domain has p=none.  Many domains have p=none.  Some do so exactly 
because of mailing lists.  Meanwhile, several mailing lists are adopting the 
practice of rewriting From:.

Now, if my server checked ARC signatures, and if it was configured to trust 
IETF's MLM, and if a...@ietf.org produced ARC headers, and if my mail client 
recognized ARC authentication, then I'd be sure it was really John who wrote 
the text quoted above.  Quite some if's, eh?

Alternatively, although my mail client displays DKIM authentications, I have to 
look for non-automatically trusted Authentication-Results: in the header in 
order to check the text was John's.

However, if I knew IETF's MLM rejected fake senders, I wouldn't have to 
recourse to search the header.  Knowing that the IETF rejected DMARC failure 
would be enough.

Indeed, most of the times DKIM signatures are valid.  On first hops, there's 
the additional opportunity of SPF.  Still, there are a number of failures.  I 
see stuff such as:

Old-Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail 
(2048-bit key)
 reason="fail (message has been altered)"
 header.d=iecc.com
 header.b=1w7rvJSu; dkim=fail (2048-bit key)
 reason="fail (message has been altered)" header.d=taugh.com
 header.b=Kc7/HE9z

Old-Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail 
(1152-bit key)
 reason="fail (message has been altered)"
 header.d=tana.it

These seem to be signing errors.  If we had p=validate they'd have bounced back 
and we'd have had to resend them, possibly investigating why they failed.  Too 
much annoyance?  Dunno.  Since 2016 I only found 11 messages from me to IETF 
lists which failed to validate at the first hop.  So those bounces would be 
bearable, and they would help debugging the signing filter.  So, I'd set 
p=validate if it were available.  Would you?


Best
Ale
--












___
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc