I beleive that we can and should address the Columbia University problem.  Here 
are some thoughts:

Policy Types
------------=---
We have three types of policies:

- "p=" policy for a specific domain
- "sp=" policy for subdomains that do not enumerate their own
- "sp=" policy for non-existent subdomains

Deploying a specific "p=" to every node will provide granular control for 
subdomains that exist, but it does not solve the problem for non-existent 
subdomains.

Non-Existent Domains
------------------------------
In almost every case, the policy for non-existent subdomains should be stricter 
than the one for existent subdomains, so sharing one policy for both purposes 
is problematic.   I created ticket #83 last night with a proposal to define a 
policy option for non-existent domains.

Roll-up Policy
------------------
When rolling a security policy up from leaf nodes upward toward higher level 
nodes, the weakest policy is the one that has to forwarded upward, unless there 
is a mid-tree override mechanism.  By allowing a lower-level subtree to apply a 
different policy than the parent, we allow the stricter policy to flow upward 
while the weak subtree retains its carve-out exception.

If a subtree needs a weak policy and that setting can only be accomplished at 
the top of the domain, then the entire organizaiton's security is weakened for 
the sake of the problematic leaf node.   This is exactly the situation that 
causes sp=none to persist indefinitely.

Inheritance
---------------
For subdomains that actually exist, one has to ask whether it is reasonable to 
expect an organization to implement a DMARC policy at every node of its domain 
tree.   In the event that a reporting address changes, the organization has a 
lot of changes needed to propagate that change everywhere.     We would benefit 
from providing an ability to inherit from an upper-level entry using syntax 
like "inherit=N", where N is an integer number of domain levels.    The 
evaluator determines the values for sp, rua, and ruf at the referenced domain, 
and uses the sp result for p and sp on the referencing subdomain.   Similarly, 
the rua and ruf values from the referenced domain are used to supply those 
values if they are not specified on the referencing subdomain DMARC record.   
Since the flow is only upward, the maximum number of iterations is limited, 
even if nested inheritance is allowed.   However, nested inheritance could be 
limited to a maximum number or disaloowed completely.  This approach allows 
subtrees to configure different reporting than the top-level of the 
organization.

Inheritance provides a more efficient method of walking up the domain tree, as 
compared to sequential iteration, for subdomains that actually exist and have 
an inheritance record defined..

QueryDown
----------------------
Walking down the tree has some possibilities as well.

Assume that the top of the organization is located using the PSL, but as in the 
Columbia University example, the sp policy at that level is not necessarily 
determinative.    A  token of the form "querydown=1" instructs the evaluator to 
accept the sp policy at this level as a candidate policy, but to check the next 
level down to see if an override applies.   If the token is missing or 0, then 
this record is determinative and the search stops.

- If the next level down is the original domain, then of course the process 
stops because this domain has already been checked for a p policy and been 
found lacking.
- If the next level down produces a DMARC record, the sp at this level becomes 
the new candidate policy, subject to checking for another querydown token.
- If the next level down does not have a DMARC record, the search stops and the 
last candidate policy is the effective policy.
In most cases, this process will end quickly because it will either exhaust the 
domain string, encounter a missing DMARC record, or encounter a DMARC record 
with querydown=0 (or missing).

If the querydown parameter is larger than one, the evaluator can jump down that 
many levels, eliminating intermediate ones.   Again, if this positions the 
match at or below the original domain or below, then the search stops and the 
last candidate policy is applied.

Again, a limit on the number of downward iterations would be applicable.   If 
an "inherit=n" token is being used to walk up the  tree, then the querydown 
parameter would be ignored.

Hope this helps,

Doug Foster

----------------------------------------

From: Joseph Brennan <bren...@columbia.edu>
Sent: 11/12/20 9:24 AM
To: IETF DMARC WG <dmarc@ietf.org>
Subject: Re: [dmarc-ietf] Organizational domains, threat or menage, was On 
splitting documents and DBOUND

On Wed, Nov 11, 2020 at 4:21 PM Dave Crocker <d...@dcrocker.net> wrote:
Just to invoke a bit of ancient history, here, you are saying that if
there was the domain name:

engineering.sun.com

people would be surprised that the organization domain is

oracle.com

As another case, would people be surprised that email for the medical center 
cumc.columbia.edu is a separate system managed by a separate IT group from 
columbia.edu, and that any authentication for one should not be applied to the 
other?  I don't think this is unique in large decentralized universities. The 
real email world is a complicated place.

--

Joseph Brennan
Lead, Email and Systems Applications
Columbia University Information Technology
_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to