rfc-8808

A YANG Data Model for Factory Default Settings

Q. Wu, B. Lengyel, Y. Niu
date2020-08 streamIETF areaops wgnetmod statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc8808 doi10.17487/RFC8808
This document defines a YANG data model with the "factory-reset" RPC to allow clients to reset a server back to its factory default condition. It also defines an optional "factory-default" datastore to allow clients to read the factory default configuration for the device. The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.

Extracted elements (20)

design-rationale §2

Any cryptographic keys that are part of the factory-installed image (such as an IDevID certificate per BRSKI) are retained after factory-reset, while dynamically generated keys and certificates are deleted. This distinguishes between manufacturer-provisioned identity material and operator-provisioned configuration.

yang, security, crypto

design-rationale §3

The 'factory-default' datastore is defined as optional (a device MAY implement factory-reset without it) because its sole purpose is to allow clients to programmatically discover the factory default configuration; the reset operation itself does not require the datastore to be exposed.

yang, netconf

interoperability-note §3

The contents of <factory-default> cannot be changed by management operations via NETCONF, RESTCONF, CLI, etc., unless specialized dedicated operations are provided. It can be read using standard NETCONF/RESTCONF protocol operations.

yang, netconf

normative-requirement §2 MUST

All data in any dynamic configuration datastores MUST be discarded when the factory-reset RPC is invoked.

yang, netconf

normative-requirement §3 MUST

If the 'factory-default' datastore is supported, it MUST be included in the list of datastores in the YANG library (RFC 8525).

yang, netconf

normative-requirement §2 SHOULD

Implementors SHOULD reboot the device and get it properly configured or otherwise restart processes needed to bootstrap it after a factory-reset RPC is executed.

yang, netconf

normative-requirement §3 MUST

The contents of <factory-default> are defined by the device vendor and MUST persist across device restarts.

yang, netconf

normative-requirement §2 MUST

The contents of the <operational> datastore MUST reflect the operational state of the device after applying the factory default configuration following a factory-reset.

yang, netconf

normative-requirement §3 MUST

The 'factory-default' datastore schema MUST be either (1) the same as the conventional configuration datastores or (2) a subset of the datastore schema for the conventional configuration datastores.

yang, netconf

normative-requirement §2 MUST

The 'factory-reset' RPC MUST restore nonvolatile storage to factory condition, which may entail deleting dynamically generated files such as keys, certificates, logs, and temporary files.

yang, netconf, security

normative-requirement §2 RECOMMENDED

When factory-reset involves security-sensitive data such as cryptographic keys or passwords, it is RECOMMENDED to perform deletion as thoroughly as possible (e.g., overwriting storage with zeros and/or random bits) to reduce risk of sensitive material being recoverable.

yang, security, crypto

protocol-element §4

A 'factory-default-datastore' feature is defined in the YANG module to indicate that the factory default configuration is available as a datastore, allowing conditional support for the feature.

yang, netconf

protocol-element §3

The 'factory-default' datastore is an optional read-only datastore holding preset initial configuration used to initialize a server's configuration. A device MAY implement factory-reset without implementing this datastore, which only removes the ability to programmatically determine the factory default configuration.

yang, netconf

protocol-element §2

The 'factory-reset' RPC resets all supported conventional read-write configuration datastores (<running>, <startup>, <candidate>) to the contents of <factory-default>, discards all dynamic configuration datastore data, and restores nonvolatile storage to factory condition.

yang, netconf

protocol-element §4

The YANG module 'ietf-factory-default' defines the factory-reset RPC with nacm:default-deny-all access control, and a 'factory-default' identity (conditional on the factory-default-datastore feature) that bases on ds:datastore.

yang, netconf

registry §5

IANA registered the URI 'urn:ietf:params:xml:ns:yang:ietf-factory-default' in the 'ns' subregistry of the IETF XML Registry, and registered the YANG module 'ietf-factory-default' in the 'YANG Module Names' subregistry of the YANG Parameters registry.

yang, registry

security-consideration §6

Access to the 'factory-reset' RPC and the 'factory-default' datastore is considered sensitive and has been restricted using the 'default-deny-all' access control statement from RFC 8341 (NACM).

yang, security, netconf

security-consideration §6

The 'factory-reset' RPC can prevent any further management of the device when the server is reset to factory default, for example if session and client configurations are included in the factory default contents or treated as dynamic files that are overwritten.

yang, security, netconf

security-consideration §6

The mandatory-to-implement secure transport for NETCONF is SSH (RFC 6242), and for RESTCONF is TLS (RFC 8446). The YANG module is designed to be accessed via these protocols.

yang, security, tls, netconf

security-consideration §6

The owner of the device MUST NOT rely on any sensitive data (e.g., private keys) being forensically unrecoverable from the device's nonvolatile storage after a 'factory-reset' RPC has been invoked, as there is no guarantee data is wiped to any particular data-cleansing standard.

yang, security, crypto