On Wed, Jul 05, 2023 at 12:17:34PM +0100, Roy Arends wrote:

> > I would prefer to require resolvers to be more tolerant of unexpected 
> > options, and would have servers report the channel without explicit
> > solicitation.
> 
> That is indeed the plan. I shall make that explicit in the new text.

Thanks.  That will be helpful.

> > What is a "recipient"?  Is it a monitoring agent "zone", or a monitoring
> > agent transport endpoint?  If we're concerned about DoS, perhaps it
> > should be the latter, since many zones can resolve to the same set of
> > underlying nameservers...
> 
> I will deal with this text in the update.

Appreciated.

> > Requiring cookies would be great, but they have not yet seem broad
> > adoption.  Can we reasonably expect the monitoring agent zones to
> > support them (and ensure consistent cookie keys across the server
> > pool behind each server IP)?
> > 
> > Requiring TCP, combined with per-IP rate limits is probably simpler.
> 
> I will include a note to implementors that reports received over TCP
> will be more reliable. The rate limiting you mentioned can be managed
> by resolver caching, right?

Yes.

> > The proposed qname structure is suboptimal:
> > 
> >    - There is insufficient justification for the "_er" labels
> >      at either end of the error report qname.
> > 
> >        o  If the monitoring agent wants to see some particular prefix,
> >           (perhaps even periodically rotated to quickly drop stale
> >           junk) the authoritative server can vend the prefix with the
> >           agent domain.  So the "most-significant" parent "_er" is
> >           IMNHSO redundant.
> 
> The monitoring agent has to determine where the QNAME ends, and the
> agent domain starts. If you assume that a monitoring agent only uses a
> single agent domain for all its reports, then sure, the _er_ label
> between the strings is redundant.
> 
> If however, the monitoring agent has domains in use, where the least
> significant labels collide with existing top level domains, it needs
> to determine heuristically where the agent domain starts. This is IMHO
> suboptimal.

Right, but surely the monitoring agent can decide whether to solicit
such a prefix label or not.  That is whether an "_er" prefix label is
signalled is a *local matter* betweent the authoritative server
signalling the option and the monitoring agent.  Why should resolvers
have to be responsible for this?  If a given monitoring agent does
not need such signalling, what value does it add?

> >        o The leading "least-significant" "_er" is likewise (see below)
> >          not adequately justified.
> 
> The sole purpose of the leading “least-significant” “_er” is to
> distinguish between qname-minimized queries (for lack of a better
> term) and “full” queries. I understand that you argue that a
> monitoring agent can determine this without the _er labels (as
> described below), but that seem suboptimal to me.

The qname minimised query (whether or not a dedicated qtype is used)
will be for "A" or "NS" records, not TXT or the dedicated qtype, so
there's no need for "_er" in the first label, the qtype is sufficient.

> > Also, qtypes are cheap, and I rather think that a dedicated qtype (one
> > that a supporting resolver might refuse to accept in queries from
> > clients for example) makes sense here.  There's no need to overload
> > TXT here.
> 
> This seems counter intuitive to me. A qtype that a supporting resolver
> might refuse to accept in queries from clients is either a temporary
> state (it may be accepted in the near future when this qtype will be
> implemented), or it needs to be specified that this qtype should not
> be accepted in queries from clients, which makes this qtype not cheap
> (that is, we won’t be able to simply use the template to request one,
> as it requires additional work). 

There's no need to require that it not be accepted from clients, but
it is easier to do that with a dedicated qtype.  It can be added to:

    - RRSIG (semantically vacuous sans the associated RRset)
    - NSEC3 (not part of the zone's qname namespace).
    - ANY (if that's what the resolver chooses to do).

However, to avoid forwarding junk reports to the monitoring agent, a
resolver may well sensibly choose to not forward such queries, and
only source them internally.

The specification might also recommend that "stub" resolvers that
forward most queries to a "full service" resolver, should send error
reports *directly* to the monitoring agent.  And, of course, "full
service" resolvers MUST NOT *forward* the monitoring agent OPTION to
clients, if they send such an option, it should be locally generated
to signal the monitoring agent for the resolver itself.

> Allocating a new QTYPE for this purpose just seems redundant. 

It is not.  This is not a normal query, it is an error report.

> >> This document gives no guidance on the content of the TXT resource
> >> record RDATA for this record.
> > 
> > The dedicated qtype should have an empty payload.
> 
> We can require that the returned TXT record should record have an
> empty payload. 

I would strongly prefer a dedicated qtype (with support from Puneet
Sood).  However, if the WG consensus is TXT, we'll grudginly cope.
Would it make sense to raise this narrow question by the chairs as a
consensus call?

> > As mentioned above, making the "info-code" more significant than the
> > domain gets in the way here.

I did not see a response to the point about moving the info code to the
least-significant label in the query (first or right after the leading
"_er" if despite my exhortations that's retained).

> > Instead, note that qname minimised queries will not have the same qtype
> > (be it TXT or dedicated).  Instead they'll typically be "A" or "NS",
> > and also the reporting resolve should avoid all qname minimisation
> > below the agent domain, unasking the question.
> 
> Viktor, your optimisations (removing the _er labels) are premature as
> it turns a deterministic process at the monitoring agent into a
> heuristic process. 

I don't see how it becomes heuristic.  The dedicated qtype signals an
complete error reporting query, other qtypes are minimised variants.

-- 
    Viktor.

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

Reply via email to