Consider the limited usefulness of SP=NONE, NP=REJECT, when applied to
these email addresses:

[email protected]   (subdomain used for mail)
[email protected] (host name used for web, not a valid domain for mail)
[email protected] (host name used for mx, not a valid domain for mail)
user@_domainkey.example.com (DNS node used for TXT records, not a valid
domain for mail)
[email protected] (host name used for connecting mail user
agents, not a valid domain for mail)
[email protected] (non-existent domain name, not used for any
purpose)

NP=REJECT only protects the last entry.   An attacker who wants( to use a
fake domain can get around the NP clause simply by choosing a name that
does exist in DNS. My examples are intended to suggest the ease of finding
names that will not be blocked by the NP clause.

The combination of SP=NONE, NP=REJECT implies that the domain owner knows
all of his mail-sending subdomains.   When this assumption holds, the much
better defense is to configure DMARC policies with p=policy on the domains
that send mail, and SP=REJECT on the organization domain.   This defense
ensures that any domain which lacks a DMARC policy will be rejected.   in
this example, members.example.com becomes the only domain with policy NONE,
via p=NONE on members.example.com.  All of the others are blocked by
SP=REJECT.   This approach also allows P=REJECT on selected subdomains,
while allowing P=NONE on subdomains that are used with mailing lists.

A domain owner who is serious about blocking bogus domain names should
absolutely use the latter approach.   Non-mail domains will never be used
for legitimate impersonation or mailing lists, so it becomes a minimal
configuration for any domain owner that has control of all of his
mail-sending domain names.

In sum, I expect spammers to use non-mail domains rarely if ever, and even
if they do, NP=REJECT is unlikely to expose the attack.   Overall, it is
false security.

To be clear, all of the above relates only to subdomains of a registered
organization only.  NXDOMAIN on an organization domain should be blocked,
and the work of the DMARC for PSD project was based on evidence that
attackers do attack using non-existent organizations.

Doug Foster

On Tue, Feb 7, 2023 at 8:51 AM Todd Herr <todd.herr=
[email protected]> wrote:

> On Mon, Feb 6, 2023 at 9:25 PM Douglas Foster <
> [email protected]> wrote:
>
>> You actually summarize my points pretty well.  Here are the three
>> concepts:
>>
>> 1) People send mail with non-existent RFC5322.From domains (subdomains of
>> existent domains)  all the time, and that mail is wanted.
>>
>> Yes, that is my assertion based on research into my mail stream.   I
>> spent several months checking every From address for NXDomain, MX Exists,
>> or A Exists.   I found that none of these tests added any value; it was
>> mostly an exercise for the benefit of this issue and this group.   After a
>> while, I stopped checking to reduce overhead.   This is an assertion of
>> fact, which I have presented several times.   Every mail stream is
>> different, so maybe someone else can present different data.   But oddly,
>> no one has presented other data, which makes me wonder if no one else can.
>>
>> Anyone can prove me wrong with more comprehensive data, or you can accept
>> my results on blind faith, but you should not write text based on untested
>> assumptions, when actual data will answer the question.
>>
>> 2) The NP=reject tag is useful when PSD=Y, when applied to the PSD+1
>> organizational domain only.
>>
>> Every organizatioin MUST be registered.  Mail coming from an unregistered
>> organization should be rejected.
>>
>> However, when a PSD's NP clause is applied to non-existent subdomains of
>> an existent organization that has no DMARC record, the use is
>> inappropriate.   Based on #1, it is not only inappropriate but also likely
>> to be wrong.  With this limitation, PSD policies should always publish
>> NP=reject.
>>
>> 3) The NP tag may be of interest to some organizations.
>>
>> Whether NP on organization policies is useful or not will depend on
>> whether it is applied correctly or not.   My expectation is that some
>> organizations will publish NP=reject when they should not, causing false
>> positives.   I also expect that some organizations will publish NP=reject
>> correctly, and the test will never fail because spammers are very unlikely
>> to send using non-existent subdomains of registered domains.
>>
>> Assuming that there are exceptions to everything, perhaps someone can
>> find some messsages that fits these characteristics.  If so, we have to
>> look at the signal-to-noise ratio between correctly blocked messages and
>> incorrectly blocked messages.   If the ratio is wrong, evaluators will
>> disable the test anyway.
>>
>> Finally, I don't have any problem with the definition of non-existent.
>>  A domain or subdomain is non-existent if it returns NXDOMAIN.   If the
>> organization domain does not exist, any messages that use that domain
>> should be blocked.   If the organization domain does exist, I am
>> unconcerned whether a particular subdomain exists.   If someone wants to
>> convince me that I should be concerned, I need data.
>>
>>
> It's not clear to me that your understanding of the np tag matches mine,
> so I'm going to ask a clarifying question or two.
>
> Do you believe that a DMARC policy record containing the tag "np=reject"
> means:
>
>    1. If the RFC5322.From domain (which is necessarily a sub-domain of
>    the domain publishing the policy record) does not exist, then reject the
>    message, OR
>    2. If the RFC5322.From domain (which is necessarily a sub-domain of
>    the domain publishing the policy record) does not exist AND the message
>    does not pass DMARC validation checks, then reject the message
>
> The current text for DMARCbis describes the np tag as choice 2 here, and
> so I don't understand your contention that "some organizations will publish
> NP=reject when they should not, causing false positives", because even a
> domain so careless (in my opinion) as to permit mail to be emitted using
> non-existent sub-domains while still publishing a DMARC policy record
> should have things configured to ensure that such mail will pass DMARC
> validation checks. A message using a non-existent From domain that also
> fails DMARC validation checks where a prevailing DMARC policy exists seems
> to me to be the epitome of unauthorized mail, so I don't see how rejecting
> it would be a false positive. Can you help me understand why rejecting such
> a message would be the wrong thing to do?
>
> --
>
> *Todd Herr * | Technical Director, Standards and Ecosystem
> *e:* [email protected]
> *m:* 703.220.4153
>
> This email and all data transmitted with it contains confidential and/or
> proprietary information intended solely for the use of individual(s)
> authorized to receive it. If you are not an intended and authorized
> recipient you are hereby notified of any use, disclosure, copying or
> distribution of the information included in this transmission is prohibited
> and may be unlawful. Please immediately notify the sender by replying to
> this email and then delete it from your system.
> _______________________________________________
> dmarc mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/dmarc
>
_______________________________________________
dmarc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to