Re: [dmarc-ietf] Proposed text for p=reject and indirect mail flows

Scott Kitterman <sklist@kitterman.com> Tue, 28 March 2023 17:41 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 14717C151B07 for <dmarc@ietfa.amsl.com>; Tue, 28 Mar 2023 10:41:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.397
X-Spam-Level:
X-Spam-Status: No, score=-4.397 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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="P19iT4zI"; dkim=pass (2048-bit key) header.d=kitterman.com header.b="fjweL4Aq"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j0i0VDGWDxy8 for <dmarc@ietfa.amsl.com>; Tue, 28 Mar 2023 10:41:22 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [IPv6:2604:a00:6:1039:225:90ff:feaa:b169]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E6DD0C14CEFE for <dmarc@ietf.org>; Tue, 28 Mar 2023 10:41:21 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [64.20.48.66]) by interserver.kitterman.com (Postfix) with ESMTPS id E9A24F802F1 for <dmarc@ietf.org>; Tue, 28 Mar 2023 13:41:08 -0400 (EDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903e; t=1680025253; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type : from; bh=IuP/TXSuCncWAYCRtXtn41mBHsCHEm4L3XXEEsHNp0o=; b=P19iT4zIzeX4EZDDV4qyZsJjScd9v/5chWEeN5S+iaR7e2By3oiD6zPya8voj06sgJJa6 tDy6SVgCBCGiQT0Ag==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903r; t=1680025253; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type : from; bh=IuP/TXSuCncWAYCRtXtn41mBHsCHEm4L3XXEEsHNp0o=; b=fjweL4AqpayVbigCrxsFWBX9sjcLowgfGKgTtLo9qxJtNKv1Ov46F9lrsxUFotDSECHtc DhwqX/Ior8M1keOw0Rn1wwP2ru+Auta77QpCHZOXEfAaVg8bPxAC481jaqzCufLa1q4YG5L 0/bqL3SEUu5Oji62I/FY6Lu/5JMwok9CZZ8WwdsiW31dBUgI2X4O7kPOpshEMXzBEN/JPdK Pz1q+sx5ZDp10QT0WDVsmhWSuaGNtdRALOaL5BbaUtmgMMvR/ULikkN2eVcIywdS1TOHDmW c9CoXaUGxDjbWy3EyJz0dj1AtlkUxm8mTXGDdcKHYCOgZsl/kVTnUKqFilYQ==
Received: from localhost.localnet (static-72-81-252-22.bltmmd.fios.verizon.net [72.81.252.22]) by interserver.kitterman.com (Postfix) with ESMTP id A5DF3F801D5 for <dmarc@ietf.org>; Tue, 28 Mar 2023 13:40:53 -0400 (EDT)
From: Scott Kitterman <sklist@kitterman.com>
To: dmarc@ietf.org
Date: Tue, 28 Mar 2023 13:40:50 -0400
Message-ID: <6319292.vCqnBZbX7o@localhost>
In-Reply-To: <CALaySJ+NBg9vzqa0_t-sBf7EKXQ3A=DTyy-Vc7M-ZK9-vfJxmw@mail.gmail.com>
References: <CALaySJ+NBg9vzqa0_t-sBf7EKXQ3A=DTyy-Vc7M-ZK9-vfJxmw@mail.gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/Iz4fvmOa7phovaET4KB0MgiUGrI>
Subject: Re: [dmarc-ietf] Proposed text for p=reject and indirect mail flows
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.39
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: Tue, 28 Mar 2023 17:41:26 -0000

On Tuesday, March 28, 2023 4:15:04 AM EDT Barry Leiba wrote:
> I raised this issue in the DMARC session in Vienna, and have let it
> sit for a while so as not to derail other discussion.  As we're pretty
> close to finished with the DMARCbis document, I'd like to raise it
> again, this time with specific proposed text for us to discuss.
> 
> And so:
> 
> OLD
> 
>    5.5.6.  Decide If and When to Update DMARC Policy
> 
>    Once the Domain Owner is satisfied that it is properly authenticating
>    all of its mail, then it is time to decide if it is appropriate to
>    change the p= value in its DMARC record to p=quarantine or p=reject.
>    Depending on its cadence for sending mail, it may take many months of
>    consuming DMARC aggregate reports before a Domain Owner reaches the
>    point where it is sure that it is properly authenticating all of its
>    mail, and the decision on which p= value to use will depend on its
>    needs.
> 
> NEW
> 
>    5.5.6.  Decide If and When to Update DMARC Policy
> 
>    Once the Domain Owner is satisfied that it is properly authenticating
>    all of its mail, then it is time to decide if it is appropriate to
>    change the p= value in its DMARC record to p=quarantine or p=reject.
>    Depending on its cadence for sending mail, it may take many months of
>    consuming DMARC aggregate reports before a Domain Owner reaches the
>    point where it is sure that it is properly authenticating all of its
>    mail, and the decision on which p= value to use will depend on its
>    needs.
> 
>    It is important to understand that many domains may never use
>    policies of “quarantine” or “reject”, and that these policies are
>    intended not as goals, but as policies available for use when they
>    are appropriate.  In particular, “reject” is not intended for
>    deployment in domains with users who send routine email, and its
>    deployment in such domains can disrupt indirect mail flows and cause
>    damage to operation of mailing lists and other forwarding services.
>    This is discussed in [RFC7960] and in Section 5.8, below.  The
>    “reject” policy is best reserved for domains that send only
>    transactional email that is not intended to be posted to mailing
>    lists.
> 
>    To be explicitly clear: domains used for general-purpose email MUST
>    NOT deploy a DMARC policy of p=reject.
> 
> END
> 
> I'm well aware that the MUST will *not* be followed by everyone, and
> that some domain owners will feel that they need to use p=reject,
> regardless.  I think that's fine: the standard should specify what's
> right for interoperability, and I believe that improper use of
> p=reject is extremely harmful to interoperability... so "MUST" is
> correct here.  And no one will be arrested or fined for choosing not
> to follow it.  We should still say it, nonetheless.
> 
> OK, have at it.

I think this is pretty good.  I would only add a "because ..." clause at the 
end.  Often in IETF documents we say SHOULD/SHOULD NOT unless $REASON if there 
are clear exceptions.  We don't generally justify MUST/MUST NOT because we 
expect people to adhere to them.  In this case though we know that the MUST is 
going to be met with suspicion is some quarters, so I think we should explain 
why.  It doesn't have to be much.  You may have even written it already in 
your note after the suggested change.  I thnk it applies to p=quarantine as 
well, as Jim Fenton suggested.

How about, "... MUST NOT deploy a DMARC policy other than p=none because 
improper used of p=reject or (to a slightly lesser exent) p=quarantine is 
extremely harmful to email interoperability."

Scott K