Re: [DNSOP] [Ext] Re: signing parent-side NS (was: Re: Updating RFC 7344 for cross-NS consistency)

2022-07-29 Thread Petr Špaček


On 28. 07. 22 22:05, Edward Lewis wrote:

On 7/26/22, 3:05 PM, "DNSOP on behalf of Petr Špaček"  wrote:


Interesting history lesson, thank you.
Can you elaborate on
 > therefore only one can be signed.
please?



What is the reasoning behind it?


There were a few iterations in the development of DNSSEC.  RFC 4033-4035 are the third 
iteration.  Part of the "reason" is that the DNSSEC definition evolved over a 
period of years.

In the first two iterations, the rules for signing (or not) the cut points were set.  NS and glue, 
carrying information "reported" to the parent were not "from" the parent, hence 
not signed.  The NSEC (and later NSEC3) record did indicate the presence/absence of a zone cut as 
the presence of the cut was determined by the parent.  This design was deemed to be the most 
backwards-compatible approach (anticipating it would be a very long road to adoption).  FWIW, these 
iterations toyed with having a key set from the child up or something from the parent sent down, 
none it worked.

The DS record was added in the third(?maybe the count is different to others) iteration.  Although 
it contains a hash of what is reported to it by the child it is signed.  This is in some sense 
historically inconsistent.  It was felt that the signature here was needed, there had to be some 
signed statement from the parent to an iterator as it left for the child.  Given the DS was 
"new" there was no backwards compatibility to be maintained, although having this record 
be authoritative above the cut (well, so was the NSEC/3) was new - yet only seen when 
"doing" DNSSEC.

There was never any sympathy for signing the parent-side NS set at the time.  It wouldn't 
add to the security goals of DNSSEC and potentially lead to confusing case - when the NS 
sets are out of alignment, which happens when name servers are changed (or where someone 
makes a mistake).  The decision to leave the parent-side NS set unsigned was never 
completely accepted, there were many thoughts on "fixing" the delegation in the 
DNS.  But doing so was thought to be too disruptive the current running system.


Thank you for detailed response! I will continue my quest to understand 
reasoning behind the current protocol and ask a bit more.


By any chance, do you remember in what iteration the DO=1 in query was 
introduced? I wonder what sort of disruption was anticipated/feared.


In hindsight is seems that DO=1 requirement for "new" behavior (like, 
say, adding RRSIG to delegations sent from the parent zone) could be enough.


Thank you for your time.

--
Petr Špaček

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] WGLC for draft-ietf-dnsop-avoid-fragmentation

2022-07-29 Thread Andrew McConachie



On 28 Jul 2022, at 13:19, Joe Abley wrote:


On Jul 28, 2022, at 12:24, Andrew McConachie  wrote:


PMTUD doesn’t work through NAT


That's a very definitive statement considering that there's no useful 
standard for NAT.


If there's actual research on this to demonstrate that, pragmatically 
speaking, no implementations use the payload of a type 3 code 4 ICMP 
message to identify a translated target for the packet I would like to 
read it, because that sounds interesting.




The document makes the claim that PMTUD “remains widely undeployed due 
to security issues.” My contention is that it has little to do with 
security and more to do with the current structure of the Internet. We 
don’t need a useful standard for NAT to recognize that most 
implementations break PMTUD, and that those implementations of NAT are 
deployed enough to make PMTUD significantly broken. Firewalls break 
PMTUD as well, and I guess that’s a security thing, but currently the 
sentence reads like operators don’t deploy PMTUD  in favor of security 
and I don’t think that’s true.



Currently, DNS is known to be the largest
  user of IP fragmentation.


Compared to what? I would just drop this sentence because it 
doesn’t add anything to the document and it’s trying to make a 
point that doesn’t need to be made.


I'd also like to see a citation for this one if there has been a 
study. I agree that it's probably the most familiar example of 
fragmentation for an audience mainly preoccupied with the DNS, but 
that's probably not a helpful observation :-)


Before I was interested in the DNS I worked for an ethernet switch 
vendor for 8 years, and I often find the way MTU gets talked about in 
IETF documents simply weird.


RFC 791 introduces the term "maximum transmission unit" to be the 
maximum size of a datagram, not the maximum size of a frame whose 
payload is a datagram.


The maximum sized datagram that can be transmitted through the
  next network is called the maximum transmission unit (MTU).

MTU is a measurement of maximum frame size for a network segment 
starting at Layer 2.


I have also heard MTU used in that way. I have always assumed it was 
just sloppy writing.


