Re: [netconf] Latest ietf-netconf-server draft and related modules

Michal Vaško <mvasko@cesnet.cz> Mon, 05 April 2021 14:07 UTC

Return-Path: <mvasko@cesnet.cz>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5785F3A1A31 for <netconf@ietfa.amsl.com>; Mon, 5 Apr 2021 07:07:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cesnet.cz
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 eWmdWq_9hUM3 for <netconf@ietfa.amsl.com>; Mon, 5 Apr 2021 07:07:21 -0700 (PDT)
Received: from kalendar.cesnet.cz (kalendar.cesnet.cz [78.128.211.34]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 249FC3A1A30 for <netconf@ietf.org>; Mon, 5 Apr 2021 07:07:20 -0700 (PDT)
Received: by kalendar.cesnet.cz (Postfix, from userid 110) id 5846460084; Mon, 5 Apr 2021 16:07:15 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=kalendar; t=1617631635; bh=LjQ2ZjuCXDWx0QuO21sVe1T60hUpxwPkmDnEL/Nerko=; h=From:In-Reply-To:Date:Cc:To:Subject; b=gg0ZrQrPxPn6XGKwLp2i3303YkkYxDTit0Oj/i62z+XwzqXxpVYGPXBj1VaPpWSt2 7yohcvSLZ9pojiOBpuV/6gADUh827wOFb/gm240qQKf4mJFf+uHweroND4rpynJrPM jMw8F789CqRF5qCb6tC5krPeuKWbbdqH4pqzMJpE=
From: Michal Vaško <mvasko@cesnet.cz>
In-Reply-To: <01000178942e1633-ed64aaba-cc99-4893-989d-890bbd202ca5-000000@email.amazonses.com>
Content-Type: text/plain; charset="utf-8"
X-Forward: 84.42.188.124
Date: Mon, 05 Apr 2021 16:07:15 +0200
Cc: "netconf@ietf.org" <netconf@ietf.org>
To: Kent Watsen <kent@watsen.net>
MIME-Version: 1.0
Message-ID: <66c7-606b1980-11-21ab2140@196626001>
User-Agent: SOGoMail 5.0.1
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/9FNB0wUfbbw_yaHyfgOOO0rvH-s>
Subject: Re: [netconf] Latest ietf-netconf-server draft and related modules
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Mon, 05 Apr 2021 14:07:26 -0000

Hi Kent,

> > firstly I am sorry, somehow I missed this reply, my bad :(
> 
> No worries!  :)
> 
> 
> >>> I had a chance to look at these modules again and have 2 questions regarding some recent changes.
> >>> 
> >>> - ietf-ssh-server, ssh-server-grouping/client-authentication/supported-authentication-methods> 
> >>> Since the "other" leaf-list was removed there is no way to support some other methods than those specified. I am not sure whether this was the intention and if so, what is the reason for it? If nothing else, we support "interactive" authentication method but there are some others that I see no reason why they could not be used.
> >> 
> >> It took me a bit to determine that this change happened in ssh-client-server-18.
> >> 
> >> The motivation behind the change was to align the values with those defined in RFCs 4252 and 4250.
> >> 
> >> You mention an “interactive” and “some other” methods - where are they defined?
> > 
> > That is a good question. It seems no other methods are standardized but that does not mean they are not used.
> 
> What change are you hoping to see?  Is there anyway that such changes could be augmented in, or must they be in the base module?

Okay, so properly looking at all this, the 2 missing authentication methods (that are supported by libssh or sshd, or example) are actually standardized so I suppose you can add them directly into the YANG module. There are "keyboard-interactive" [1] (not "interactive") and "gssapi-with-mic" [2].

[1] https://tools.ietf.org/html/rfc4256
[2] https://tools.ietf.org/html/rfc4462

> >>> For a robust and extendible solution, why not use an identityref leaf-list with all the methods as identities? One could then simply add new ones with specific "if-feature" statements.
> >> 
> >> An identityref seems reasonable, could you propose a snippet of YANG for it?
> >> 
> >> That said, it seems equally possible for a future module to augment-in a new leaf under the "supported-authentication-methods” container...
> > 
> > Right, that would solve the problem, too. So you can keep it the way it is, up to you which solution you prefer. Not sure why I did not think of augments first but identityrefs. But identityrefs are much more general so the implementation should probably depend on whether these authentication methods are to be used only for this single purpose or not.
> 
> Either way is fine with me.  As the module is in WGLC currently, it would be good if others could express an option...
> 
> 
> 
> >>> - ietf-netconf-server, grouping netconf-server-grouping/client-identity-mappings
> >>> 
> >>> The "if-feature" on this container is strange. The practical problem is that if one wants to support certificates only for TLS, both one of the TLS features and "ssh-x509-certs" must be enabled. This then results in the container being defined for both SSH and TLS so there is no way to support it only for TLS or SSH.
> >> 
> >> Yes, granular features would be nice.  This issue is tracked here: https://github.com/netmod-wg/yang-next/issues/82 <https://github.com/netmod-wg/yang-next/issues/82>.  A possible fix would be to enable features on a per-XPath basis, perhaps using the “node-tags” draft going on in NETMOD.   Do you have a proposal?
> >> 
> >> BTW, shouldn’t the “if-feature” statement have an “or” (not an “and”) between the two major expressions?
> > 
> > Yes, I think "or" fits much better. I just was not sure whether there is not a specific reason why "and" was chosen.
> 
> OLD:        "(tls-listen or tls-call-home) and (sshcmn:ssh-x509-certs)”;
> NEW:        "tls-listen or tls-call-home or sshcmn:ssh-x509-certs";

Well, this is no good either because now ANY of those features are enabled, the certificates will be supported for BOTH TLS and SSH. What should be possible to support is X509 certificates for SSH, TLS, or both. That would require some more remodeling of "netconf-server-grouping", not just an "if-feature" update.

Regards,
Michal

> 
> But what about your original question, are you okay with consuming modules augmenting-in use-specific if-feature statements? 
> 
> 
> K.
> 
> 
> 
> 
>