On Wed 20/Jan/2021 03:31:51 +0100 John Levine wrote:
In article <CAHej_8=K_x5xOw47XBtPYBWzCbfpPSAs=i9woweznaa1ofc...@mail.gmail.com> 
you write:
Can you provide more details, please?

Are you receiving reports by HTTPS, or have you not seen any reduction in
reports, or both, or other?


No, I didn't put a real server's URL.  Just this:
"v=DMARC1; p=none; rua=mailto:[email protected], OR-https://service.example/report/; 
ruf=mailto:[email protected];";


I didn't try Ale's OR- thing but I did add an https URL to my rua= tag and set 
up
a web server to catch any POST or PUT traffic.


John's record looks more workable, but it's still fluffy:

"v=DMARC1; p=none; rf=afrf; 
rua=mailto:[email protected],https://dmreport.abuse.net/dmreport/; 
ruf=mailto:[email protected]";


I suppose the good news is that nobody implemented the underspecified
report URL in one of the earlier DMARC drafts.


It is not underspecified.  It specifies the /mailto:/ scheme.  With 
forward-looking shrewdness, it further specifies:

7.2.1.2.  Other Methods

   The specification as written allows for the addition of other
   registered URI schemes to be supported in later versions.

However, one cannot make guesses about what a receiver would do with, say, 
rua=fax:+13165550321.  For mailto: they know to send a gzip attachment.  
Nothing is specified for https:, even if the scheme is known.  OR-https: is an 
unknown pseudo-scheme which, as far as parsing is concerned, can be discarded 
just like https: and fax:.

Likewise, the spec provides for a registry of tags and says that unknown tags 
must be ignored.  Therefore it is possible to safely add a new tag.  Let's see 
two cases:

"v=DMARC1; p=none; ruap=mailto:[email protected], 
https://service.example/report/; rua=mailto:[email protected], 
mailto:[email protected];";
"v=DMARC1; p=none; ruap=https://example.com/dmarcaggr, 
https://service.example/report/; rua=mailto:[email protected], 
mailto:[email protected];";

Using my OR- syntax, they would be, respectively:

"v=DMARC1; p=none; rua=mailto:[email protected], mailto:[email protected], 
OR-https://service.example/report/;";
"v=DMARC1; p=none; rua=mailto:[email protected], 
OR-https://example.com/dmarcaggr, mailto:[email protected], 
OR-https://service.example/report/;";


One last case.  The user has an oldish mailto:-only record, the service 
introduces https: for those who can support.  The service can override the rua= 
thanks to step 8 of Section 7.1, Verifying External Destinations:

   8.  If a "rua" or "ruf" tag is thus discovered, replace the
       corresponding value extracted from the domain's DMARC policy
       record with the one found in this record.  This permits the
       Report Receiver to override the report destination.  However, to
       prevent loops or indirect abuse, the overriding URI MUST use the
       same destination host from the first step.

So we have:

at _dmarc.example.com:
"v=DMARC1; p=none; rua=mailto:[email protected], 
mailto:[email protected];";

at example.com._report._dmarc.service.example the verification record can 
specify a preferred reporting address:

"v=DMARC1; ruap=https://service.example/report/; 
rua=mailto:[email protected];";

(Question: is it necessary to also specify rua= if it is unchanged?)

or it can use OR- syntax:

"v=DMARC1; rua=mailto:[email protected], 
OR-https://service.example/report/;";


IMHO, both methods are valid and equally well interoperable.  We should choose 
the one that can be more easily and clearly specified.

For OR-, it is an advantage to be able to keep step 8 above unchanged.  OTOH, 
the concept of pseudo-scheme requires a new paragraph to be explained.  Perhaps 
we should provide tentative text, rather than examples?


Best
Ale
--























_______________________________________________
dmarc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to