There may be prior use of the phrase that I'm not aware of (prior to 
1981) but even if that's the case I think it's reasonable to use the 
IETF definition of the phrase in the IETF.


I think Ethernet was not standardised until the publication of IEEE 
802.3 in 1983. I also think the original specification did not 
anticipate switches but described a multi-access network with a 
broader collision domain.


So perhaps it's reasonable to say that the IETF use of MTU pre-dates 
Ethernet switch vendors' usage, since it pre-dates Ethernet switches, 
since it pre-dates Ethernet.


Ok. But the text still isn’t clear on how many bytes are assumed to be 
consumed by layer-2 protocols. We don’t need to have a super tight 
definition of MTU to progress this document. Implementors just need to 
know how big of packets they can transmit.




Joe



___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] WGLC for draft-ietf-dnsop-avoid-fragmentation

2022-07-29 Thread Joe Abley
Hi Andrew,

On Jul 29, 2022, at 11:14, Andrew McConachie  wrote:

> We don’t need a useful standard for NAT to recognize that most 
> implementations break PMTUD, and that those implementations of NAT are 
> deployed enough to make PMTUD significantly broken.

I was really just suggesting that some measurement to support the assertion 
might be nice.

>> So perhaps it's reasonable to say that the IETF use of MTU pre-dates 
>> Ethernet switch vendors' usage, since it pre-dates Ethernet switches, since 
>> it pre-dates Ethernet.
> 
> Ok. But the text still isn’t clear on how many bytes are assumed to be 
> consumed by layer-2 protocols.

I think the point is that it's not necessary to know that.

> We don’t need to have a super tight definition of MTU to progress this 
> document. Implementors just need to know how big of packets they can transmit.

The answer to that question for any particular interface (attached to any 
layer-2 network) is "that interface's MTU".


Joe
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] WGLC for draft-ietf-dnsop-avoid-fragmentation

2022-07-29 Thread Peter van Dijk
Hello,

On Tue, 2022-07-26 at 21:13 +, Suzanne Woolf wrote:
> Dear colleagues,
> 
> 
> This message starts the Working Group Last Call for 
> draft-ietf-dnsop-avoid-fragmentation 
> (https://datatracker.ietf.org/doc/draft-ietf-dnsop-avoid-fragmentation/). The 
> requested status is BCP.
> 
> Since we're starting the Last Call during the IETF week, and many folks are 
> on holidays in the next few weeks, the WGLC will end in three weeks (instead 
> of the usual two), on August 16.
> 
> Substantive comments to the list, please. It’s fine for minor edits to go 
> direct to the authors. We need to hear positive support to advance it, or 
> your comments on what still needs to be done. 

Avoiding fragmentation is good. Putting that in a document is also good.
But this document is not ready for publication. It also most definitely
does not describe Best Current Practice; it also does not prescribe a
Best Current Practice I can agree with or even really implement.

I'll call out a few specific problems below, but this list is not
complete.

The (normative!) reference to RFC8900 is very vague.

The IP_DONTFRAG reference (well, not really a reference) is handwavy and
ill-defined. The discussion of socket options is also incomplete. (See
also: Petr's email)

>   *  If the UDP responder detects immediate error that the UDP packet
>  cannot be sent beyond the path MTU size (EMSGSIZE), the UDP
>  responder MAY recreate response packets fit in path MTU size, or
>  TC bit set.

If an answer does not fit, there is often no legitimate smaller answer
that will fit, as convincingly argued by draft-ietf-dnsop-glue-is-not-
optional. Some additionals may be an exception to this. Furthermore, this
situation (a responder receiving a message size error from the kernel) is
extremely unlikely, unless there is a requester that talks to this
responder a lot.

(That said, the advice is good.)

>   *  UDP responders MAY probe to discover the real MTU value per
>  destination.

I have no clue how a responder would do this. If I'm wrong, and this is
possible at all, the document should explain how this would be done.

I assume section 3.2 means the EDNS bufsize in the request when it says
"their payload size", but I am not sure. The text could be clearer on
that.

>   *  UDP requestors MAY probe to discover the real MTU value per
>  destination.

How?

>  To avoid name resolution fails, UDP requestors need to retry using
>  TCP, or UDP with smaller maximum DNS/UDP payload size.

This lacks 2119/8174 keywords. "need" sounds like SHOULD or MUST, but I
do not think this behaviour should be mandated of implementations.
Several resolver implementations currently do none of this, and they work
fine on the existing Internet. We should not be adding code compensating
for potential breakage we can imagine. So, I suggest this would at most
be a MAY, or a lowercase "can retry using ...".

>The proposed method supports incremental deployment.

In its current shape, this document does not really propose a method for
anything. If the document gets updated to provide implementable advice,
it should get an Implementation Status section.

Section 5 is solid advice.

I also agree with the full text of Petr's response.

Kind regards,
-- 
Peter van Dijk
PowerDNS.COM BV - https://www.powerdns.com/

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] Working Group Last Call for aft-ietf-dnsop-dnssec-bcp

2022-07-29 Thread Peter van Dijk
Hello,

On Thu, 2022-07-28 at 15:06 -0400, Tim Wicinski wrote:
> All
>  
> 
> This starts a Working Group Last Call for aft-ietf-dnsop-dnssec-bcp, 
> "DNS Security Extensions (DNSSEC)"
> 
> Current versions of the draft is available here:
> https://datatracker.ietf.org/doc/draft-ietf-dnsop-dnssec-bcp/
> 
> 
> The Current Intended Status of this document is: Best Current Practice
> 
> Please review the draft and offer relevant comments.

This is a good document and we should publish it, perhaps with a few more
edits.

Some nits:

I agree with Chris Box' suggestion, that language also seemed unclear to
me.

The mention of 5011 talks about the root, but 5011 does not mention the
root at all. 5011 is not limited to the root.

In the list of "Additional Documents of Interest", I think 7129 deserves
to be pointed out as an especially important document, as NSEC/NSEC3 are
almost impossible to understand without it.

Kind regards,
-- 
Peter van Dijk
PowerDNS.COM BV - https://www.powerdns.com/

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] [Ext] Working Group Last Call for aft-ietf-dnsop-dnssec-bcp

