Re: [dmarc-ietf] Ticket #1 - SPF alignment

Scott Kitterman <sklist@kitterman.com> Mon, 01 February 2021 19:48 UTC

Return-Path: <sklist@kitterman.com>
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 BAD093A1417 for <dmarc@ietfa.amsl.com>; Mon, 1 Feb 2021 11:48:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=kitterman.com header.b=47Qc2Ilq; dkim=pass (2048-bit key) header.d=kitterman.com header.b=eTzhmIk0
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 uDF6ctCN3Xxs for <dmarc@ietfa.amsl.com>; Mon, 1 Feb 2021 11:48:35 -0800 (PST)
Received: from interserver.kitterman.com (interserver.kitterman.com [64.20.48.66]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB0353A1412 for <dmarc@ietf.org>; Mon, 1 Feb 2021 11:48:35 -0800 (PST)
Received: from interserver.kitterman.com (interserver.kitterman.com [IPv6:2604:a00:6:1039:225:90ff:feaa:b169]) by interserver.kitterman.com (Postfix) with ESMTPS id 86A90F8020B for <dmarc@ietf.org>; Mon, 1 Feb 2021 14:48:33 -0500 (EST)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903e; t=1612208913; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type : from; bh=gAXJZo98vFZ7jobysqdFdbwhkUzaRGnbKHk7+Jr58AA=; b=47Qc2IlqtdE/dheV+60ks/WyRbK8KmXdep2Iej+5YQDy034THR66rRhtQwGi42ECYgXaM BqL8eV2P+AKvkATCA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903r; t=1612208913; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type : from; bh=gAXJZo98vFZ7jobysqdFdbwhkUzaRGnbKHk7+Jr58AA=; b=eTzhmIk0A222gHg/IZL03RO1+SDS02AvbA8iUTwekV3kJMMUFDlgfmxekPG6w2rmSNwdn w7wLVg3+P4aX3LY4dwx4pN9QM45A3pYFeKzNzGWqSg+Ph8dGU1soTZG9zEf0MekmTvN0ANo dqIN9JtoF5lPrX89koFUEwgprKVqPkmfL3n05hbjFTzL4fbALJkQfDdoxhe3kfuaRxp1ZTC 9jT4q3Ls7TRJE3kP9y1URYk07inw622el/w2bY36j4ToR1YiJDxO5kfh0cM6JkbK5z5YZF2 9Lum4soW/8jSKc2qoH2QAihdwTH6H6xhZEWdyrgqT6K2plK/nIScu3ISkoEg==
Received: from zini-1880.localnet (static-72-81-252-22.bltmmd.fios.verizon.net [72.81.252.22]) by interserver.kitterman.com (Postfix) with ESMTP id 16D33F80208 for <dmarc@ietf.org>; Mon, 1 Feb 2021 14:48:33 -0500 (EST)
From: Scott Kitterman <sklist@kitterman.com>
To: dmarc@ietf.org
Date: Mon, 01 Feb 2021 14:48:32 -0500
Message-ID: <4489192.U1a6Vm75Xl@zini-1880>
In-Reply-To: <babf1538-5172-f101-d5e4-c4fa33dea495@tana.it>
References: <20210130212339.447316D04763@ary.qy> <1654196.ygyh55z74P@zini-1880> <babf1538-5172-f101-d5e4-c4fa33dea495@tana.it>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/kA1EbIKv2GokGGrOp7gn5ofubFc>
Subject: Re: [dmarc-ietf] Ticket #1 - SPF alignment
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, 01 Feb 2021 19:48:38 -0000

On Monday, February 1, 2021 7:17:20 AM EST Alessandro Vesely wrote:
> On Mon 01/Feb/2021 01:10:01 +0100 Scott Kitterman wrote:
> > I think that we're well past learning anything new in this thread.
> > 
> > SPF is what it is (RFC 7208).  DMARC doesn't need to re-invent the
> > protocol
> > (and shouldn't).  For any properly implemented SPF verifier, DMARC should
> > be able to consume the Mail From result.
> 
> Perhaps Courier-MTA is not so properly implemented, but when mail from is
> empty it just omits the corresponding Received-SPF: header field.
> 
> OTOH, properly implemented SPF verifiers could skip producing a Mail From
> result if the helo identity was verified successfully.
> 
> In conclusion, the idiosyncratic requirement can hardly be implemented.

I have no idea why you would think that.  If mail from is null, use 
postmaster@HELO domain  as mail from is trivial to implement.  If an SPF 
verification implementation does not correctly implement RFC 7208, the 
appropriate solution is to fix it, not add work arounds to DMARC.

That said, I don't think there's harm is using HELO results in DMARC if they 
align, but I don't think it will come up very often and isn't worth worrying 
about enough to rewrite that part of the DMARC specification.



> > On Sunday, January 31, 2021 2:03:45 PM EST Douglas Foster wrote:
> >> I don't see any justification for using HELO unless the SMTP address is
> >> null.  If the SPF RFC says otherwise, this should be corrected.
> 
> It makes sense to add a section that modifies RFC 7208.  See below.

No.  Changes to SPF are out of scope for the working group.

Scott K

> On Sun 31/Jan/2021 03:27:41 +0100 Douglas Foster wrote:
> > My data, cited previously, indicates that HELO can be useful for both
> > blacklisting and whitelisting.   It should not be ignored.
> > 
> >> On Sun, Jan 31, 2021 at 11:52 AM John R Levine <johnl@taugh.com> wrote:
> >>> On Sun, 31 Jan 2021, Alessandro Vesely wrote:
> >>>> One way to interpret RFC 7489 is that you can put dmarc=pass based on
> >>>> the helo identity *only if* MAIL FROM is null. >>>
> >>> 
> >>> That would be consistent with 7489.
> >>> 
> >>> Sec 3.1.2 says
> >>> 
> >>>     Note that the RFC5321.HELO identity is not typically used in the
> >>>     context of DMARC (except when required to "fake" an otherwise null
> >>>     reverse-path), even though a "pure SPF" implementation according to
> >>>     [SPF] would check that identifier.
> 
> Does that mean that an implementation that uses the RFC5321.HELO identity
> without taking care of whether RFC5321.MailFrom is empty is *atypical*?
> 
> Please note that all the text occurring before that paragraph would suggest
> that any authenticated domain, if aligned, would do.  The quoted paragraph
> comes as a note, by surprise, without bringing any rationale.  That text
> needs to be revised whether or not we remove the idiosyncrasy.
> 
> And the only rationale learnt in this thread is that one could type whatever
> it wants in the helo/ehlo command, as if that weren't true for the whole
> SMTP session.
> >>> But then 4.1 says
> >>> 
> >>>     o  [SPF], which can authenticate both the domain found in an [SMTP]
> >>>     
> >>>        HELO/EHLO command (the HELO identity) and the domain found in an
> >>>        SMTP MAIL command (the MAIL FROM identity).  DMARC uses the
> >>>        result
> >>>        of SPF authentication of the MAIL FROM identity.  Section 2.4 of
> >>>        [SPF] describes MAIL FROM processing for cases in which the MAIL
> >>>        command has a null path.
> >>> 
> >>> That section of 7208 says that if there's a null bounce address, SPF
> >>> pretends that the MAIL FROM was postmaster@HELO.
> 
> "Postmaster" is necessary, because SPF mechanisms can refer to the local
> part.
> 
> The SPF part I'd modify, however, is Section 2.3, where it says:
> 
>                                 If a conclusive determination about the
>     message can be made based on a check of "HELO", then the use of DNS
>     resources to process the typically more complex "MAIL FROM" can be
>     avoided.
> 
> I'd append to that sentence:
> 
>            , unless downstream filters need it anyway.
> 
> Since we're at it, that paragraph continues with the following sentence:
> 
>              Additionally, since SPF records published for "HELO"
>     identities refer to a single host, when available, they are a very
>     reliable source of host authorization status.
> 
> Isn't that the exact opposite of what many of us are claiming?  And is it
> legit for a proposed standard to quietly counter an existing proposed
> standard without some kind of rationale?
> 
> >>> If we want, we can say not to use the SPF HELO identity, but that would
> >>> be
> >>> an incompatible change to 7489 and I suspect would not match what most
> >>> DMARC checking code does.
> 
> OTOH, relaxing the requirement that the SPF HELO identity be used only when
> MAIL FROM is empty brings no incompatibility.  It's just a cleanup.
> 
> 
> Best
> Ale