Re: [Netconf] WG Last Call for draft-ietf-netconf-call-home-04 and draft-ietf-netconf-server-model-06 WAS:FW: call-home-04 and server-model-06 available - All Open issues closed

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Wed, 18 March 2015 22:40 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7CEB61A8905 for <netconf@ietfa.amsl.com>; Wed, 18 Mar 2015 15:40:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level:
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 2KJxvto0LEnE for <netconf@ietfa.amsl.com>; Wed, 18 Mar 2015 15:40:37 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FC0A1A8927 for <netconf@ietf.org>; Wed, 18 Mar 2015 15:40:36 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 4323110AC; Wed, 18 Mar 2015 23:40:35 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id K28gPYSzuo27; Wed, 18 Mar 2015 23:40:17 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Wed, 18 Mar 2015 23:40:33 +0100 (CET)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id 1022D20057; Wed, 18 Mar 2015 23:40:33 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id vx-Kq0WOUnAn; Wed, 18 Mar 2015 23:40:31 +0100 (CET)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 2CFFF20056; Wed, 18 Mar 2015 23:40:31 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 49EC0327DD39; Wed, 18 Mar 2015 23:40:29 +0100 (CET)
Date: Wed, 18 Mar 2015 23:40:28 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "netconf@ietf.org" <netconf@ietf.org>
Message-ID: <20150318224028.GA38182@elstar.local>
Mail-Followup-To: "netconf@ietf.org" <netconf@ietf.org>, "Ersue, Mehmet (Nokia - DE/Munich)" <mehmet.ersue@nokia.com>
References: <E4DE949E6CE3E34993A2FF8AE79131F81964E27A@DEMUMBX005.nsn-intra.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <E4DE949E6CE3E34993A2FF8AE79131F81964E27A@DEMUMBX005.nsn-intra.net>
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/netconf/80iLpDwc_DuluB3LzbsUcrG15Cc>
Subject: Re: [Netconf] WG Last Call for draft-ietf-netconf-call-home-04 and draft-ietf-netconf-server-model-06 WAS:FW: call-home-04 and server-model-06 available - All Open issues closed
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Mar 2015 22:40:45 -0000

On Tue, Mar 03, 2015 at 10:16:21PM +0000, Ersue, Mehmet (Nokia - DE/Munich) wrote:
> Dear NETCONF WG,
> 
> we hereby issue a WG Last Call for 2 weeks for the drafts below:
> 
> https://tools.ietf.org/html/draft-ietf-netconf-call-home-04
> https://tools.ietf.org/html/draft-ietf-netconf-server-model-06
> 
> Please review and send your comments to the NETCONF WG mailing list by March 17, 2015 EOB PT.
>

Here is my review of draft-ietf-netconf-server-model-06:

* sec 2.4: What is 'TLS _transport-level_ authentication'? Why not
  just use 'TLS authentication' or perhaps even clearer 'TLS client
  authentication'?

* sec 2.6: Do we really need 'northbound application' terminology? Why
  not call it simply a NETCONF/RESTCONF client? There might also be
  possible confusion with phrases such as "Assuming an application has
  more than one server" - the server here seems to be the NETCONF
  client to call home to. Anyway, if we do need new terminology, I
  think we should properly define it to avoid any confusion.

* sec 3: Is it a good idea to name the top-level node netconf-server?
  Is this name consistent with how we name other things?

* sec 3: Can I have a server listening for SSH and accepting call home
  over TLS? Would features work out in such a case or would such a
  server make a client believe that the server is also allowing call
  home via SSH and incoming connections via TLS?
   
* sec 3.1.4: s/when RFC 6187 is supported/when X.509v3 certificates for SSH are supported [RFC6187]/

* sec 3: Are certificates sometimes represented as strings and
  sometimes represented as binary?

* sec 4: Is it a good idea to name the top-level node restconf-server?
  Is this name consistent with how we name other things? (see also above)

* sec 3.2: also mention that the module imports an extension from [RFC6536].

* sec 3.2:

  - is import by revision needed?

  - s/supports RFC 6187/supports X.509v3 certificates for SSH authentication/

  - Are groupings useful that are only used once? Are they really
    improving readability?

  - s/issuing RPC requests/carrying any NETCONF messages/

  - is there any motivation for the upper bounds of hello-timeout and
    idle-timeout?

  - better description for 'listen'?

  - is there a motivation for the upper bound of max-sessions?

  - why is max-sessions part of the listen subtree? do call home
    sessions count in here as well? it seems that max-session may be
    another global session parameter

  - neither address nor port are mandatory for a listening endpoint;
    since the port has a default, should address be mandatory?

  - is it useful to reference the RFC itself in a reference clause of
    a specific leaf (e.g., 'keep-alives' given that there is a
    'global' reference to the RFC? Probably it is useful since it
    references a specific section but then the section references
    does not make much sense...

  - better description for 'call-home'?

  - The description of 'application' talks about NETCONF clients, so
    application == NETCONF clients?

  - is there a motivation for the 15 seconds default for the call home
    keep alive timer?

  - is there a motivation for 30 seconds default linger time and 5
    minutes default reconnect time?

  - What is the meaning of "NETCONF servers SHOULD support this flag
    across reboots."? Perhaps it is clearer if the text said "NETCONF
    servers SHOULD be able to remember the last endpoint connected to
    across reboots".

  - how do interval-secs and count-max work for reconnect-strategy if
    an endpoint resolves to multiple IP addresses? Does the
    interval-secs apply every address of an endpoint or to all
    addresses of an endpoint? Does count-max increment for each
    address of an endpoint or just once for a given endpoint?

  - would it make sense to introduce a typedef for the X509
    certificates?

  - for certs, we copy binary certs into the config but for ssh host
    keys, we reference them using some strings that act as unique
    identifiers into an undefined pool of host keys. This is somewhat
    asymmetric and how do I configure a host-key without knowing which
    host keys the box has available? The problem likely is that we
    lack a generic infrastructure for managing SSH and TLS
    credentials. But would the approach to model pools of keys not be
    the more practical solution?

* sec 4.2: also	mention that the module imports an extension from [RFC6536].

* sec 4.2:

  - is import by revision needed?

  - would it not make sense to factor out some common groupings so
    that things can be reused instead of being defined multiple times?

  - what is "RFC ZZZZ: Client Authentication over New TLS Connection"?
    the editor instructions refer to draft-thomson-httpbis-cant but
    this one does not exist anymore?

  - several of the comments for the netconf server module also apply
    to the restconf server module - I am not repeating them here,
    assuming that any changes will be applied consistently anyway

* sec 5: remove the first sentence?

* sec 5.2: is this document the right place to require (MUST) that
  call home servers advertise "peer_allowed_to_send" per [RFC6520]?
  If this is a general requirement, should it not be in the call home
  document?

* sec 6: the 2nd paragraph should also refer to ietf-restconf-server

* sec 6: there may be more that is worth saying, e.g., that
  misconfigured call home server could be used to DDOS some other
  victim by repeatedly connecting and starting a TLS conversation.

* sec A: please use IP addresses reserved for documentation in the
  examples.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>