2022-07-29 Thread Peter van Dijk
On Fri, 2022-07-29 at 13:50 +, Paul Hoffman wrote:
> On Jul 29, 2022, at 8:58 AM, Peter van Dijk  
> wrote:
> > The mention of 5011 talks about the root, but 5011 does not mention the
> > root at all. 5011 is not limited to the root.
> 
> It is limited to "trust anchors", and essentially all DNSSEC trust anchors 
> are for the DNS root. Still, the wording can be improved.

On the Internet, this is true, and I think it would be unwise (and
unnecessary) to use 5011 for anything. But I've been told 5011 sees non-
root usage inside some private networks.

> Current:
> - [RFC5011] explains how recursive resolvers and the DNS root can work 
> together to automate 
> the rollover of the root's key signing key (KSK).
> 
> Proposed:
> - [RFC5011] describes a method to help resolvers update their DNSSEC trust 
> anchors in an
> automated fashion. This method was used in 2018 to update the DNS root trust 
> anchor.

Wonderful.

> 
Kind regards,
-- 
Peter van Dijk
PowerDNS.COM BV - https://www.powerdns.com/

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


[DNSOP] Please review draft-ietf-dnsop-avoid-fragmentation

2022-07-29 Thread Kazunori Fujiwara
Dear intarea WG,

dnsop WG is working on a document to avoid IP fragmentation in DNS.
Now, the draft is on Working Group Last call in dnsop WG (until August 16).

The draft attempt to advance the goals of RFC 8900 IP Fragmentation
Considered Fragile. (Section 5.1 Domain Name System (DNS))

As one of the co-authors of the draft, I would like advices from
intarea because there may be inadequate descriptions related to path
MTU discovery and DF bit / IPV6_DONTFRAG.

Fragmentation Avoidance in DNS
https://datatracker.ietf.org/doc/draft-ietf-dnsop-avoid-fragmentation/


(1) About DF bit, IPV6DONTFRAG

| 1.  Introduction
|
|  This document proposes to set IP_DONTFRAG / IPV6_DONTFRAG in DNS/UDP
|  messages in order to avoid IP fragmentation, and describes how to
|  avoid packet losses due to IP_DONTFRAG / IPV6_DONTFRAG.

| 2.  Terminology
| 
|  IP_DONTFRAG option is not defined by any RFCs.  It is similar to
|  IPV6_DONTFRAG option defined in [RFC3542].  IP_DONTFRAG option is
|  used on BSD systems to set the Don't Fragment bit [RFC0791] when
|  sending IPv4 packets.  On Linux systems this is done via
|  IP_MTU_DISCOVER and IP_PMTUDISC_DO.

| 3.1.  Recommendations for UDP responders
|
|  *  UDP responders SHOULD send DNS responses with IP_DONTFRAG /
| IPV6_DONTFRAG [RFC3542] options.

(2) about path MTU discovery

