Re: [DNSOP] FW: New Version Notification for draft-mglt-dnsop-dnssec-validator-requirements-08.txt

Peter van Dijk <peter.van.dijk@powerdns.com> Fri, 29 November 2019 10:35 UTC

Return-Path: <peter.van.dijk@powerdns.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83EF0120926 for <dnsop@ietfa.amsl.com>; Fri, 29 Nov 2019 02:35:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.198
X-Spam-Level:
X-Spam-Status: No, score=-4.198 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 049SQwAfoooI for <dnsop@ietfa.amsl.com>; Fri, 29 Nov 2019 02:35:08 -0800 (PST)
Received: from mx4.open-xchange.com (alcatraz.open-xchange.com [87.191.39.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22900120922 for <dnsop@ietf.org>; Fri, 29 Nov 2019 02:35:07 -0800 (PST)
Received: from open-xchange.com (imap.open-xchange.com [10.20.30.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.open-xchange.com (Postfix) with ESMTPS id E11386A234; Fri, 29 Nov 2019 11:35:05 +0100 (CET)
Received: from plato (178-85-74-105.dynamic.upc.nl [178.85.74.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by open-xchange.com (Postfix) with ESMTPSA id C876F3C0335; Fri, 29 Nov 2019 11:35:05 +0100 (CET)
Message-ID: <f48431ae51c402b557d2b0084097fe89f03d885d.camel@powerdns.com>
From: Peter van Dijk <peter.van.dijk@powerdns.com>
To: dnsop <dnsop@ietf.org>
Date: Fri, 29 Nov 2019 11:35:05 +0100
In-Reply-To: <DM6PR15MB353182C1246EBD5F0E446B92E3720@DM6PR15MB3531.namprd15.prod.outlook.com>
References: <157397686572.23962.7326676788905016792.idtracker@ietfa.amsl.com> <DM6PR15MB353182C1246EBD5F0E446B92E3720@DM6PR15MB3531.namprd15.prod.outlook.com>
Organization: PowerDNS.COM B.V.
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.30.5-1.1
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/Mfpugtmj5mq-7Y4vLIRQaG5cnII>
Subject: Re: [DNSOP] FW: New Version Notification for draft-mglt-dnsop-dnssec-validator-requirements-08.txt
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Nov 2019 10:35:10 -0000

Hello Daniel,

On Sun, 2019-11-17 at 07:50 +0000, Daniel Migault wrote:
> Hi, 
> 
> Please find our draft that provides recommendations for DNSSEC resolvers Operators. Any comment is appreciated!
> 
> Yours, 
> Daniel
> 
> -----Original Message-----
> From: internet-drafts@ietf.org <internet-drafts@ietf.org> 
> Sent: Sunday, November 17, 2019 2:48 AM
> To: Edward Lewis <edward.lewis@icann.org>; Daniel Migault <daniel.migault@ericsson.com>; Dan York <york@isoc.org>
> Subject: New Version Notification for draft-mglt-dnsop-dnssec-validator-requirements-08.txt
> 
> 
> A new version of I-D, draft-mglt-dnsop-dnssec-validator-requirements-08.txt
> has been successfully submitted by Daniel Migault and posted to the IETF repository.
> 
> Name:		draft-mglt-dnsop-dnssec-validator-requirements
> Revision:	08

Thank you for this work, a document outlining operational concerns/requirements for DNSSEC validation sounds useful to me. However, this document currently looks like a weird mix between requirements for operators, requirements for operating systems, and requirements for DNSSEC validator software. I think it would be good to clarify the scope of the document.

I also have a few concerns with the current content.

Section 2 tries to describe DNSSEC validation in general. I find this section to both be too long and too short. It is too short because it has inaccuracies (like the statement "Once accurately validated the RRset is assumed to be accurately validated and trusted during the time indicated by its TTL." which completely ignores RRSIG expiry) and it is too long because it mostly restates what was already described in RFCs such as 4033-4035. In other words, this section also needs to decide who it is for, and what it is trying to convey.

Section 7.1: a very common deployment scenario is the OS or validator vendor shipping the current root anchors, and keeping them up to date, with no operator intervention needed. I think this form deserves more than an afterthought in the last paragraph of 7.1.

   Although some bootstrapping mechanisms to securely retrieve publish
   [RFC7958] and retrieve [UNBOUND-ANCHOR] the Root Zone Trust Anchor
   have been defined, it is believed these mechanisms should be extended
   to other KSKs or Trust Anchors. 

'it is believed' - is it? why?

Section 7.1.1: this, apparently, is a recommendation to implementers, not to operators. I refer to my earlier remark about scope.

Section 7.2.1: it is my opinion that RFC5011 is a mistake and we should deprecate it. As such, I disagree with the recommendation.

Section 7.2.2: it is my opinion that RFC8145 is a mistake and we should deprecate it. As such, I disagree with the START-UP REC. Besides that, this section talks, without referencing any defined process, about things changing in the validator's memory as the result of key rollovers. I am not sure what is meant here.

'TA health check results MUST be logged.' It is unclear to me what a 'TA health check' is (so perhaps that could be clarified), but many operators prefer to log as little as possible, for performance reasons. A 'MUST' on logging an event will need to be clearly argued.

Section 8: a nitpick: different keys can have the same key tag. Comparing key tags is always an optimisation, never something to draw conclusions from. A serious problem: the RUN TIME REC here is a terrible idea. It is, as the section in fact argues, the authoritative operator's responsibility to provide a coherent set of keys and signatures at any point in time. Recursive caches already expire things based on TTL and RRSIG Expiry; this is enough. I note that Edward Lewis argued the same thing convincingly in https://mailarchive.ietf.org/arch/msg/dnsop/SB0S9eci_GUiY2qCgKM9Py7_dW8, many revisions of the draft ago. "The net recommendation is to separate cache management from validation."

Section 9.1: this repeats the RFC8145 recommendation, and as such I disagree with it. "This would at least provide insight to the authoritative server and provide it some context before moving a key roll over further." It is important to remember how bad the 8145 data in the time leading up to the cancelled root TA rollover was. Bad data does not become better by getting more of it.

Section 9.3: as I mentioned for section 8, cache management and validation are separate concerns. This means that the only reasonable implementation of this recommendation is to 'flush example.com and everything below it'. I suggest simplifying the recommendation to that.

Section 10: I believe 6975, like 8145, is a bad idea. I also believe that no validators have implemented it, except systemd-resolved, which implemented it wrongly, because it does not talk to authoritative servers. The RUN TIME REC makes no sense to me.  "A DNSSEC validator operator SHOULD regularly request and monitor the signature scheme supported by an authoritative server." Which authoritative server? What does it mean to 'request and monitor'? Is that anything more than requesting the DNSKEY set and looking at the algorithms used in it?

We already have a deprecation mechanism for algorithms, through somewhat periodic RFCs that update https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml.

Section 11, second RUN TIME REC: certainly an operator is not expected to notice -every- failed DNSSEC validation? And what does 'report' mean? Report it where?

I'm looking forward to a more focused revision of the draft. I suspect that this document could be a lot shorter without losing its usefulness.

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