Re: [dmarc-ietf] auth-res vs. dmarc

Hector Santos <hsantos@isdg.net> Mon, 28 December 2020 15:58 UTC

Return-Path: <hsantos@isdg.net>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AF7A73A0C46 for <dmarc@ietfa.amsl.com>; Mon, 28 Dec 2020 07:58:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isdg.net header.b=ku+Fxjd6; dkim=pass (1024-bit key) header.d=beta.winserver.com header.b=owdAJKZf
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tEpSCWbbmd35 for <dmarc@ietfa.amsl.com>; Mon, 28 Dec 2020 07:58:55 -0800 (PST)
Received: from mail.winserver.com (listserv.winserver.com [76.245.57.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA7A63A0C45 for <dmarc@ietf.org>; Mon, 28 Dec 2020 07:58:54 -0800 (PST)
DKIM-Signature: v=1; d=isdg.net; s=tms1; a=rsa-sha256; c=simple/relaxed; l=5634; t=1609171128; atps=ietf.org; atpsh=sha1; h=Received:Received:Received:Received:Message-ID:Date:From: Organization:To:Subject:List-ID; bh=Kv4GS5o1wmuVkQrHVKDbyX6X585E DAPRC7su/pcp4S4=; b=ku+Fxjd6XB+B6Fewc4MZfeTJYolR+ZYMNryfOnKShpFA mw4UTdDmmFMszEmFbY24/yQhl17USWp4uNlWY9rWVnjc7XPGAz1Z6zPdS9EjY2E0 MfNilAzBs4u9GuoPtJ764xH0GM7whrmPxIrM9TWMh9Ic0bjauYMSUJt6euGjWLk=
Received: by mail.winserver.com (Wildcat! SMTP Router v8.0.454.10) for dmarc@ietf.org; Mon, 28 Dec 2020 10:58:48 -0500
Authentication-Results: dkim.winserver.com; dkim=pass header.d=beta.winserver.com header.s=tms1 header.i=beta.winserver.com; dmarc=pass policy=reject author.d=isdg.net signer.d=beta.winserver.com (atps signer);
Received: from beta.winserver.com ([76.245.57.74]) by mail.winserver.com (Wildcat! SMTP v8.0.454.10) with ESMTP id 2611193784.16935.652; Mon, 28 Dec 2020 10:58:47 -0500
DKIM-Signature: v=1; d=beta.winserver.com; s=tms1; a=rsa-sha256; c=simple/relaxed; l=5634; t=1609170756; h=Received:Received: Message-ID:Date:From:Organization:To:Subject:List-ID; bh=Kv4GS5o 1wmuVkQrHVKDbyX6X585EDAPRC7su/pcp4S4=; b=owdAJKZf3BNwwMxYt+Tcg8x aZyKuU0494ICdACzk9Yi1vpxctwlREVCTJbjFwldm2pCKIyNp6/xG4xGTV1Q/Y4p 9hyss2Y1yJbYZj2pBiAoiZigHLSiKkkcwzLSNn7cUVaYN26Nh+G9maj/FAFZYB9j MfLjwvMaQn858LxUAwMo=
Received: by beta.winserver.com (Wildcat! SMTP Router v8.0.454.10) for dmarc@ietf.org; Mon, 28 Dec 2020 10:52:36 -0500
Received: from [192.168.1.68] ([75.26.216.248]) by beta.winserver.com (Wildcat! SMTP v8.0.454.10) with ESMTP id 2478060720.1.6928; Mon, 28 Dec 2020 10:52:35 -0500
Message-ID: <5FEA00B3.7050902@isdg.net>
Date: Mon, 28 Dec 2020 10:58:43 -0500
From: Hector Santos <hsantos@isdg.net>
Reply-To: hsantos@isdg.net
Organization: Santronics Software, Inc.
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.8.1
MIME-Version: 1.0
To: Todd Herr <todd.herr=40valimail.com@dmarc.ietf.org>, Michael Thomas <mike@mtcc.com>
CC: "dmarc@ietf.org" <dmarc@ietf.org>
References: <9f6782b1-e85b-1a9c-9151-98feff7e18ea@mtcc.com> <CAHej_8m0OWsTt+tcSgUh+Fxu=HH_57nsb2O1Q_fgA2453ceh4g@mail.gmail.com>
In-Reply-To: <CAHej_8m0OWsTt+tcSgUh+Fxu=HH_57nsb2O1Q_fgA2453ceh4g@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/gv-IdZ2VsiL5ucu9hMDkYpwm1-A>
Subject: Re: [dmarc-ietf] auth-res vs. dmarc
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Dec 2020 15:58:58 -0000

On 12/28/2020 8:17 AM, Todd Herr wrote:
> On Sat, Dec 26, 2020 at 6:48 PM Michael Thomas <mike@mtcc.com
> <mailto:mike@mtcc.com>> wrote:
>
>
>     I installed this handy dandy t-bird dkim verifier extension which
>     also
>     allows you to just use the upstream auth-res.  After fixing a bug
>     in it,
>     I could see that it lists DMARC as a fail when DKIM failed, but SPF
>     passed. The _dmarc record has p=none, so it seems really odd to call
>     that a DMARC failure. Shouldn't it just be using the appropriate
>     p= tag
>     instead of "fail"? Is this left over from when Auth-res was mainly
>     for dkim?
>
>
> A DMARC pass verdict requires not only that SPF or DKIM pass, but also
> that the SPF or DKIM domain in question align with the DMARC
> (RFC5322.From) domain. A message such as the following:
>
>   * Return-Path: <foo@a.net <mailto:foo@a.net>>
>   * DKIM domain: b.org <http://b.org>
>   * From: bar@c.com <mailto:bar@c.com>
>
> Can get an SPF pass for a.net <http://a.net> and have its DKIM
> signature validate, but still fail DMARC for c.com <http://c.com>
> because neither a.net <http://a.net> nor b.org <http://b.org> align
> with c.com <http://c.com>.
>
> Can you share the example auth-res header(s) in question along with
> the DMARC policy record(s) for the message(s)?
> --

FWIW....

For your message, the wcSMTP MDA verified and produced the follow AR 
for you:

Authentication-Results: dkim.winserver.com;
  dkim=pass header.d=ietf.org header.s=ietf1 header.i=ietf.org;
  dmarc=fail policy=none author.d=dmarc.ietf.org signer.d=ietf.org 
(unauthorized signer);
  dkim=fail (DKIM_SIGNATURE_BAD) header.d=ietf.org header.s=ietf1 
header.i=ietf.org;
  dmarc=dkim-fail policy=none author.d=dmarc.ietf.org 
signer.d=ietf.org (unauthorized signer);
  dkim=fail (DKIM_BODY_HASH_MISMATCH) header.d=valimail.com 
header.s=google2048 header.i=valimail.com;
  dmarc=dkim-fail policy=none author.d=dmarc.ietf.org 
signer.d=valimail.com (unauthorized signer);

bottom up read,

By the time your message (my list copy) was echoed to me, as expected 
with the ietf.org MLM, your original body integrity was lost, hence a 
body-mismatch will be detected with all downlink DKIM verifiers.

The original DKIM idea for MLM correction (or middle-ware in general) 
was to perform a resigning by the MLM as a 3rd party signer. But we 
never corrected the authorization protocol for the 3rd party signers 
like is done with SPF allowing for 3rd party mailers to exist within 
it output mail sender framework.

Here is the problem with rewriting which the AR recorded illustrates 
-- who is the POLICY holder here?  You or the IETF (ietf.org or 
dmarc.ietf.org)?

Valmail.com does not have a policy, like ATPS, that will authorized 
ietf.org or dmarc.ietf.org as a resigner.   If you had this zone record:

;
; DMARC/ATPS Zone Records for author-domain: valimail.com
; Generated by wcMakeDMARC v4.00 (c) copyright 2020 Santronics 
Software, Inc.
; See https://secure.winserver.com/public/wcdmarc
;

_dmarc TXT ("v=dmarc1; p=reject; atps=y; asl=ietf.org,dmarc.ietf.org;")

pq6xadozsi47rluiq5yohg2hy3mvjyoo._atps  TXT ("v=atps01; d=ietf.org;")
xxv4fo4ieaguvlupvusha3j2x7ici4za._atps  TXT ("v=atps01; 
d=dmarc.ietf.org;")

Then our wcDMARC verifier would validate your message and stamp the AR 
with an authorized resigner data bit.  However, this is true when 
rewriting is not applied.

In practice, we have a "contract" as a list member to accept what the 
IETF MLM does, to a degree, to receive its output. But I don't expect 
any original protection to be lost.  Valimail.com was protected on 
input.  On output, it was no longer protected once it passes through 
the IETF MLM.

Consider a rewrite is not correct when it used two different domains. 
My understanding for the intent of this unfortunate introduction into 
the mail world, the whole point was make it a 1st party signature so 
that the author and signer identities matched:

ADID  Author Identity: dmarc.ietf.org
SDID  Signer Identity: ietf.org   <--- SHOULD BE signed by dmarc.ietf.org

Even if it was signed by dmarc.ietf.org, its DMARC policy is p=none, 
so who cares what is done with valimail.com messages?  Product 
engineering common sense is to not destroy the original policy 
protection Valimail.com had. If the rewrite logic is going to be 
applied only when an incoming domain has a DMARC p=reject|quarantine 
policy, then the rewrite MUST have a matching level of protection when 
it changes the author identity To me, this is the only possible way 
for a rewrite mlm logic to minimize the damage created by destroying 
the original intent and protection of a DMARC-based restricted domain.

This failure is feeding any anticipated growth for "Deep AI Mail 
engines"  that indicate valimail.com has a significant failure rate, 
100% of the time coming out of the IETF.

If I was valimail.com, as a product developer, you should support the 
easy ATPS protocol. Just add the domains you want to authorized as a 
resigner and hopefully with ATPS endorsement by ValiMail, adding it to 
your product line will give you and customers protection, immediately, 
in the eyes of my wcDMARC receivers and verifiers.

BTW, these are my authorized 3rd party resigners for my personal 
sandbox domain: isdg.net

kjshf2duqstols65zbhuytbbyr3zdecf._atps TXT	( "v=atps01; d=gmail.com;" )
pq6xadozsi47rluiq5yohg2hy3mvjyoo._atps TXT	( "v=atps01; d=ietf.org;" )
jchjykxmwknbyfge2bg4td6add264olh._atps TXT	( "v=atps01; 
d=winserver.com;" )


-- 
Hector Santos,
https://secure.santronics.com
https://twitter.com/hectorsantos