| 2.  Terminology
|
|  "Path MTU" is the minimum link MTU of all the links in a path between
|  a source node and a destination node.  (Quoted from [RFC8201])
|
|  In this document, the term "Path MTU discovery" includes Classical
|  Path MTU discovery [RFC1191], [RFC8201], Packetization Layer Path MTU
|  discovery [RFC8899] and as well as similar methods.

| 3.2.  Recommendations for UDP requestors
|
|  *  UDP requestors MAY probe to discover the real MTU value per
| destination.  (Path MTU discovery per destionation) Then,
| calculate their maximum DNS/UDP payload size as the reported path
| MTU minus IPv4/IPv6 header size (20 or 40) minus UDP header size
| (8).  If the path MTU discovery failed or is impossible, use the
| default maximum DNS/UDP payload size 1400.



Regards

--
Kazunori Fujiwara, JPRS 

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] [Ext] I-D Action: draft-ietf-dnsop-dnssec-bcp-02.txt

2022-07-29 Thread Paul Hoffman
On Jul 28, 2022, at 2:49 PM, Chris Box  wrote:
> Proposed text for the last line:
> means version 3 of the protocol initially defined in {{RFC4033}}, 
> {{RFC4034}}, and {{RFC4035}}.
> 
> Is this better?

Yes, definitely. Incorporated.

--Paul Hoffman



smime.p7s
Description: S/MIME cryptographic signature
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] [Ext] Working Group Last Call for aft-ietf-dnsop-dnssec-bcp

2022-07-29 Thread Paul Hoffman
On Jul 29, 2022, at 8:58 AM, Peter van Dijk  wrote:
> The mention of 5011 talks about the root, but 5011 does not mention the
> root at all. 5011 is not limited to the root.

It is limited to "trust anchors", and essentially all DNSSEC trust anchors are 
for the DNS root. Still, the wording can be improved.

Current:
- [RFC5011] explains how recursive resolvers and the DNS root can work together 
to automate 
the rollover of the root's key signing key (KSK).

Proposed:
- [RFC5011] describes a method to help resolvers update their DNSSEC trust 
anchors in an
automated fashion. This method was used in 2018 to update the DNS root trust 
anchor.


> In the list of "Additional Documents of Interest", I think 7129 deserves
> to be pointed out as an especially important document, as NSEC/NSEC3 are
> almost impossible to understand without it.

Done.

--Paul Hoffman

smime.p7s
Description: S/MIME cryptographic signature
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


[DNSOP] The DO bit - was Re: [Ext] Re: signing parent-side NS (was: Re: Updating RFC 7344 for cross-NS consistency)

2022-07-29 Thread Edward Lewis
On 7/29/22, 3:53 AM, "Petr Špaček"  wrote:
>By any chance, do you remember in what iteration the DO=1 in query was 
>introduced? I wonder what sort of disruption was anticipated/feared.
>
>In hindsight is seems that DO=1 requirement for "new" behavior (like, 
>say, adding RRSIG to delegations sent from the parent zone) could be 
> enough.

There was a specific incident, I don't recall the year, but it was in a later 
iteration.

DNSSEC's code development was carried out by a small contractor to the US 
government, physically located in a farm-like setting about an hour's drive 
from any city (providing a sense of isolation).  With the company's willingness 
to take on technical risk, DNSSEC had progressed to the point where we decided 
to put it into production, signing our corporate zone.

Everything seemed to be fine.  No one was able to verify the signatures as 
there were no trust anchor points set, but the records would be included in 
responses.

On the third(*) day, one of the principal investigators (project leads) 
realized she hadn't been getting mail from the government contracting offices 
(who were paying for DNSSEC and other projects).  It seemed no other principal 
investigator had received mail either.  A call went to the contracting offices, 
it was discovered that the government's name servers were rejecting our 
DNSSEC-signed responses.  The mail they needed to send us was "dropping on the 
floor" at their end.

All involved were highly sympathetic to the situation, so we initially rolled 
back, mail resumed, and the DO bit was invented (and eventually documented in 
https://www.rfc-editor.org/rfc/rfc3225.html).

* Well, I recall "3" being the number of days.  It was definitely between 1 and 
5...

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] The DO bit - was Re: [Ext] Re: signing parent-side NS (was: Re: Updating RFC 7344 for cross-NS consistency)

2022-07-29 Thread Paul Wouters
Interesting history,

I would have expected (and have taught) that this was by design to not disrupt 
systems with new data unless we knew they were ready for it. I didn’t realize 
we first tried to do it without that 

Paul

