Re: [dmarc-ietf] DMARCbis WGLC - Issue 135 - What To Say About Too-Permissive/Third-Party SPF and Where To Say It?

Scott Kitterman <sklist@kitterman.com> Sun, 17 March 2024 14:59 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 DBA84C14F605 for <dmarc@ietfa.amsl.com>; Sun, 17 Mar 2024 07:59:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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="EWpRFBeD"; dkim=pass (2048-bit key) header.d=kitterman.com header.b="Cmk8bmZh"
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 H_TtsXQVy0vo for <dmarc@ietfa.amsl.com>; Sun, 17 Mar 2024 07:59:32 -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 B5F6DC14F5FD for <dmarc@ietf.org>; Sun, 17 Mar 2024 07:59:32 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [64.20.48.66]) by interserver.kitterman.com (Postfix) with ESMTPS id 48F8EF80270; Sun, 17 Mar 2024 10:59:20 -0400 (EDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903e; t=1710687544; h=date : from : to : subject : in-reply-to : references : message-id : mime-version : content-type : content-transfer-encoding : from; bh=myyhcAfjtJHkVCu78tLxfuKp0EGXppefM+D3VumsxoI=; b=EWpRFBeD4GeIGRgC1gh3+nKSSGp5z+TrfC22ukcAan2fKQcCdKm0N0Kc0CP4xjsg+BUNG Bz4P7VLXretisWxAQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903r; t=1710687544; h=date : from : to : subject : in-reply-to : references : message-id : mime-version : content-type : content-transfer-encoding : from; bh=myyhcAfjtJHkVCu78tLxfuKp0EGXppefM+D3VumsxoI=; b=Cmk8bmZhFzCbvwwuhBRB0VxWfNcq/IVbWkuFvwuBbi4Le4CqgU5Nf9XWFCxOolyI0IvXs wxgsQGlHUZTq7LFN0jisyRvIiI0XpisiDxDjiZJe4xJW5DB0N1G5NVnFugqn28ES9Ff11AG PsNGRWJBbwz4Ls6rvDdmoKkISUE/00kOgTc0tDcwlqgr19K1Z/cR437Jkh6vvxQFiZpOXEZ t3fFMm9OpWxBNJ/NOq8xRrK5RVSr44h0FAPytrMzaxOgqZAya5S5RWTWvqLRFMczUVRFq6k oH+D8htTivm17XMqVvz4DBhsOB24FIalSyMZGMjwPR/qbEivyy5zaW4+E6ig==
Received: from [127.0.0.1] (static-72-81-252-22.bltmmd.fios.verizon.net [72.81.252.22]) by interserver.kitterman.com (Postfix) with ESMTPSA id A6765F80211; Sun, 17 Mar 2024 10:59:04 -0400 (EDT)
Date: Sun, 17 Mar 2024 14:58:58 +0000
From: Scott Kitterman <sklist@kitterman.com>
To: dmarc@ietf.org
In-Reply-To: <cf416f6b-3de2-4bf3-a3e2-0b634157050d@tana.it>
References: <CAHej_8nrQG3XN5k=p0x5KzV3ZLAzzGQaXNpG9cFvPS338uS0dw@mail.gmail.com> <2956306.Z6hNudi34S@zini-1880> <2068150.yCtiIVWOOC@zini-1880> <cf416f6b-3de2-4bf3-a3e2-0b634157050d@tana.it>
Message-ID: <D3C7E666-5AB3-4E87-B83A-F909E3389039@kitterman.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/3FhtBbqoAKwFdPI46EtVQ00dE8M>
Subject: Re: [dmarc-ietf] DMARCbis WGLC - Issue 135 - What To Say About Too-Permissive/Third-Party SPF and Where To Say It?
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: Sun, 17 Mar 2024 14:59:37 -0000


On March 17, 2024 11:11:04 AM UTC, Alessandro Vesely <vesely@tana.it> wrote:
>On Sat 16/Mar/2024 20:01:22 +0100 Scott Kitterman wrote:
>> On Thursday, March 14, 2024 12:24:50 PM EDT Scott Kitterman wrote:
>>> On Thursday, March 14, 2024 11:44:22 AM EDT Todd Herr wrote:
>>>> 
>>>> Issue 135 is open for the subject topic. Please add your thoughts to this thread and/or to the issue in Github.
>>>> 
>>>> Thank you.
>>> 
>>> [...]
>>> 
>>> I think both of these should be addressed as part of this issue in Security
>>> Considerations.
>> 
>> It seems to me that, to the extent we are going to address this issue, there
>> is agreement that Security Considerations is appropriate.  Here's proposed
>> text:
>> 
>> 11.X  External Mail Sender Cross-Domain Forgery
>> 
>> Both of the email authentication methods which underlie DMARC fundamentally
>> provide some degree of assurance that an email was transmitted by an MTA which
>> is authorized to do so.  SPF policies just map domain names to sets of
>> authorized MTAs [ref to RFC 7208, section 11.4].  Verified DKIM signatures
>> indicate that an email was transmitted by an MTA with access to a private key
>> that matches the published DKIM key record.
>> 
>> When Domain Owners authorize mail to be sent by sources outside their
>> Administrative Management Domain there is a risk that an overly permissive
>> source may send mail which will, as a result, receive a DMARC pass result that
>> was not, in fact, authorized by the Domain Owner.  These false positives may
>> lead to issues with systems that make use of DMARC pass results to indicate a
>> message is in some way authentic.  They also allow such unauthorized senders
>> to evade the Domain Owner's requested message handling for authentication
>> failures.
>> 
>> The only method to avoid this risk is to ensure that no overly permissive
>> sources can successfully DKIM sign the domain's mail or transmit mail which
>> will evaluate as SPF pass.  If there are non-DMARC reasons for a domain owner
>> to include a permissive source in a domain's SPF record, the source can be
>> excluded from DMARC consideration by using the '?' qualifier on the SPF record
>> mechanism associated with that source.
>
>
>That text is too long and lacks an example.
>
>The first paragraph can be omitted without losing context.  BTW, Section 11.4 of RFC 7208 is about /cross-user/ forgery, not cross-domain.
>
>The second paragraph doesn't mention SPF.  Couldn't it be more direct?  For example:
>
>    Domain Owners who set up SPF records which include sources outside their
>    Administrative Management Domain run the risk that an overly permissive
>    source may allow its users to send scam mail which will receive a DMARC
>    pass results that were not intended by the Domain Owner.  These false
>    positives [...]
>
>The third paragraph is also longer than needed.  There's no need to mention DKIM if we're talking SPF forgery.  I'd also point out that the neutral qualifier prevents quick rejection of the message, and is probably useless for those who have ~all.  (Are there MTAs who distinguish between neutral and softfail?  Are we prompting them to do so?)  Perhaps mention that this is a compromise between striking the SPF record tout-court and allowing false positives.
>
>Most important, write "?include:example.com".  An example is worth a thousand words.

I disagree.

Security considerations should be a complete description of the consideration.  While the data that's been discussed about current issues has been SPF related, there's no reason a third-party couldn't equally screw up and sign DKIM in a similar manner.  We should include both (we discussed this pretty extensively already, let's not do it again).

I think we need to be explicit that there are two risks:

1.  Bad mail gets DMARC pass and so DMARC policy is not applied (avoid consequences of DMARC fail).

2.  Bad mail gets DMARC pass and something else (e.g. BIMI) does a wrong thing (gets benefits of DMARC pass).

It's not typical to put examples in security considerations.  Additionally, I think doing so would over emphasize that aspect of the consideration.  We're a technical group and so we like technical solutions, but for this one, I think the boring and difficult policy question of not authorizing third parties that do bad things is more important.

Scott K