NETCONF Call HomeおよびRESTCONF Call Home
英文を機械翻訳で日本語訳としています。日本語訳が正しくないことが考えられますので原文をメインとし、参考程度にご利用ください。
日本語訳
Internet Engineering Task Force (IETF) K. Watsen Request for Comments: 8071 Juniper Networks Category: Standards Track February 2017 ISSN: 2070-1721 NETCONF Call Home and RESTCONF Call Home
NETCONF Call HomeおよびRESTCONF Call Home
Abstract
概要
This RFC presents NETCONF Call Home and RESTCONF Call Home, which enable a NETCONF or RESTCONF server to initiate a secure connection to a NETCONF or RESTCONF client, respectively.
このRFCは、NETCONFコールホームおよびRESTCONFコールホームを提示します。これにより、NETCONFまたはRESTCONFサーバーは、それぞれNETCONFまたはRESTCONFクライアントへのセキュアな接続を開始できます。
Status of This Memo
このメモのステータス
This is an Internet Standards Track document.
これはInternet Standards Trackドキュメントです。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
このドキュメントは、IETF(Internet Engineering Task Force)の製品です。 これは、IETFコミュニティのコンセンサスを表しています。 公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。 インターネット標準の詳細については、RFC 7841のセクション2を参照してください。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8071.
このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc8071で入手できます。
Copyright Notice
著作権表示
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.
Copyright(c)2017 IETF Trustおよびドキュメントの作成者として識別された人物。 全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
この文書は、BCP 78およびIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象であり、この文書の発行日に有効です。 これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。 このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。
Watsen Standards Track [Page 1] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Terminology . . . . . . . . . . . . . . . . 3 1.3. Applicability Statement . . . . . . . . . . . . . . . . . 4 1.4. Relation to RFC 4253 . . . . . . . . . . . . . . . . . . 4 1.5. The NETCONF/RESTCONF Convention . . . . . . . . . . . . . 4 2. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 5 3. The NETCONF or RESTCONF Client . . . . . . . . . . . . . . . 5 3.1. Client Protocol Operation . . . . . . . . . . . . . . . . 5 3.2. Client Configuration Data Model . . . . . . . . . . . . . 7 4. The NETCONF or RESTCONF Server . . . . . . . . . . . . . . . 7 4.1. Server Protocol Operation . . . . . . . . . . . . . . . . 7 4.2. Server Configuration Data Model . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.1. Normative References . . . . . . . . . . . . . . . . . . 11 7.2. Informative References . . . . . . . . . . . . . . . . . 12 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13
1.はじめに. . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.動機 . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.要件用語. . . . . . . . . . . . . . . . 3 1.3.適用性声明. . . . . . . . . . . . . . . . . 4 1.4. RFC 4253との関係. . . . . . . . . . . . . . . . . . 4 1.5. NETCONF / RESTCONF条約. . . . . . . . . . . . . 4 2.ソリューションの概要. . . . . . . . . . . . . . . . . . . . . . 5 3. NETCONFまたはRESTCONFクライアント. . . . . . . . . . . . . . . 5 3.1.クライアントプロトコルオペレーション. . . . . . . . . . . . . . . . 5 3.2.クライアント構成データモデル. . . . . . . . . . . . . 7 4. NETCONFまたはRESTCONFサーバー. . . . . . . . . . . . . . . 7 4.1.サーバープロトコルオペレーション. . . . . . . . . . . . . . . . 7 4.2.サーバー構成データモデル. . . . . . . . . . . . . 8 5.セキュリティに関する考慮事項. . . . . . . . . . . . . . . . . . . 9 6. IANAの考慮事項. . . . . . . . . . . . . . . . . . . . . 10 7.参考資料. . . . . . . . . . . . . . . . . . . . . . . . . 11 7.1.規範的参照. . . . . . . . . . . . . . . . . . 11 7.2.有益な参照. . . . . . . . . . . . . . . . . 12 謝辞. . . . . . . . . . . . . . . . . . . . . . . . 13 著者のアドレス. . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction
1.はじめに
This RFC presents NETCONF Call Home and RESTCONF Call Home, which enable a NETCONF or RESTCONF server to initiate a secure connection to a NETCONF or RESTCONF client, respectively.
このRFCは、NETCONFコールホームおよびRESTCONFコールホームを提示します。これにより、NETCONFまたはRESTCONFサーバーは、それぞれNETCONFまたはRESTCONFクライアントへのセキュアな接続を開始できます。
NETCONF Call Home supports both of the secure transports used by the Network Configuration Protocol (NETCONF) [RFC6241], Secure Shell (SSH), and Transport Layer Security (TLS). The NETCONF protocol's binding to SSH is defined in [RFC6242]. The NETCONF protocol's binding to TLS is defined in [RFC7589].
NETCONF Call Homeは、Network Configuration Protocol(NETCONF)[RFC6241]、Secure Shell(SSH)、およびTransport Layer Security(TLS)で使用されるセキュアなトランスポートの両方をサポートしています。 NETCONFプロトコルのSSHへのバインディングは、[RFC6242]で定義されています。 TLSへのNETCONFプロトコルのバインディングは、[RFC7589]で定義されています。
RESTCONF Call Home only supports TLS, the same as the RESTCONF protocol [RFC8040]. The RESTCONF protocol's binding to TLS is defined in [RFC8040].
RESTCONF Call HomeはRESTCONFプロトコル[RFC8040]と同じように、TLSのみをサポートします。 RESTCONFプロトコルのTLSへのバインディングは、[RFC8040]で定義されています。
The SSH protocol is defined in [RFC4253]. The TLS protocol is defined in [RFC5246]. Both the SSH and TLS protocols are layered on top of the TCP protocol, which is defined in [RFC793].
SSHプロトコルは[RFC4253]で定義されています。 TLSプロトコルは[RFC5246]で定義されています。 SSHプロトコルとTLSプロトコルはどちらも、[RFC793]で定義されているTCPプロトコルの上に階層化されています。
Both NETCONF Call Home and RESTCONF Call Home preserve all but one of the client/server roles in their respective protocol stacks, as compared to client-initiated NETCONF and RESTCONF connections. The one and only role reversal that occurs is at the TCP layer; that is, which peer is the TCP client and which is the TCP server.
NETCONF Call HomeとRESTCONF Call Homeはどちらも、クライアントが開始したNETCONFおよびRESTCONF接続と比較して、それぞれのプロトコルスタックに1つを除くすべてのクライアント/サーバーの役割を保持します。 発生する唯一の役割の逆転は、TCP層で行われます。 つまり、どのピアがTCPクライアントでどれがTCPサーバーです。
Watsen Standards Track [Page 2] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 For example, a network element is traditionally the TCP server. However, when calling home, the network element initially assumes the role of the TCP client. The network element's secure transport-layer roles (SSH server, TLS server) and its application-layer roles (NETCONF server, RESTCONF server) all remain the same.
たとえば、ネットワーク要素は伝統的にTCPサーバーです。 ただし、ホームに発信すると、ネットワーク要素は最初にTCPクライアントの役割を引き受けます。 ネットワーク要素のセキュアなトランスポート層の役割(SSHサーバー、TLSサーバー)とそのアプリケーション層の役割(NETCONFサーバー、RESTCONFサーバー)はすべて同じままです。
Having consistency in both the secure transport-layer (SSH, TLS) and application-layer (NETCONF, RESTCONF) roles conveniently enables deployed network management infrastructure to support call home also. For instance, existing certificate chains and user authentication mechanisms are unaffected by call home.
セキュアなトランスポート層(SSH、TLS)とアプリケーション層(NETCONF、RESTCONF)の両方の役割に一貫性があると、展開されたネットワーク管理インフラストラクチャがコールホームもサポートできるようになります。 たとえば、既存の証明書チェーンとユーザー認証メカニズムは、コールホームの影響を受けません。
1.1. Motivation
1.1。 動機
Call home is generally useful for both the initial deployment and ongoing management of networking elements. Here are some scenarios enabled by call home:
コールホームは、通常、ネットワーク要素の初期展開と継続的な管理の両方に役立ちます。 オートコールによって可能になるいくつかのシナリオを次に示します。
o The network element may proactively "call home" after being powered on for the first time in order to register itself with its management system.
ネットワーク要素は、自身の管理システムに登録するために、最初に電源が投入された後、積極的に「コールホーム」することができます。
o The network element may access the network in a way that dynamically assigns it an IP address, but does not register its assigned IP address to a mapping service (e.g., dynamic DNS).
ネットワーク要素は、動的にIPアドレスを割り当てる方法でネットワークにアクセスできますが、割り当てられたIPアドレスをマッピングサービス(動的DNSなど)に登録しません。
o The network element may be deployed behind a firewall that implements Network Address Translation (NAT) for all internal network IP addresses.
ネットワーク要素は、すべての内部ネットワークIPアドレスにネットワークアドレス変換(NAT)を実装するファイアウォールの背後に配置できます。
o The network element may be deployed behind a firewall that does not allow any management access to the internal network.
ネットワーク要素は、内部ネットワークへの管理アクセスを許可しないファイアウォールの背後に配置される場合があります。
o The network element may be configured in "stealth mode", and thus does not have any open ports for the management system to connect to.
ネットワーク要素は「ステルスモード」で構成されている可能性があるため、管理システムが接続するための開いているポートはありません。
o The operator may prefer to have network elements initiate management connections, believing it is easier to secure one open port in the data center than to have an open port on each network element in the network.
オペレーターは、ネットワーク要素に管理接続を開始させることを好むかもしれません。ネットワーク内の各ネットワーク要素にポートを開くよりも、データセンターに開いているポートを1つ確保するほうが簡単だと考えているからです。
1.2. Requirements Terminology
1.2。 要件の用語
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 RFC 2119 [RFC2119]で説明されているように解釈されます。
Watsen Standards Track [Page 3] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 1.3. Applicability Statement
1.3。 適用性ステートメント
The techniques described in this document are suitable for network management scenarios such as the ones described in Section 1.1. However, these techniques are only defined for NETCONF Call Home and RESTCONF Call Home, as described in this document.
このドキュメントで説明されている手法は、セクション1.1で説明されているようなネットワーク管理シナリオに適しています。 ただし、これらの手法は、このドキュメントで説明されているように、NETCONF Call HomeおよびRESTCONF Call Homeに対してのみ定義されています。
The reason for this restriction is that different protocols have different security assumptions. The NETCONF and RESTCONF protocols require clients and servers to verify the identity of the other party. This requirement is specified for the NETCONF protocol in Section 2.2 of [RFC6241], and is specified for the RESTCONF protocol in Sections 2.4 and 2.5 of [RFC8040].
この制限の理由は、プロトコルごとにセキュリティの前提が異なるためです。 NETCONFおよびRESTCONFプロトコルでは、クライアントとサーバーが相手の身元を確認する必要があります。 この要件は、[RFC6241]のセクション2.2でNETCONFプロトコルに指定されており、[RFC8040]のセクション2.4および2.5でRESTCONFプロトコルに指定されています。
This contrasts with the base SSH and TLS protocols, which do not require programmatic verification of the other party (Section 9.3.4 of [RFC4251], Section 4 of [RFC4252], and Section 7.3 of [RFC5246]). In such circumstances, allowing the SSH/TLS server to contact the SSH/TLS client would open new vulnerabilities. Any use of call home with SSH/TLS for purposes other than NETCONF or RESTCONF will need a thorough contextual risk assessment. A risk assessment for this RFC is in the Security Considerations section (Section 5).
これは、相手のプログラムによる検証を必要としない基本のSSHおよびTLSプロトコルとは対照的です([RFC4251]のセクション9.3.4、[RFC4252]のセクション4、および[RFC5246]のセクション7.3)。 このような状況では、SSH / TLSサーバーがSSH / TLSクライアントに接続できるようにすると、新しい脆弱性が開かれます。 NETCONFまたはRESTCONF以外の目的でSSH / TLSを備えたオートコールを使用する場合は、完全なコンテキストリスク評価が必要になります。 このRFCのリスク評価は、セキュリティに関する考慮事項セクション(セクション5)にあります。
1.4. Relation to RFC 4253
1.4。 RFC 4253との関係
This document uses the SSH Transport Layer Protocol [RFC4253] with the exception that the statement "The client initiates the connection" made in Section 4 of RFC 4253 does not apply. Assuming the reference to the client means "SSH client" and the reference to the connection means "TCP connection", this statement doesn't hold true in call home, where the network element is the SSH server and yet still initiates the TCP connection. Security implications related to this change are discussed in Section 5.
このドキュメントでは、SSHトランスポート層プロトコル[RFC4253]を使用していますが、RFC 4253のセクション4で行われた「クライアントが接続を開始する」という記述は適用されません。 クライアントへの参照が「SSHクライアント」を意味し、接続への参照が「TCP接続」を意味すると、このステートメントは、ネットワーク要素がSSHサーバーであり、TCP接続を開始するコールホームでは当てはまりません。 この変更に関連するセキュリティの影響については、セクション5で説明します。
1.5. The NETCONF/RESTCONF Convention
1.5。 NETCONF / RESTCONF規約
Throughout the remainder of this document, the term "NETCONF/ RESTCONF" is used as an abbreviation in place of the text "the NETCONF or the RESTCONF". The NETCONF/RESTCONF abbreviation is not intended to require or to imply that a client or server must implement both the NETCONF standard and the RESTCONF standard.
このドキュメントの残りの部分では、「NETCONFまたはRESTCONF」というテキストの代わりに、「NETCONF / RESTCONF」という用語を略語として使用しています。 NETCONF / RESTCONFの省略形は、クライアントまたはサーバーがNETCONF標準とRESTCONF標準の両方を実装する必要があることを要求または示唆するものではありません。
Watsen Standards Track [Page 4] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 2. Solution Overview
2.ソリューションの概要
The diagram below illustrates call home from a protocol-layering perspective:
次の図は、プロトコルレイヤーの観点からのコールホームを示しています。
NETCONF/RESTCONF NETCONF/RESTCONF Server Client | | | 1. TCP | |----------------------------------->| | | | | | 2. SSH/TLS | |<-----------------------------------| | | | | | 3. NETCONF/RESTCONF | |<-----------------------------------| | | Note: Arrows point from the "client" to the "server" at each protocol layer.
注:矢印は、各プロトコル層の「クライアント」から「サーバー」を指しています。
Figure 1: Call Home Sequence Diagram
図1:Call Homeシーケンス図
This diagram makes the following points:
この図は次の点を示しています。
1. The NETCONF/RESTCONF server begins by initiating a TCP connection to the NETCONF/RESTCONF client.
1. NETCONF / RESTCONFサーバーは、NETCONF / RESTCONFクライアントへのTCP接続を開始することから始まります。
2. Using this TCP connection, the NETCONF/RESTCONF client initiates an SSH/TLS session to the NETCONF/RESTCONF server.
2.このTCP接続を使用して、NETCONF / RESTCONFクライアントはNETCONF / RESTCONFサーバーへのSSH / TLSセッションを開始します。
3. Using this SSH/TLS session, the NETCONF/RESTCONF client initiates a NETCONF/RESTCONF session to the NETCONF/RESTCONF server.
3.このSSH / TLSセッションを使用して、NETCONF / RESTCONFクライアントはNETCONF / RESTCONFサーバーへのNETCONF / RESTCONFセッションを開始します。
3. The NETCONF or RESTCONF Client
3. NETCONFまたはRESTCONFクライアント
The term "client" is defined in [RFC6241], Section 1.1. In the context of network management, the NETCONF/RESTCONF client might be a network management system.
「クライアント」という用語は、[RFC6241]のセクション1.1で定義されています。 ネットワーク管理のコンテキストでは、NETCONF / RESTCONFクライアントはネットワーク管理システムである可能性があります。
3.1. Client Protocol Operation
3.1。 クライアントプロトコル操作
C1 The NETCONF/RESTCONF client listens for TCP connection requests from NETCONF/RESTCONF servers. The client MUST support accepting TCP connections on the IANA-assigned ports defined in Section 6, but MAY be configured to listen to a different port.
NETCONF / RESTCONFクライアントは、NETCONF / RESTCONFサーバーからのTCP接続要求をリッスンします。 クライアントは、セクション6で定義されたIANA割り当てポートでのTCP接続の受け入れをサポートする必要がありますが、別のポートをリッスンするように構成できます(MAY)。
Watsen Standards Track [Page 5] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 C2 The NETCONF/RESTCONF client accepts an incoming TCP connection request and a TCP connection is established.
NETCONF / RESTCONFクライアントは着信TCP接続要求を受け入れ、TCP接続が確立されます。
C3 Using this TCP connection, the NETCONF/RESTCONF client starts either the SSH client [RFC4253] or the TLS client [RFC5246] protocol. For example, assuming the use of the IANA-assigned ports, the SSH client protocol is started when the connection is accepted on port 4334 and the TLS client protocol is started when the connection is accepted on either port 4335 or port 4336.
このTCP接続を使用して、NETCONF / RESTCONFクライアントは、SSHクライアント[RFC4253]またはTLSクライアント[RFC5246]プロトコルを起動します。 たとえば、IANA割り当てポートの使用を想定して、接続がポート4334で受け入れられるとSSHクライアントプロトコルが開始され、ポート4335またはポート4336で接続が受け入れられるとTLSクライアントプロトコルが開始されます。
C4 When using TLS, the NETCONF/RESTCONF client MUST advertise "peer_allowed_to_send", as defined by [RFC6520]. This is required so that NETCONF/RESTCONF servers can depend on it being there for call home connections, when keep-alives are needed the most.
TLSを使用するとき、NETCONF / RESTCONFクライアントは、[RFC6520]で定義されているように、 "peer_allowed_to_send"を通知しなければなりません(MUST)。 これは、キープアライブが最も必要な場合に、NETCONF / RESTCONFサーバーがコールホーム接続のためにそこにあることに依存できるようにするために必要です。
C5 As part of establishing an SSH or TLS connection, the NETCONF/ RESTCONF client MUST validate the server's presented host key or certificate. This validation MAY be accomplished by certificate path validation or by comparing the host key or certificate to a previously trusted or "pinned" value. If a certificate is presented and it contains revocation-checking information, the NETCONF/RESTCONF client SHOULD check the revocation status of the certificate. If it is determined that a certificate has been revoked, the client MUST immediately close the connection.
SSHまたはTLS接続の確立の一環として、NETCONF / RESTCONFクライアントは、サーバーが提示したホストキーまたは証明書を検証する必要があります。 この検証は、証明書パスの検証によって、またはホストの鍵または証明書を以前に信頼された値または「固定された」値と比較することによって達成される場合があります。 証明書が提示され、失効確認情報が含まれている場合、NETCONF / RESTCONFクライアントは、証明書の失効ステータスを確認する必要があります(SHOULD)。 証明書が取り消されたと判断された場合、クライアントは直ちに接続を閉じる必要があります。
C6 If certificate path validation is used, the NETCONF/RESTCONF client MUST ensure that the presented certificate has a valid chain of trust to a preconfigured issuer certificate, and that the presented certificate encodes an "identifier" [RFC6125] that the client was aware of before the connection attempt. How identifiers are encoded in certificates MAY be determined by a policy associated with the certificate's issuer. For instance, a given issuer may be known to only sign IDevID certificates [Std-802.1AR-2009] having a unique identifier (e.g., a serial number) in the X.509 certificate's "CommonName" field.
証明書パスの検証を使用する場合、NETCONF / RESTCONFクライアントは、提示された証明書が事前構成された発行者証明書への有効な信頼チェーンを持ち、提示された証明書がクライアントが以前に認識していた「識別子」[RFC6125]をエンコードしていることを確認する必要があります。 接続試行。 識別子が証明書でエンコードされる方法は、証明書の発行者に関連付けられたポリシーによって決定される場合があります。 たとえば、特定の発行者は、X.509証明書の[CommonName]フィールドに一意の識別子(シリアル番号など)を持つIDevID証明書[Std-802.1AR-2009]にのみ署名することがわかっている場合があります。
C7 After the server's host key or certificate is validated, the SSH or TLS protocol proceeds as normal to establish an SSH or TLS connection. When performing client authentication with the NETCONF/RESTCONF server, the NETCONF/RESTCONF client MUST only use credentials that it had previously associated for the NETCONF/RESTCONF server's presented host key or server certificate.
サーバーのホストキーまたは証明書が検証されると、SSHまたはTLSプロトコルは通常どおりに進み、SSHまたはTLS接続を確立します。 NETCONF / RESTCONFサーバーでクライアント認証を実行する場合、NETCONF / RESTCONFクライアントは、以前にNETCONF / RESTCONFサーバーの提示されたホストキーまたはサーバー証明書に関連付けていた資格情報のみを使用する必要があります。
Watsen Standards Track [Page 6] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 C8 Once the SSH or TLS connection is established, the NETCONF/ RESTCONF client starts either the NETCONF client [RFC6241] or RESTCONF client [RFC8040] protocol. Assuming the use of the IANA-assigned ports, the NETCONF client protocol is started when the connection is accepted on either port 4334 or port 4335 and the RESTCONF client protocol is started when the connection is accepted on port 4336.
SSHまたはTLS接続が確立されると、NETCONF / RESTCONFクライアントはNETCONFクライアント[RFC6241]またはRESTCONFクライアント[RFC8040]プロトコルを開始します。 IANA割り当てポートの使用を想定して、接続がポート4334またはポート4335で受け入れられるとNETCONFクライアントプロトコルが開始され、ポート4336で接続が受け入れられるとRESTCONFクライアントプロトコルが開始されます。
3.2. Client Configuration Data Model
3.2。 クライアント構成データモデル
How a NETCONF or RESTCONF client is configured is outside the scope of this document. For instance, such a configuration might be used to enable listening for call home connections, configuring trusted certificate issuers, or configuring identifiers for expected connections. That said, YANG [RFC7950] data modules for configuring NETCONF and RESTCONF clients, including call home, are provided in [NETCONF-MODELS] and [RESTCONF-MODELS].
NETCONFまたはRESTCONFクライアントの設定方法は、このドキュメントの範囲外です。 たとえば、そのような構成を使用して、コールホーム接続のリッスン、信頼できる証明書発行者の構成、または予期される接続の識別子の構成を有効にすることができます。 つまり、コールホームを含むNETCONFおよびRESTCONFクライアントを構成するためのYANG [RFC7950]データモジュールは、[NETCONF-MODELS]および[RESTCONF-MODELS]で提供されます。
4. The NETCONF or RESTCONF Server
4. NETCONFまたはRESTCONFサーバー
The term "server" is defined in [RFC6241], Section 1.1. In the context of network management, the NETCONF/RESTCONF server might be a network element or a device.
「サーバー」という用語は、[RFC6241]のセクション1.1で定義されています。 ネットワーク管理のコンテキストでは、NETCONF / RESTCONFサーバーはネットワーク要素またはデバイスである可能性があります。
4.1. Server Protocol Operation
4.1。 サーバープロトコルの操作
S1 The NETCONF/RESTCONF server initiates a TCP connection request to the NETCONF/RESTCONF client. The source port may be per local policy or randomly assigned by the operating system. The server MUST support connecting to one of the IANA-assigned ports defined in Section 6, but MAY be configured to connect to a different port. Using the IANA-assigned ports, the server connects to port 4334 for NETCONF over SSH, port 4335 for NETCONF over TLS, and port 4336 for RESTCONF over TLS.
NETCONF / RESTCONFサーバーは、NETCONF / RESTCONFクライアントへのTCP接続要求を開始します。 送信元ポートは、ローカルポリシーごと、またはオペレーティングシステムによってランダムに割り当てられます。 サーバーは、セクション6で定義されているIANA割り当てポートの1つへの接続をサポートする必要がありますが、別のポートに接続するように構成できます(MAY)。 サーバーは、IANAが割り当てたポートを使用して、NETCONF over SSHの場合はポート4334、NETCONF over TLSの場合はポート4335、およびRESTCONF over TLSの場合はポート4336に接続します。
S2 The TCP connection request is accepted and a TCP connection is established.
TCP接続要求が受け入れられ、TCP接続が確立されます。
S3 Using this TCP connection, the NETCONF/RESTCONF server starts either the SSH server [RFC4253] or the TLS server [RFC5246] protocol, depending on how it is configured. For example, assuming the use of the IANA-assigned ports, the SSH server protocol is used after connecting to the remote port 4334 and the TLS server protocol is used after connecting to either remote port 4335 or remote port 4336.
このTCP接続を使用して、NETCONF / RESTCONFサーバーは、設定に応じて、SSHサーバー[RFC4253]またはTLSサーバー[RFC5246]プロトコルを起動します。 たとえば、IANAで割り当てられたポートの使用を想定すると、リモートポート4334に接続した後にSSHサーバープロトコルが使用され、リモートポート4335またはリモートポート4336に接続した後にTLSサーバープロトコルが使用されます。
Watsen Standards Track [Page 7] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 S4 As part of establishing the SSH or TLS connection, the NETCONF/ RESTCONF server will send its host key or certificate to the client. If a certificate is sent, the server MUST also send all intermediate certificates leading up to a well-known and trusted issuer. How to send a list of certificates is defined for SSH in [RFC6187], Section 2.1, and for TLS in [RFC5246], Section 7.4.2.
SSHまたはTLS接続の確立の一環として、NETCONF / RESTCONFサーバーは、ホストキーまたは証明書をクライアントに送信します。 証明書が送信される場合、サーバーは、よく知られた信頼できる発行者に至るまでのすべての中間証明書も送信する必要があります。 証明書のリストを送信する方法は、[RFC6187]のセクション2.1でSSHに対して、[RFC5246]のセクション7.4.2でTLSに対して定義されています。
S5 Establishing an SSH or TLS session requires server authentication of client credentials in all cases except with RESTCONF, where some client authentication schemes occur after the secure transport connection (TLS) has been established. If transport- level (SSH or TLS) client authentication is required, and the client is unable to successfully authenticate itself to the server in an amount of time defined by local policy, the server MUST close the connection.
SSHまたはTLSセッションを確立するには、すべてのケースでクライアント資格情報のサーバー認証が必要です。ただし、RESTCONFでは、セキュアなトランスポート接続(TLS)が確立された後に一部のクライアント認証スキームが発生します。 トランスポートレベル(SSHまたはTLS)のクライアント認証が必要で、クライアントがローカルポリシーで定義された時間内にサーバーに対して自身を正常に認証できない場合、サーバーは接続を閉じる必要があります。
S6 Once the SSH or TLS connection is established, the NETCONF/ RESTCONF server starts either the NETCONF server [RFC6241] or RESTCONF server [RFC8040] protocol, depending on how it is configured. Assuming the use of the IANA-assigned ports, the NETCONF server protocol is used after connecting to remote port 4334 or remote port 4335, and the RESTCONF server protocol is used after connecting to remote port 4336.
SSHまたはTLS接続が確立されると、NETCONF / RESTCONFサーバーは、構成方法に応じて、NETCONFサーバー[RFC6241]またはRESTCONFサーバー[RFC8040]プロトコルを起動します。 IANA割り当てポートの使用を想定して、NETCONFサーバープロトコルはリモートポート4334またはリモートポート4335への接続後に使用され、RESTCONFサーバープロトコルはリモートポート4336への接続後に使用されます。
S7 If a persistent connection is desired, the NETCONF/RESTCONF server, as the connection initiator, SHOULD actively test the aliveness of the connection using a keep-alive mechanism. For TLS-based connections, the NETCONF/RESTCONF server SHOULD send HeartbeatRequest messages, as defined by [RFC6520]. For SSH- based connections, per Section 4 of [RFC4254], the server SHOULD send an SSH_MSG_GLOBAL_REQUEST message with a purposely nonexistent "request name" value (e.g., keepalive@ietf.org) and the "want reply" value set to '1'.
持続的な接続が必要な場合、NETCONF / RESTCONFサーバーは、接続の開始者として、キープアライブメカニズムを使用して接続の有効性をアクティブにテストする必要があります(SHOULD)。 TLSベースの接続の場合、NETCONF / RESTCONFサーバーは、[RFC6520]で定義されているように、HeartbeatRequestメッセージを送信する必要があります(SHOULD)。 SSHベースの接続の場合、[RFC4254]のセクション4に従って、サーバーは意図的に存在しない「リクエスト名」値(たとえば、keepalive @ ietf.org)と「want reply」値を「1」に設定してSSH_MSG_GLOBAL_REQUESTメッセージを送信する必要があります(SHOULD)。 '。
4.2. Server Configuration Data Model
4.2。 サーバー構成データモデル
How a NETCONF or RESTCONF server is configured is outside the scope of this document. This includes configuration that might be used to specify hostnames, IP addresses, ports, algorithms, or other relevant parameters. That said, YANG [RFC7950] data modules for configuring NETCONF and RESTCONF servers, including call home, are provided in [NETCONF-MODELS] and [RESTCONF-MODELS].
NETCONFサーバーまたはRESTCONFサーバーの構成方法は、このドキュメントの範囲外です。 これには、ホスト名、IPアドレス、ポート、アルゴリズム、またはその他の関連パラメーターを指定するために使用できる構成が含まれます。 つまり、コールホームを含むNETCONFおよびRESTCONFサーバーを構成するためのYANG [RFC7950]データモジュールは、[NETCONF-MODELS]および[RESTCONF-MODELS]で提供されます。
Watsen Standards Track [Page 8] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 5. Security Considerations
5.セキュリティに関する考慮事項
The security considerations described in [RFC6242] and [RFC7589], and by extension [RFC4253], [RFC5246], and [RFC8040] apply here as well.
[RFC6242]と[RFC7589]、および拡張[RFC4253]、[RFC5246]、および[RFC8040]で説明されているセキュリティの考慮事項は、ここでも適用されます。
This RFC deviates from standard SSH and TLS usage by having the SSH/ TLS server initiate the underlying TCP connection. This reversal is incongruous with [RFC4253], which says "the client initiates the connection" and also [RFC6125], which says "the client MUST construct a list of acceptable reference identifiers, and MUST do so independently of the identifiers presented by the service."
このRFCは、SSH / TLSサーバーが基になるTCP接続を開始するようにすることで、標準のSSHおよびTLSの使用法から逸脱しています。 この逆転は、「クライアントが接続を開始する」と言う[RFC4253]と「クライアントが受け入れ可能な参照識別子のリストを作成しなければならず、サービスによって提示される識別子とは無関係に作成する必要がある」[RFC6125]と矛盾しています。 。
Risks associated with these variances are centered around server authentication and the inability for clients to compare an independently constructed reference identifier to one presented by the server. To mitigate against these risks, this RFC requires that the NETCONF/RESTCONF client validate the server's SSH host key or certificate, by certificate path validation to a preconfigured issuer certificate, or by comparing the host key or certificate to a previously trusted or "pinned" value. Furthermore, when a certificate is used, this RFC requires that the client be able to match an identifier encoded in the presented certificate with an identifier the client was preconfigured to expect (e.g., a serial number).
これらの差異に関連するリスクは、サーバー認証と、クライアントが独立して構築された参照識別子をサーバーから提示された参照識別子と比較できないことを中心にしています。 これらのリスクを軽減するために、このRFCでは、NETCONF / RESTCONFクライアントがサーバーのSSHホストキーまたは証明書を検証するか、事前に構成された発行者証明書に対する証明書パス検証によって検証するか、ホストキーまたは証明書を以前に信頼されたまたは「ピン留めされた」ものと比較することによって検証する必要があります。 値。 さらに、証明書を使用する場合、このRFCでは、クライアントが提示された証明書にエンコードされた識別子と、クライアントが予期するように事前構成された識別子(シリアル番号など)を照合できる必要があります。
For cases when the NETCONF/RESTCONF server presents an X.509 certificate, NETCONF/RESTCONF clients should ensure that the preconfigured issuer certificate used for certificate path validation is unique to the manufacturer of the server. That is, the certificate should not belong to a third-party certificate authority that might issue certificates for more than one manufacturer. This is especially important when a client authentication mechanism passing a shared secret (e.g., a password) to the server is used. Not doing so could otherwise lead to a case where the client sends the shared secret to another server that happens to have the same identity (e.g., a serial number) as the server the client was configured to expect.
NETCONF / RESTCONFサーバーがX.509証明書を提示する場合、NETCONF / RESTCONFクライアントは、証明書パスの検証に使用される事前構成された発行者証明書がサーバーの製造元に固有であることを確認する必要があります。 つまり、証明書は、複数の製造元の証明書を発行する可能性があるサードパーティの認証局に属してはなりません。 これは、共有シークレット(パスワードなど)をサーバーに渡すクライアント認証メカニズムを使用する場合に特に重要です。 そうしないと、クライアントが共有シークレットを別のサーバーに送信し、クライアントが予期するように構成されたサーバーと同じID(シリアル番号など)を偶然に持つ可能性があります。
Considerations not associated with server authentication follow next.
サーバー認証に関連しない考慮事項が次に続きます。
Internet-facing hosts running NETCONF Call Home or RESTCONF Call Home will be fingerprinted via scanning tools such as "zmap" [zmap]. Both SSH and TLS provide many ways in which a host can be fingerprinted. SSH and TLS servers are fairly mature and able to withstand attacks, but SSH and TLS clients may not be as robust. Implementers and deployments need to ensure that software update mechanisms are provided so that vulnerabilities can be fixed in a timely fashion.
NETCONF Call HomeまたはRESTCONF Call Homeを実行しているインターネットに面したホストは、「zmap」[zmap]などのスキャンツールを介してフィンガープリントが作成されます。 SSHとTLSはどちらも、ホストのフィンガープリントを取得できる多くの方法を提供します。 SSHおよびTLSサーバーはかなり成熟しており、攻撃に耐えることができますが、SSHおよびTLSクライアントはそれほど堅牢ではない場合があります。 実装者と展開は、ソフトウェア更新メカニズムが提供されていることを確認して、脆弱性をタイムリーに修正できるようにする必要があります。
Watsen Standards Track [Page 9] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 An attacker could launch a denial-of-service (DoS) attack on the NETCONF/RESTCONF client by having it perform computationally expensive operations, before deducing that the attacker doesn't possess a valid key. For instance, in TLS 1.3 [TLS1.3], the ClientHello message contains a Key Share value based on an expensive asymmetric key operation. Common precautions mitigating DoS attacks are recommended, such as temporarily blacklisting the source address after a set number of unsuccessful login attempts.
攻撃者は、NETCONF / RESTCONFクライアントに有効なキーを所持していないと推測する前に、計算量の多い操作を実行させることにより、サービス拒否(DoS)攻撃を仕掛けることができます。 たとえば、TLS 1.3 [TLS1.3]では、ClientHelloメッセージには、負荷の高い非対称鍵操作に基づく鍵共有値が含まれています。 ログイン試行が一定回数失敗した後、送信元アドレスを一時的にブラックリストに登録するなど、DoS攻撃を軽減する一般的な予防策を推奨します。
When using call home with the RESTCONF protocol, special care is required when using some HTTP authentication schemes, especially the Basic [RFC7617] and Digest [RFC7616] schemes, which convey a shared secret (e.g., a password). Implementers and deployments should be sure to review the Security Considerations section in the RFC for any HTTP client authentication scheme used.
RESTCONFプロトコルでコールホームを使用する場合、一部のHTTP認証スキーム、特に共有シークレット(パスワードなど)を伝達する基本[RFC7617]およびダイジェスト[RFC7616]スキームを使用する場合は、特別な注意が必要です。 実装者と配備では、使用するHTTPクライアント認証方式について、RFCのセキュリティに関する考慮事項のセクションを必ず確認してください。
6. IANA Considerations
6. IANAに関する考慮事項
IANA has assigned three TCP port numbers in the "User Ports" range with the service names "netconf-ch-ssh", "netconf-ch-tls", and "restconf-ch-tls". These ports will be the default ports for NETCONF Call Home and RESTCONF Call Home protocols. Below is the registration template following the rules in [RFC6335].
IANAは、「ユーザーポート」の範囲で、サービス名「netconf-ch-ssh」、「netconf-ch-tls」、「restconf-ch-tls」の3つのTCPポート番号を割り当てました。 これらのポートは、NETCONF Call HomeおよびRESTCONF Call Homeプロトコルのデフォルトポートになります。 以下は、[RFC6335]のルールに従った登録テンプレートです。
Service Name: netconf-ch-ssh Port Number: 4334 Transport Protocol(s): TCP Description: NETCONF Call Home (SSH) Assignee: IESG <iesg@ietf.org> Contact: IETF Chair <chair@ietf.org> Reference: RFC 8071 Service Name: netconf-ch-tls Port Number: 4335 Transport Protocol(s): TCP Description: NETCONF Call Home (TLS) Assignee: IESG <iesg@ietf.org> Contact: IETF Chair <chair@ietf.org> Reference: RFC 8071 Service Name: restconf-ch-tls Port Number: 4336 Transport Protocol(s): TCP Description: RESTCONF Call Home (TLS) Assignee: IESG <iesg@ietf.org> Contact: IETF Chair <chair@ietf.org> Reference: RFC 8071 Watsen Standards Track [Page 10] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 7. References
7.リファレンス
7.1. Normative References
7.1。 規範的な参考文献
[RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, DOI 10.17487/RFC0793, September 1981, <http://www.rfc-editor.org/info/rfc793>. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>. [RFC4251] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Protocol Architecture", RFC 4251, DOI 10.17487/RFC4251, January 2006, <http://www.rfc-editor.org/info/rfc4251>. [RFC4252] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252, January 2006, <http://www.rfc-editor.org/info/rfc4252>. [RFC4253] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253, January 2006, <http://www.rfc-editor.org/info/rfc4253>. [RFC4254] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Connection Protocol", RFC 4254, DOI 10.17487/RFC4254, January 2006, <http://www.rfc-editor.org/info/rfc4254>. [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008, <http://www.rfc-editor.org/info/rfc5246>. [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 2011, <http://www.rfc-editor.org/info/rfc6125>. [RFC6187] Igoe, K. and D. Stebila, "X.509v3 Certificates for Secure Shell Authentication", RFC 6187, DOI 10.17487/RFC6187, March 2011, <http://www.rfc-editor.org/info/rfc6187>. Watsen Standards Track [Page 11] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, <http://www.rfc-editor.org/info/rfc6241>. [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, <http://www.rfc-editor.org/info/rfc6242>. [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. Cheshire, "Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry", BCP 165, RFC 6335, DOI 10.17487/RFC6335, August 2011, <http://www.rfc-editor.org/info/rfc6335>. [RFC6520] Seggelmann, R., Tuexen, M., and M. Williams, "Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension", RFC 6520, DOI 10.17487/RFC6520, February 2012, <http://www.rfc-editor.org/info/rfc6520>. [RFC7589] Badra, M., Luchuk, A., and J. Schoenwaelder, "Using the NETCONF Protocol over Transport Layer Security (TLS) with Mutual X.509 Authentication", RFC 7589, DOI 10.17487/RFC7589, June 2015, <http://www.rfc-editor.org/info/rfc7589>. [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, <http://www.rfc-editor.org/info/rfc8040>. 7.2. Informative References
7.2。 参考情報
[NETCONF-MODELS] Watsen, K., Wu, G., and J. Schoenwaelder, "NETCONF Client and Server Models", Work in Progress, draft-ietf-netconf- netconf-client-server-01, November 2016. [RESTCONF-MODELS] Watsen, K. and J. Schoenwaelder, "RESTCONF Client and Server Models", Work in Progress draft-ietf-netconf- restconf-client-server-01, November 2016. [RFC7616] Shekh-Yusef, R., Ed., Ahrens, D., and S. Bremer, "HTTP Digest Access Authentication", RFC 7616, DOI 10.17487/RFC7616, September 2015, <http://www.rfc-editor.org/info/rfc7616>. Watsen Standards Track [Page 12] RFC 8071 NETCONF Call Home and RESTCONF Call Home February 2017 [RFC7617] Reschke, J., "The 'Basic' HTTP Authentication Scheme", RFC 7617, DOI 10.17487/RFC7617, September 2015, <http://www.rfc-editor.org/info/rfc7617>. [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, <http://www.rfc-editor.org/info/rfc7950>. [Std-802.1AR-2009] IEEE, "IEEE Standard for Local and metropolitan area networks - Secure Device Identity", IEEE Std 802.1AR-2009, DOI 10.1109/IEEESTD.2009.5367679, December 2009, <http://standards.ieee.org/findstds/ standard/802.1AR-2009.html>. [TLS1.3] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", Work in Progress, draft-ietf-tls-tls13-18, October 2016. [zmap] Durumeric, Z., Wustrow, E., and J. Halderman, "ZMap: Fast Internet-Wide Scanning and its Security Applications", 22nd Usenix Security Symposium, August 2013, <https://zmap.io/paper.html>. Acknowledgements The author would like to thank the following (ordered by last name) for lively discussions on the mailing list and in the halls: Jari Arkko, Andy Bierman, Martin Bjorklund, Ben Campbell, Spencer Dawkins, Mehmet Ersue, Stephen Farrell, Wes Hardaker, Stephen Hanna, David Harrington, Jeffrey Hutzelman, Simon Josefsson, Radek Krejci, Suresh Krishnan, Barry Leiba, Alan Luchuk, Kathleen Moriarty, Mouse, Russ Mundy, Tom Petch, Peter Saint-Andre, Joseph Salowey, Juergen Schoenwaelder, Martin Stiemerling, Joe Touch, Hannes Tschofenig, Sean Turner, and Bert Wijnen. Author's Address Kent Watsen Juniper Networks Email: kwatsen@juniper.net Watsen Standards Track [Page 13]