Sent using a virtual keyboard on a phone

> On Jul 29, 2022, at 10:06, Edward Lewis  wrote:
> 
> On 7/29/22, 3:53 AM, "Petr Špaček"  wrote:
>>   By any chance, do you remember in what iteration the DO=1 in query was 
>>   introduced? I wonder what sort of disruption was anticipated/feared.
>> 
>>   In hindsight is seems that DO=1 requirement for "new" behavior (like, 
>>   say, adding RRSIG to delegations sent from the parent zone) could be 
>> enough.
> 
> There was a specific incident, I don't recall the year, but it was in a later 
> iteration.
> 
> DNSSEC's code development was carried out by a small contractor to the US 
> government, physically located in a farm-like setting about an hour's drive 
> from any city (providing a sense of isolation).  With the company's 
> willingness to take on technical risk, DNSSEC had progressed to the point 
> where we decided to put it into production, signing our corporate zone.
> 
> Everything seemed to be fine.  No one was able to verify the signatures as 
> there were no trust anchor points set, but the records would be included in 
> responses.
> 
> On the third(*) day, one of the principal investigators (project leads) 
> realized she hadn't been getting mail from the government contracting offices 
> (who were paying for DNSSEC and other projects).  It seemed no other 
> principal investigator had received mail either.  A call went to the 
> contracting offices, it was discovered that the government's name servers 
> were rejecting our DNSSEC-signed responses.  The mail they needed to send us 
> was "dropping on the floor" at their end.
> 
> All involved were highly sympathetic to the situation, so we initially rolled 
> back, mail resumed, and the DO bit was invented (and eventually documented in 
> https://www.rfc-editor.org/rfc/rfc3225.html).
> 
> * Well, I recall "3" being the number of days.  It was definitely between 1 
> and 5...
> 
> ___
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] [Ext] Re: signing parent-side NS (was: Re: Updating RFC 7344 for cross-NS consistency)

2022-07-29 Thread David Conrad
Hi,

On Jul 29, 2022, at 12:53 AM, Petr Špaček  wrote:
> By any chance, do you remember in what iteration the DO=1 in query was 
> introduced?

Mid- to late 2000/early 2001, after the 2nd iteration (using Ed’s terminology), 
but before the third.

> I wonder what sort of disruption was anticipated/feared.

IIRC, there were some resolvers that reacted poorly to receiving unanticipated 
RRs in response to a “normal” query and there were some concerns about the 
amount of bandwidth signed authoritative servers would consume with useless 
information, particularly at the earliest stages of deployment (this was the 
early 2000s after all). The idea was for a resolver to signal its willingness 
to receive and process DNSSEC-related responses to as to avoid flooding 
DNSSEC-unaware resolvers with stuff they had no clue about.

> In hindsight is seems that DO=1 requirement for "new" behavior (like, say, 
> adding RRSIG to delegations sent from the parent zone) could be enough.

At some point, biting the bullet and introducing actual feature negotiation 
into DNS may be warranted...

Regards,
-drc


signature.asc
Description: Message signed with OpenPGP
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] The DO bit - was Re: [Ext] Re: signing parent-side NS (was: Re: Updating RFC 7344 for cross-NS consistency)

2022-07-29 Thread Joe Abley
On Jul 29, 2022, at 16:49, Paul Wouters  wrote:

> Interesting history,
> 
> I would have expected (and have taught) that this was by design to not 
> disrupt systems with new data unless we knew they were ready for it. I didn’t 
> realize we first tried to do it without that 

By the time we got to signing the root zone (surely much, much later than Ed's 
anecdote) there was some hope that we could deploy DNSSEC RRs into the root 
zone whenever we felt like it, since clients that didn't explicitly want DNSSEC 
RRs in their responses wouldn't set DO=1, there would be no RRSIGs etc in 
responses they received, and hence they would be immune from any unintended 
consequences.

Of course by then DNSSEC had been well and truly implemented in the most 
deployed resolver implementations and it had become clear that such resolvers 
needed to set DO=1 on all upstream queries regardless of whether validation was 
turned on locally so that downstream validators could be supported. So in 
practice pretty much every query received by authoritative servers already had 
DO=1. The need to be careful remained and this led to the idea of the DURZ, so 
that the effect of large responses could be isolated and assessed independently 
of the need to validate signatures.

I remember David Conrad in particular being very sad about the ubiquity of 
DO=1, more so even than he already was about DNSSEC in general. Or maybe DRC's 
sadness just seemed more pronounced because he had to deal with me as an 
employee.


Joe
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop