draft-ietf-opsawg-tacacs-yang-03.txt | draft-ietf-opsawg-tacacs-yang-04.txt | |||
---|---|---|---|---|
Network Working Group G. Zheng | Network Working Group G. Zheng | |||
Internet-Draft M. Wang | Internet-Draft M. Wang | |||
Intended status: Standards Track B. Wu | Intended status: Standards Track B. Wu | |||
Expires: October 21, 2020 Huawei | Expires: November 9, 2020 Huawei | |||
April 19, 2020 | May 8, 2020 | |||
Yang data model for TACACS+ | Yang data model for TACACS+ | |||
draft-ietf-opsawg-tacacs-yang-03 | draft-ietf-opsawg-tacacs-yang-04 | |||
Abstract | Abstract | |||
This document defines YANG modules that augment the System Management | This document defines YANG modules that augment the System Management | |||
data model defined in the RFC 7317 with TACACS+ client model. The | data model defined in the RFC 7317 with TACACS+ client model. The | |||
data model of Terminal Access Controller Access Control System Plus | data model of Terminal Access Controller Access Control System Plus | |||
(TACACS+) client allows the configuration of TACACS+ servers for | (TACACS+) client allows the configuration of TACACS+ servers for | |||
centralized Authentication, Authorization and Accounting. | centralized Authentication, Authorization and Accounting. | |||
The YANG modules in this document conforms to the Network Management | The YANG modules in this document conforms to the Network Management | |||
skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 21, 2020. | This Internet-Draft will expire on November 9, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 19 ¶ | skipping to change at page 2, line 19 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Conventions used in this document . . . . . . . . . . . . . . 3 | 2. Conventions used in this document . . . . . . . . . . . . . . 3 | |||
2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | 3. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | |||
4. TACACS+ Client Module . . . . . . . . . . . . . . . . . . . . 5 | 4. TACACS+ Client Module . . . . . . . . . . . . . . . . . . . . 5 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 13 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References . . . . . . . . . . . . . . . . . 14 | |||
Appendix A. TACACS+ Authentication Configuration . . . . . . . . 14 | Appendix A. Example Tacacs+ Authentication Configuration . . . . 14 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
1. Introduction | 1. Introduction | |||
This document defines YANG modules that augment the System Management | This document defines YANG modules that augment the System Management | |||
data model defined in the [RFC7317] with TACACS+ client model. | data model defined in the [RFC7317] with TACACS+ client model. | |||
TACACS+ provides Device Administration for routers, network access | TACACS+ provides Device Administration for routers, network access | |||
servers and other networked computing devices via one or more | servers and other networked computing devices via one or more | |||
centralized servers which is defined in the TACACS+ Protocol. | centralized servers which is defined in the TACACS+ Protocol. | |||
[I-D.ietf-opsawg-tacacs] | [I-D.ietf-opsawg-tacacs] | |||
skipping to change at page 4, line 10 ¶ | skipping to change at page 4, line 10 ¶ | |||
This model is used to configure TACACS+ client on the device to | This model is used to configure TACACS+ client on the device to | |||
support deployment scenarios with centralized authentication, | support deployment scenarios with centralized authentication, | |||
authorization, and accounting servers. Authentication is used to | authorization, and accounting servers. Authentication is used to | |||
validate a user's name and password, authorization allows the user to | validate a user's name and password, authorization allows the user to | |||
access and execute commands at various command levels assigned to the | access and execute commands at various command levels assigned to the | |||
user and accounting keeps track of the activity of a user who has | user and accounting keeps track of the activity of a user who has | |||
accessed the device. | accessed the device. | |||
The ietf-system-tacacsplus module is intended to augment the | The ietf-system-tacacsplus module is intended to augment the | |||
"/sys:system" path defined in the ietf-system module with | "/sys:system" path defined in the ietf-system module with the | |||
"tacacsplus" grouping. Therefore, a device can use local, Remote | contents of the"tacacsplus" grouping. Therefore, a device can use | |||
Authentication Dial In User Service (RADIUS), or Terminal Access | local, Remote Authentication Dial In User Service (RADIUS), or | |||
Controller Access Control System Plus (TACACS+) to validate users who | Terminal Access Controller Access Control System Plus (TACACS+) to | |||
attempt to access the router by several mechanisms, e.g. a command | validate users who attempt to access the router by several | |||
line interface or a web-based user interface. | mechanisms, e.g. a command line interface or a web-based user | |||
interface. | ||||
The "server" list is directly under the "tacacsplus" container, which | The "server" list is directly under the "tacacsplus" container, which | |||
holds a list of TACACS+ servers and uses server-type to distinguish | holds a list of TACACS+ servers and uses server-type to distinguish | |||
between the three protocols. The list of servers is for redundancy. | between the three protocols. The list of servers is for redundancy. | |||
Most of the parameters in the "server" list are taken directly from | Most of the parameters in the "server" list are taken directly from | |||
the TACACS+ protocol [I-D.ietf-opsawg-tacacs], and some are derived | the TACACS+ protocol [I-D.ietf-opsawg-tacacs], and some are derived | |||
from the various implementations by network equipment manufacturers. | from the various implementations by network equipment manufacturers. | |||
For example, when there are multiple interfaces connected to the | For example, when there are multiple interfaces connected to the | |||
TACACS+ client or server, the source address of outgoing TACACS+ | TACACS+ client or server, the source address of outgoing TACACS+ | |||
skipping to change at page 5, line 10 ¶ | skipping to change at page 5, line 10 ¶ | |||
include the amount of data a user has sent and/or received during a | include the amount of data a user has sent and/or received during a | |||
session. | session. | |||
The data model for TACACS+ client has the following structure: | The data model for TACACS+ client has the following structure: | |||
module: ietf-system-tacacsplus | module: ietf-system-tacacsplus | |||
augment /sys:system: | augment /sys:system: | |||
+--rw tacacsplus {tacacsplus}? | +--rw tacacsplus {tacacsplus}? | |||
+--rw server* [name] | +--rw server* [name] | |||
+--rw name string | +--rw name string | |||
+--rw server-type? enumeration | +--rw server-type? tcsplus-server-type | |||
+--rw address inet:host | +--rw address inet:host | |||
+--rw port? inet:port-number | +--rw port? inet:port-number | |||
+--rw shared-secret string | +--rw shared-secret string | |||
+--rw (source-type)? | +--rw (source-type)? | |||
| +--:(source-ip) | | +--:(source-ip) | |||
| | +--rw source-ip? inet:ip-address | | | +--rw source-ip? inet:ip-address | |||
| +--:(source-interface) | | +--:(source-interface) | |||
| +--rw source-interface? if:interface-ref | | +--rw source-interface? if:interface-ref | |||
+--rw vrf-instance? | +--rw vrf-instance? | |||
| -> /ni:network-instances/network-instance/name | | -> /ni:network-instances/network-instance/name | |||
skipping to change at page 5, line 36 ¶ | skipping to change at page 5, line 36 ¶ | |||
+--ro connection-aborts? yang:counter64 | +--ro connection-aborts? yang:counter64 | |||
+--ro connection-failures? yang:counter64 | +--ro connection-failures? yang:counter64 | |||
+--ro connection-timeouts? yang:counter64 | +--ro connection-timeouts? yang:counter64 | |||
+--ro messages-sent? yang:counter64 | +--ro messages-sent? yang:counter64 | |||
+--ro messages-received? yang:counter64 | +--ro messages-received? yang:counter64 | |||
+--ro errors-received? yang:counter64 | +--ro errors-received? yang:counter64 | |||
+--ro sessions? yang:counter64 | +--ro sessions? yang:counter64 | |||
4. TACACS+ Client Module | 4. TACACS+ Client Module | |||
<CODE BEGINS> file "ietf-system-tacacsplus@2020-04-20.yang" | <CODE BEGINS> file "ietf-system-tacacsplus@2020-05-09.yang" | |||
module ietf-system-tacacsplus { | module ietf-system-tacacsplus { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-system-tacacsplus"; | namespace "urn:ietf:params:xml:ns:yang:ietf-system-tacacsplus"; | |||
prefix sys-tcsplus; | prefix sys-tcsplus; | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
skipping to change at page 6, line 32 ¶ | skipping to change at page 6, line 32 ¶ | |||
"RFC 8341: Network Configuration Access Control Model"; | "RFC 8341: Network Configuration Access Control Model"; | |||
} | } | |||
organization | organization | |||
"IETF Opsawg (Operations and Management Area Working Group)"; | "IETF Opsawg (Operations and Management Area Working Group)"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/opsawg/> | "WG Web: <http://tools.ietf.org/wg/opsawg/> | |||
WG List: <mailto:opsawg@ietf.org> | WG List: <mailto:opsawg@ietf.org> | |||
Editor: Bo Wu <lana.wubo@huawei.com> | Editor: Bo Wu <lana.wubo@huawei.com> | |||
: Guangying Zheng <zhengguangying@huawei.com>"; | Editor: Guangying Zheng <zhengguangying@huawei.com>"; | |||
description | description | |||
"This module provides configuration of TACACS+ client. | "This module provides configuration of TACACS+ client. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2020 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX; see the | This version of this YANG module is part of RFC XXXX; see the | |||
RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
revision 2020-04-20 { | revision 2020-05-09 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"RFC XXXX: A Yang Data Model for TACACS+"; | "RFC XXXX: A Yang Data Model for TACACS+"; | |||
} | } | |||
typedef tcsplus-server-type { | ||||
type bits { | ||||
bit authentication { | ||||
description | ||||
"When set, the server is an authentication server."; | ||||
} | ||||
bit authorization { | ||||
description | ||||
"When set, the server is an authorization server."; | ||||
} | ||||
bit accounting { | ||||
description | ||||
"When set, the server is an accounting server."; | ||||
} | ||||
} | ||||
description | ||||
"server-type can be set to authentication/authorization/accounting | ||||
or any combination of the three types. When all three types are | ||||
supported, all the three bits are set."; | ||||
} | ||||
feature tacacsplus { | feature tacacsplus { | |||
description | description | |||
"Indicates that the device can be configured as a TACACS+ | "Indicates that the device can be configured as a TACACS+ | |||
client."; | client."; | |||
reference | reference | |||
"draft-ietf-opsawg-tacacs-18: The TACACS+ Protocol"; | "draft-ietf-opsawg-tacacs-18: The TACACS+ Protocol"; | |||
} | } | |||
identity tacacsplus { | identity tacacsplus { | |||
base sys:authentication-method; | base sys:authentication-method; | |||
skipping to change at page 8, line 29 ¶ | skipping to change at page 8, line 51 ¶ | |||
"Number of messages received by the server"; | "Number of messages received by the server"; | |||
} | } | |||
leaf errors-received { | leaf errors-received { | |||
type yang:counter64; | type yang:counter64; | |||
description | description | |||
"Number of error messages received from the server"; | "Number of error messages received from the server"; | |||
} | } | |||
leaf sessions { | leaf sessions { | |||
type yang:counter64; | type yang:counter64; | |||
description | description | |||
"Total Number of sessions. A single-connection tacacs+ | "Number of TACACS+ sessions completed with the server. | |||
connection may be >1 sessions."; | If the Single Connection Mode was NOT enabled, the number of | |||
sessions is the same as the number of 'connection-closes'. | ||||
If the Mode was enabled, a single TCP connection may contain | ||||
multiple TACACS+ sessions."; | ||||
} | } | |||
} | } | |||
} | } | |||
grouping tacacsplus { | grouping tacacsplus { | |||
description | description | |||
"Grouping for TACACS+ attributes"; | "Grouping for TACACS+ attributes"; | |||
container tacacsplus { | container tacacsplus { | |||
if-feature "tacacsplus"; | if-feature "tacacsplus"; | |||
must "not(derived-from-or-self(../sys:authentication" | must "not(derived-from-or-self(../sys:authentication" | |||
+ "/sys:user-authentication-order, 'tacacsplus')) or server" { | + "/sys:user-authentication-order, 'tacacsplus')) or server" { | |||
error-message "When 'tacacsplus' is used as a sysytem" | error-message "When 'tacacsplus' is used as a system" | |||
+ " authentication method, a TACACS+ server" | + " authentication method, a TACACS+ server" | |||
+ " must be configured."; | + " must be configured."; | |||
description | description | |||
"When 'tacacsplus' is used as an authentication method, | "When 'tacacsplus' is used as an authentication method, | |||
a TACACS+ server must be configured."; | a TACACS+ server must be configured."; | |||
} | } | |||
description | description | |||
"Container for TACACS+ configurations and operations."; | "Container for TACACS+ configurations and operations."; | |||
list server { | list server { | |||
key "name"; | key "name"; | |||
ordered-by user; | ordered-by user; | |||
description | description | |||
"List of TACACS+ servers used by the device."; | "List of TACACS+ servers used by the device."; | |||
leaf name { | leaf name { | |||
type string; | type string; | |||
description | description | |||
"An arbitrary name for the TACACS+ server."; | "An arbitrary name for the TACACS+ server."; | |||
} | } | |||
leaf server-type { | leaf server-type { | |||
type enumeration { | type tcsplus-server-type; | |||
enum authentication { | ||||
description | ||||
"The server is an authentication server."; | ||||
} | ||||
enum authorization { | ||||
description | ||||
"The server is an authorization server."; | ||||
} | ||||
enum accounting { | ||||
description | ||||
"The server is an accounting server."; | ||||
} | ||||
enum all { | ||||
description | ||||
"The group of all types of TACACS+ servers."; | ||||
} | ||||
} | ||||
description | description | |||
"Server type: authentication/authorization/accounting/all."; | "Server type: authentication/authorization/accounting and | |||
various combinations. | ||||
When all three types are supported, all the three bits | ||||
are set."; | ||||
} | } | |||
leaf address { | leaf address { | |||
type inet:host; | type inet:host; | |||
mandatory true; | mandatory true; | |||
description | description | |||
"The address of the TACACS+ server."; | "The address of the TACACS+ server."; | |||
} | } | |||
leaf port { | leaf port { | |||
type inet:port-number; | type inet:port-number; | |||
default "49"; | default "49"; | |||
description | description | |||
"The port number of TACACS+ Server port."; | "The port number of TACACS+ Server port."; | |||
} | } | |||
leaf shared-secret { | leaf shared-secret { | |||
type string; | type string { | |||
length "16..max"; | ||||
} | ||||
mandatory true; | mandatory true; | |||
nacm:default-deny-all; | nacm:default-deny-all; | |||
description | description | |||
"The shared secret, which is known to both the | "The shared secret, which is known to both the | |||
TACACS+ client and server. TACACS+ server administrators | TACACS+ client and server. TACACS+ server administrators | |||
should configure secret keys of minimum | should configure shared secret of minimum 16 characters | |||
16 characters length."; | length. | |||
It is highly recommended that shared keys are at least 32 | ||||
characters long."; | ||||
reference | reference | |||
"TACACS+ protocol:"; | "TACACS+ protocol"; | |||
} | } | |||
choice source-type { | choice source-type { | |||
description | description | |||
"The source address type for outbound TACACS+ packets."; | "The source address type for outbound TACACS+ packets."; | |||
case source-ip { | case source-ip { | |||
leaf source-ip { | leaf source-ip { | |||
type inet:ip-address; | type inet:ip-address; | |||
description | description | |||
"Specifies source IP address for TACACS+ outbound | "Specifies source IP address for TACACS+ outbound | |||
packets."; | packets."; | |||
skipping to change at page 11, line 18 ¶ | skipping to change at page 11, line 32 ¶ | |||
response from each TACACS+ server before trying with a | response from each TACACS+ server before trying with a | |||
different server."; | different server."; | |||
} | } | |||
uses statistics; | uses statistics; | |||
} | } | |||
} | } | |||
} | } | |||
augment "/sys:system" { | augment "/sys:system" { | |||
description | description | |||
"Augment the system model with authorization and accounting | "Augment the system model with the tacacsplus model"; | |||
attributes | ||||
Augment the system model with the tacacsplus model"; | ||||
uses tacacsplus; | uses tacacsplus; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
5. Security Considerations | 5. Security Considerations | |||
The YANG module defined in this document is designed to be accessed | The YANG module defined in this document is designed to be accessed | |||
via network management protocols such as NETCONF [RFC6241] or | via network management protocols such as NETCONF [RFC6241] or | |||
skipping to change at page 11, line 46 ¶ | skipping to change at page 12, line 10 ¶ | |||
The NETCONF access control model [RFC8341] provides the means to | The NETCONF access control model [RFC8341] provides the means to | |||
restrict access for particular NETCONF or RESTCONF users to a | restrict access for particular NETCONF or RESTCONF users to a | |||
preconfigured subset of all available NETCONF or RESTCONF protocol | preconfigured subset of all available NETCONF or RESTCONF protocol | |||
operations and content. | operations and content. | |||
There are a number of data nodes defined in this YANG module that are | There are a number of data nodes defined in this YANG module that are | |||
writable/creatable/deletable (i.e., config true, which is the | writable/creatable/deletable (i.e., config true, which is the | |||
default). These data nodes may be considered sensitive or vulnerable | default). These data nodes may be considered sensitive or vulnerable | |||
in some network environments. Write operations (e.g., edit-config) | in some network environments. Write operations (e.g., edit-config) | |||
to these data nodes without proper protection can have a negative | to these data nodes without proper protection can have a negative | |||
effect on network operations. | effect on network operations. These are the subtrees and data nodes | |||
and their sensitivity/vulnerability: | ||||
/system/tacacsplus/server: This list contains the objects used to | ||||
control the TACACS+ servers used by the device. Unauthorized | ||||
access to this list could cause a user management failure on the | ||||
device . | ||||
/system/tacacsplus/server/shared-secret: This leaf controls the | ||||
key known to both the TACACS+ client and server. Unauthorized | ||||
access to this leaf could cause the device vulnerable to attacks. | ||||
This document describes the use of TACACS+ for purposes of | This document describes the use of TACACS+ for purposes of | |||
authentication, authorization and accounting, it is vulnerable to all | authentication, authorization and accounting, it is vulnerable to all | |||
of the threats that are present in TACACS+ applications. For a | of the threats that are present in TACACS+ applications. For a | |||
discussion of such threats, see Section 9 of the TACACS+ Protocol | discussion of such threats, see Section 9 of the TACACS+ Protocol | |||
[I-D.ietf-opsawg-tacacs]. | [I-D.ietf-opsawg-tacacs]. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This document registers a URI in the IETF XML registry [RFC3688]. | This document registers a URI in the IETF XML registry [RFC3688]. | |||
skipping to change at page 12, line 28 ¶ | skipping to change at page 12, line 49 ¶ | |||
registry [RFC7950]. | registry [RFC7950]. | |||
Name: ietf-system-tacacsplus | Name: ietf-system-tacacsplus | |||
Namespace: urn:ietf:params:xml:ns:yang: ietf-tacacsplus | Namespace: urn:ietf:params:xml:ns:yang: ietf-tacacsplus | |||
Prefix: sys-tcsplus | Prefix: sys-tcsplus | |||
Reference: RFC XXXX | Reference: RFC XXXX | |||
7. Acknowledgments | 7. Acknowledgments | |||
The authors wish to thank Alex Campbell, John Heasley, Ebben Aries, | The authors wish to thank Alex Campbell, John Heasley, Ebben Aries, | |||
Alan DeKok, Joe Clarke, and many others for their helpful comments | Alan DeKok, Joe Clarke, Joe Clarke, Tom Petch, and many others for | |||
and suggestions. | their helpful comments and suggestions. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[I-D.ietf-opsawg-tacacs] | [I-D.ietf-opsawg-tacacs] | |||
Dahm, T., Ota, A., dcmgash@cisco.com, d., Carrel, D., and | Dahm, T., Ota, A., dcmgash@cisco.com, d., Carrel, D., and | |||
L. Grant, "The TACACS+ Protocol", draft-ietf-opsawg- | L. Grant, "The TACACS+ Protocol", draft-ietf-opsawg- | |||
tacacs-18 (work in progress), March 2020. | tacacs-18 (work in progress), March 2020. | |||
skipping to change at page 14, line 5 ¶ | skipping to change at page 14, line 25 ¶ | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
8.2. Informative References | 8.2. Informative References | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
Appendix A. TACACS+ Authentication Configuration | Appendix A. Example Tacacs+ Authentication Configuration | |||
The system management model defines two authentication configuration | ||||
options, "local-users" and "radius", and use "user-authentication- | ||||
order" to control the authentication methods. As defined in | ||||
[RFC7317], the current system authentication methods model is as | ||||
follows: | ||||
+--rw system | The following shows an example where a tacacs+ authentication server | |||
+--rw authentication | instance is configured. | |||
+--rw user-authentication-order* identityref | ||||
... | ||||
This draft defines the "tacacsplus" extension and therefore needs to | { | |||
be configured in the same way. The 'tacacsplus' identity is defined | "ietf-system:system": { | |||
to control whether or not TACACS+ authentication should be used. | "authentication": { | |||
"user-authentication-order": [tacacsplus, local-users] | ||||
} | ||||
"tacacsplus": { | ||||
"server": [ | ||||
{ | ||||
"name": "tac_plus1", | ||||
"server-type": "authentication" | ||||
"address": "10.10.10.2", | ||||
"shared-secret": "QaEfThUkO1980100754609236h3TbE8n", | ||||
"source-ip": "10.10.10.12" | ||||
"single-connection": "false" | ||||
"timeout": "10" | ||||
} | ||||
] | ||||
} | ||||
} | ||||
} | ||||
Authors' Addresses | Authors' Addresses | |||
Guangying Zheng | Guangying Zheng | |||
Huawei | Huawei | |||
101 Software Avenue, Yuhua District | 101 Software Avenue, Yuhua District | |||
Nanjing, Jiangsu 210012 | Nanjing, Jiangsu 210012 | |||
China | China | |||
Email: zhengguangying@huawei.com | Email: zhengguangying@huawei.com | |||
End of changes. 23 change blocks. | ||||
65 lines changed or deleted | 97 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |