Re: [netmod] Roman Danyliw's Discuss on draft-ietf-netmod-factory-default-14: (with DISCUSS and COMMENT)

Qin Wu <bill.wu@huawei.com> Wed, 22 April 2020 09:35 UTC

Return-Path: <bill.wu@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6B2A83A0C7A; Wed, 22 Apr 2020 02:35:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 BkCBHXE1oo8T; Wed, 22 Apr 2020 02:35:54 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 A42663A0C79; Wed, 22 Apr 2020 02:35:54 -0700 (PDT)
Received: from lhreml712-chm.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 12FB41A17D4F9015D72F; Wed, 22 Apr 2020 10:35:53 +0100 (IST)
Received: from lhreml712-chm.china.huawei.com (10.201.108.63) by lhreml712-chm.china.huawei.com (10.201.108.63) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Wed, 22 Apr 2020 10:35:52 +0100
Received: from DGGEML404-HUB.china.huawei.com (10.3.17.39) by lhreml712-chm.china.huawei.com (10.201.108.63) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1913.5 via Frontend Transport; Wed, 22 Apr 2020 10:35:52 +0100
Received: from DGGEML511-MBX.china.huawei.com ([169.254.1.248]) by DGGEML404-HUB.china.huawei.com ([fe80::b177:a243:7a69:5ab8%31]) with mapi id 14.03.0487.000; Wed, 22 Apr 2020 17:35:43 +0800
From: Qin Wu <bill.wu@huawei.com>
To: Andy Bierman <andy@yumaworks.com>, Kent Watsen <kent+ietf@watsen.net>
CC: Roman Danyliw <rdd@cert.org>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, The IESG <iesg@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-factory-default@ietf.org" <draft-ietf-netmod-factory-default@ietf.org>
Thread-Topic: [netmod] Roman Danyliw's Discuss on draft-ietf-netmod-factory-default-14: (with DISCUSS and COMMENT)
Thread-Index: AdYYhlG10Ird4QgrRq6qPSUUjWRu2A==
Date: Wed, 22 Apr 2020 09:35:42 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAAD62582A@dggeml511-mbx.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.138.33.123]
Content-Type: multipart/alternative; boundary="_000_B8F9A780D330094D99AF023C5877DABAAD62582Adggeml511mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/y8Ko_ne0tp3yaPdMT5RGQuF8rGE>
Subject: Re: [netmod] Roman Danyliw's Discuss on draft-ietf-netmod-factory-default-14: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Apr 2020 09:35:58 -0000

Hi,
发件人: Andy Bierman [mailto:andy@yumaworks.com]
发送时间: 2020年4月22日 0:20
收件人: Kent Watsen <kent+ietf@watsen.net>
抄送: Qin Wu <bill.wu@huawei.com>; Roman Danyliw <rdd@cert.org>; netmod-chairs@ietf.org; The IESG <iesg@ietf.org>; netmod@ietf.org; draft-ietf-netmod-factory-default@ietf.org
主题: Re: [netmod] Roman Danyliw's Discuss on draft-ietf-netmod-factory-default-14: (with DISCUSS and COMMENT)



On Tue, Apr 21, 2020 at 8:56 AM Kent Watsen <kent+ietf@watsen.net<mailto:kent%2Bietf@watsen.net>> wrote:
Hi Roman,

----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

Please use YANG security considerations template from https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines.  Specifically (as a DISCUSS item):

** (Per the template questions “for all YANG modules you must evaluate whether any readable data”) Would factory-default contain any sensitive information in certain network environments where the ACLs should be more restrictive that world readable for everyone?
[Qin]: It does follows yang-security-guidelines but there is no readable data node defined within rpc, that's why we don't use third paragraph boilerplate and fourth paragraph boilerplate of yang-security-guidelines. YANG-security-guidelines are more applicable to YANG data model with more readable/writable data nodes.
In addition, as clarified in the second paragraph, section 6 of this draft, NACM can be used to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations (i.e., factory-reset rpc)

Per “The operational disruption caused by setting the config to factory default contents varies greatly depending on the implementation and current config”, it seems like it could be worse than just an operational disruption.  Please note that a default configuration could be insecure or not have security controls enabled whereby exposing the network to compromise.

[Qin]: As described in the second paragraph of section 6 it by default restrict access for everyone by using the "default-deny-all" access control defined [RFC8341], what else does it need to address this security concern?
----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Please use YANG security considerations template from https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines.  Specifically (as a COMMENT item):

** Add “The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to …”

[Qin]: We did follow this template, I am wondering how it is different from the second paragraph of section 6? I see they are equivalent but with more fine granularity security measures, if my understanding is correct.


Regarding the use of the YANG security considerations template from [1], it has been noted that the template is imperfect in several ways…

For instance, a YANG module  may not define any protocol accessible nodes (e.g., they only define identities, typedefs, yang-data, or structures).  In another example, the YANG module may only define RPCs (such as in this case) and/or notifications.  In yet another example, the YANG module may be only for use with RESTCONF (not NETCONF), and thus mentioning NETCONF at all would be odd (i.e., RFC 8572).

In such cases, strict adherence to the template does not make sense.  As chair/shepherd/author, I’ve struggled with how to best satisfy the intention adequately.   Of course, each case varies, but one idea that I’ve been exploring is to start the section with a disclaimer explaining why/how template [1] is (or not) followed.  This approach is appealing as it immediately conveys to the IESG that the template was not ignored.  However, it is unappealing in that it may be wrong for the published Security Considerations section to have a link to the template.



Section 3 defines a factory-default datastore.
This exposes the factory default values of all configuration data nodes.
It seems like this should be mentioned in security considerations.

[Qin]: We could mention this but all other datastores defined in [RFC6241][RFC8342] could expose values of configuration data nodes. How it is different from other datastores, especially NMDA datastore, should it be treated differently? In addition, I think NACM is sufficient to prevent illegal access to content of various datastores. If any change is needed, we could make the following change:

OLD Text:

“

   Access to the "factory-reset" RPC operation is considered sensitive

   and therefore has been restricted using the "default-deny-all" access

   control defined in [RFC8341<https://tools.ietf.org/html/rfc8341>].
“
NEW TEXT:
“

   Access to the "factory-reset" RPC operation and content of factory-default datastore is considered sensitive

   and therefore has been restricted using the "default-deny-all" access

   control defined in [RFC8341<https://tools.ietf.org/html/rfc8341>].

”
Make sense?

The template is a guideline, nothing more.

IMO even a typedef can require some security documentation:

   typedef password {
       type string;
       description
         "contains the text password for access to all confidential server data";
   }


Please advise.
Kent  // as chair and shepherd



Andy


[1] https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines





_______________________________________________
netmod mailing list
netmod@ietf.org<mailto:netmod@ietf.org>
https://www.ietf.org/mailman/listinfo/netmod