summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc6065.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc6065.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc6065.txt')
-rw-r--r--doc/rfc/rfc6065.txt1067
1 files changed, 1067 insertions, 0 deletions
diff --git a/doc/rfc/rfc6065.txt b/doc/rfc/rfc6065.txt
new file mode 100644
index 0000000..1f233d5
--- /dev/null
+++ b/doc/rfc/rfc6065.txt
@@ -0,0 +1,1067 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) K. Narayan
+Request for Comments: 6065 Cisco Systems, Inc.
+Category: Standards Track D. Nelson
+ISSN: 2070-1721 Elbrys Networks, Inc.
+ R. Presuhn, Ed.
+ December 2010
+
+
+ Using Authentication, Authorization, and Accounting Services
+ to Dynamically Provision View-Based Access Control Model
+ User-to-Group Mappings
+
+Abstract
+
+ This memo defines a portion of the Management Information Base (MIB)
+ for use with network management protocols. It describes the use of
+ information provided by Authentication, Authorization, and Accounting
+ (AAA) services, such as the Remote Authentication Dial-In User
+ Service (RADIUS), to dynamically update user-to-group mappings in the
+ View-based Access Control Model (VACM).
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ 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 5741.
+
+ 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/rfc6065.
+
+Copyright Notice
+
+ Copyright (c) 2010 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ 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
+
+
+
+
+
+Narayan, et al. Standards Track [Page 1]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ 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.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. The Internet-Standard Management Framework . . . . . . . . . . 3
+ 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1. Using AAA services with SNMP . . . . . . . . . . . . . . . 4
+ 4.2. Applicability . . . . . . . . . . . . . . . . . . . . . . 5
+ 5. Structure of the MIB Module . . . . . . . . . . . . . . . . . 6
+ 5.1. Textual Conventions . . . . . . . . . . . . . . . . . . . 6
+ 5.2. The Table Structure . . . . . . . . . . . . . . . . . . . 6
+ 6. Relationship to Other MIB Modules . . . . . . . . . . . . . . 6
+ 6.1. Relationship to the VACM MIB . . . . . . . . . . . . . . . 6
+ 6.2. MIB modules Required for IMPORTS . . . . . . . . . . . . . 6
+ 6.3. Documents Required for REFERENCE Clauses . . . . . . . . . 6
+ 7. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 7
+ 7.1. Sequencing Requirements . . . . . . . . . . . . . . . . . 7
+ 7.2. Actions upon Session Establishment Indication . . . . . . 7
+ 7.2.1. Required Information . . . . . . . . . . . . . . . . . 7
+ 7.2.2. Creation of Entries in vacmAaaSecurityToGroupTable . . 8
+ 7.2.3. Creation of Entries in vacmSecurityToGroupTable . . . 8
+ 7.2.4. Update of vacmGroupName . . . . . . . . . . . . . . . 9
+ 7.3. Actions upon Session Termination Indication . . . . . . . 9
+ 7.3.1. Deletion of Entries from
+ vacmAaaSecurityToGroupTable . . . . . . . . . . . . . 9
+ 7.3.2. Deletion of Entries from vacmSecurityToGroupTable . . 10
+ 8. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 10
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 14
+ 9.1. Principal Identity Naming . . . . . . . . . . . . . . . . 14
+ 9.2. Management Information Considerations . . . . . . . . . . 15
+ 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
+ 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 16
+ 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
+ 12.1. Normative References . . . . . . . . . . . . . . . . . . . 17
+ 12.2. Informative References . . . . . . . . . . . . . . . . . . 18
+
+
+
+
+
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 2]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+1. Introduction
+
+ This memo specifies a way to dynamically provision selected View-
+ based Access Control Model (VACM) [RFC3415] Management Information
+ Base (MIB) objects, based on information received from an
+ Authentication, Authorization, and Accounting (AAA) service, such as
+ RADIUS [RFC2865] and [RFC5607]. It reduces the need for security
+ administrators to manually update VACM configurations due to user
+ churn, allowing a centralized AAA service to provide the information
+ associating a given user with the access control policy (known as a
+ "group" in VACM) governing that user's access to management
+ information.
+
+ This memo requires no changes to the Abstract Service Interface for
+ the Access Control Subsystem, and requires no changes to the Elements
+ of Procedure for VACM. It provides a MIB module that reflects the
+ information provided by the AAA service, along with elements of
+ procedure for maintaining that information and performing
+ corresponding updates to VACM MIB data.
+
+ The reader is expected to be familiar with [RFC3415], [RFC5607],
+ [RFC5608], and their supporting specifications.
+
+2. The Internet-Standard Management Framework
+
+ For a detailed overview of the documents that describe the current
+ Internet-Standard Management Framework, please refer to section 7 of
+ RFC 3410 [RFC3410].
+
+ Managed objects are accessed via a virtual information store, termed
+ the Management Information Base or MIB. MIB objects are generally
+ accessed through the Simple Network Management Protocol (SNMP).
+ Objects in the MIB are defined using the mechanisms defined in the
+ Structure of Management Information (SMI). This memo specifies a MIB
+ module that is compliant to the SMIv2, which is described in STD 58,
+ RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
+ [RFC2580].
+
+3. Conventions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in RFC
+ 2119 [RFC2119].
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 3]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+4. Overview
+
+4.1. Using AAA services with SNMP
+
+ There are two use cases for AAA support of management access via
+ SNMP. These are (a) service authorization and (b) access control
+ authorization. The former is discussed in detail in [RFC5608]. The
+ latter is the subject of this memo.
+
+ The use case assumption here is that roles within an organization
+ (which are represented in VACM as groups, which in turn name access
+ control policies) change infrequently, while the users assigned to
+ those roles change much more frequently. This memo describes how the
+ user-to-role (group) mapping can be delegated to the RADIUS server,
+ avoiding the need to re-provision managed devices as users are added,
+ deleted, or assigned new roles in an organization.
+
+ This memo assumes that the detailed access control policies are pre-
+ configured in VACM, and does not attempt to address the question of
+ how the policy associated with a given role is put in place.
+
+ The only additional information obtained from the AAA service is the
+ mapping of the authenticated user's identifier to a specific role (or
+ "group" in VACM terminology) in the access control policy. Dynamic
+ user authorization for MIB database access control, as defined
+ herein, is limited to mapping the authenticated user to a group,
+ which in turn is mapped to whatever access control policies are
+ already in place in VACM.
+
+ The SNMP architecture [RFC3411] maintains strong modularity and
+ separation of concerns, separating user identity (authentication)
+ from user database access rights (authorization). RADIUS, on the
+ other hand, allows for no such separation of authorization from
+ authentication. Consequently, the approach here is to leverage
+ existing RADIUS usage for identifying a principal, documented in
+ [RFC5608], along with the RADIUS Management-Policy-Id Attribute
+ [RFC5607].
+
+ A unique identifier is needed for each AAA-authorized "session",
+ corresponding to a communication channel, such as a transport
+ session, for which a principal has been AAA-authenticated and which
+ is authorized to offer SNMP service. How these identifiers are
+ assigned is implementation dependent. When a RADIUS Management-
+ Policy-Id Attribute (or equivalent) is bound to such a session and
+ principal authentication, this binding provides sufficient
+ information to compute dynamic updates to VACM. How this information
+ is communicated within an implementation is implementation dependent;
+ this memo is only concerned with externally observable behavior.
+
+
+
+Narayan, et al. Standards Track [Page 4]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ The key concept here is that what we will informally call a "AAA
+ binding" binds:
+
+ 1. a communications channel
+
+ 2. an authenticated principal
+
+ 3. service authorization
+
+ 4. an access control policy name
+
+ Some of the binding is done via other specifications. A transport
+ model, such as the Secure Shell Transport Model [RFC5592], provides a
+ binding between 1 and 2 and 3, providing a securityName. In turn,
+ [RFC5607] provides a binding between (1+2+3) and 4. This document
+ extends that further, to create a binding between (1+2+3+4) and the
+ local (VACM MIB) definition of the named policy, called a group in
+ VACM.
+
+4.2. Applicability
+
+ Though this memo was motivated to support the use of specific
+ Transport Models, such as the Secure Shell Transport Model [RFC5592],
+ it MAY be used with other implementation environments satisfying
+ these requirements:
+
+ o use an AAA service for sign-on service and data access
+ authorization;
+
+ o provide an indication of the start of a session for a particular
+ authenticated principal in a particular role, based on information
+ provided by the AAA service. The principal will be identified
+ using an SNMP securityName [RFC3411]. The role will be identified
+ by the name of the corresponding VACM group.
+
+ o provide an indication of the end of the need for being able to
+ make access decisions for a particular authenticated principal, as
+ at the end of a session, whether due to disconnection, termination
+ due to timeout, or any other reason.
+
+ Likewise, although this memo specifically refers to RADIUS, it MAY be
+ used with other AAA services satisfying these requirements:
+
+ o the service provides information semantically equivalent to the
+ RADIUS Management-Policy-Id Attribute [RFC5607], which corresponds
+ to the name of a VACM group;
+
+
+
+
+
+Narayan, et al. Standards Track [Page 5]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ o the service provides an authenticated principal identifier (e.g.,
+ the RADIUS User-Name Attribute [RFC2865]) that can be transformed
+ to an equivalent principal identifier in the form of a
+ securityName [RFC3411].
+
+5. Structure of the MIB Module
+
+5.1. Textual Conventions
+
+ This MIB module makes use of the SnmpAdminString [RFC3411] and
+ SnmpSecurityModel [RFC3411] textual conventions.
+
+5.2. The Table Structure
+
+ This MIB module defines a single table, the
+ vacmAaaSecurityToGroupTable. This table is indexed by the integer
+ assigned to each security model, the protocol-independent
+ securityName corresponding to a principal, and the unique identifier
+ of a session.
+
+6. Relationship to Other MIB Modules
+
+ This MIB module has a close operational relationship with the SNMP-
+ VIEW-BASED-ACM-MIB (more commonly known as the "VACM MIB") from
+ [RFC3415]. It also relies on IMPORTS from several other modules.
+
+6.1. Relationship to the VACM MIB
+
+ Although the MIB module defined here has a close relationship with
+ the VACM MIB's vacmSecurityToGroupTable, it in no way changes the
+ elements of procedure for VACM, nor does it affect any other tables
+ defined in VACM. See the elements of procedure (below) for details
+ of how the contents of the vacmSecurityToGroupTable are affected by
+ this MIB module.
+
+6.2. MIB modules Required for IMPORTS
+
+ This MIB module employs definitions from [RFC2578], [RFC2579], and
+ [RFC3411].
+
+6.3. Documents Required for REFERENCE Clauses
+
+ This MIB module contains REFERENCE clauses making reference to
+ [RFC2865], [RFC3411], and [RFC5590].
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 6]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+7. Elements of Procedure
+
+ The following elements of procedure are formulated in terms of two
+ types of events: an indication of the establishment of a session, and
+ an indication that one has ended. These can result in the creation
+ of entries in the vacmAaaSecurityToGroupTable, which can in turn
+ trigger creation, update, or deletion of entries in the
+ vacmSecurityToGroupTable.
+
+ There are various possible implementation-dependent error cases not
+ spelled out here, such as running out of memory. By their nature,
+ recovery in such cases will be implementation dependent.
+ Implementors are advised to consider fail-safe strategies, e.g.,
+ prematurely terminating access in preference to erroneously
+ perpetuating access.
+
+7.1. Sequencing Requirements
+
+ These procedures assume that a transport model, such as [RFC5592],
+ coordinates session establishment with AAA authentication and
+ authorization. They rely on the receipt by the AAA client of the
+ RADIUS Management-Policy-Id [RFC5607] Attribute (or its equivalent)
+ from the RADIUS Access-Accept message (or equivalent). They also
+ assume that the User-Name [RFC2865] from the RADIUS Access-Request
+ message (or equivalent) corresponds to a securityName [RFC3411].
+
+ To ensure correct processing of SNMP PDUs, the handling of the
+ indication of the establishment of a session in accordance with the
+ elements of procedure below MUST be completed before the
+ isAccessAllowed() Abstract Service Interface [RFC3415] is invoked for
+ any SNMP PDUs from that session.
+
+ If a session termination indication occurs before all invocations of
+ the isAccessAllowed() Abstract Service Interface [RFC3415] have
+ completed for all SNMP PDUs from that session, those remaining
+ invocations MAY result in denial of access.
+
+7.2. Actions upon Session Establishment Indication
+
+7.2.1. Required Information
+
+ Four pieces of information are needed to process the session
+ establishment indication:
+
+ o the SnmpSecurityModel [RFC3411] needed as an index into the
+ vacmSecurityToGroupTable;
+
+ o the RADIUS User-Name Attribute;
+
+
+
+Narayan, et al. Standards Track [Page 7]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ o a session identifier, as a unique, definitive identifier of the
+ session that the AAA authorization is tied to;
+
+ o the RADIUS Management-Policy-Id Attribute.
+
+ All four of these pieces of information are REQUIRED. In particular,
+ if either the User-Name or Management-Policy-Id is absent, invalid,
+ or a zero-length string, no further processing of the session
+ establishment indication is undertaken.
+
+ As noted in Section 4.2, the above text refers specifically to RADIUS
+ attributes. Other AAA services can be substituted, but the
+ requirements imposed on the User-Name and the Management-Policy-Id-
+ Attribute MUST be satisfied using the equivalent fields for those
+ services.
+
+7.2.2. Creation of Entries in vacmAaaSecurityToGroupTable
+
+ Whenever an indication arrives that a new session has been
+ established, determine whether a corresponding entry exists in the
+ vacmAaaSecurityToGroupTable. If one does not, create a new row with
+ the columns populated as follows:
+
+ o vacmAaaSecurityModel = value of SnmpSecurityModel corresponding to
+ the security model in use;
+
+ o vacmAaaSecurityName = RADIUS User-Name Attribute or equivalent,
+ the securityName that will be used in invocations of the
+ isAccessAllowed() Abstract Service Interface [RFC3415];
+
+ o vacmAaaSessionID = session identifier, unique across all open
+ sessions of all of this SNMP engine's transport models;
+
+ o vacmAaaGroupName = RADIUS Management-Policy-Id Attribute or
+ equivalent.
+
+ Otherwise, if the row already exists, update the vacmAaaGroupName
+ with the RADIUS Management-Policy-Id Attribute or equivalent
+ supplied.
+
+7.2.3. Creation of Entries in vacmSecurityToGroupTable
+
+ Whenever an entry is created in the vacmAaaSecurityToGroupTable, the
+ vacmSecurityToGroupTable is examined to determine whether a
+ corresponding entry exists there, using the value of
+ vacmAaaSecurityModel for vacmSecurityModel, and the value of
+ vacmAaaSecurityName for vacmSecurityName. If no corresponding entry
+ exists, create one using the vacmAaaGroupName of the newly created
+
+
+
+Narayan, et al. Standards Track [Page 8]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ entry to fill in vacmGroupName, using a value of "volatile" for the
+ row's StorageType, and a value of "active" for its RowStatus.
+
+7.2.4. Update of vacmGroupName
+
+ Whenever the value of an instance of vacmAaaGroupName is updated, if
+ a corresponding entry exists in the vacmSecurityToGroupTable, and
+ that entry's StorageType is "volatile" and its RowStatus is "active",
+ update the value of vacmGroupName with the value from
+ vacmAaaGroupName.
+
+ If a corresponding entry already exists in the
+ vacmSecurityToGroupTable, and that row's StorageType is anything
+ other than "volatile", or its RowStatus is anything other than
+ "active", then that instance of vacmGroupName MUST NOT be modified.
+
+ The operational assumption here is that if the row's StorageType is
+ "volatile", then this entry was probably dynamically created; an
+ entry created by a security administrator would not normally be given
+ a StorageType of "volatile". If the value being provided by RADIUS
+ (or another AAA service) is the same as what is already there, this
+ is a no-op. If the value is different, the new information is
+ understood as a more recent role (group) assignment for the user,
+ which should supersede the one currently held there. The structure
+ of the vacmSecurityToGroupTable makes it impossible for a
+ (vacmSecurityModel, vacmSecurityName) tuple to map to more than one
+ group.
+
+7.3. Actions upon Session Termination Indication
+
+ Whenever a RADIUS (or other AAA) authenticated session ends for any
+ reason, an indication is provided. This indication MUST provide
+ means of determining the SnmpSecurityModel, and an identifier for the
+ transport session tied to the AAA authorization. The manner in which
+ this occurs is implementation dependent.
+
+7.3.1. Deletion of Entries from vacmAaaSecurityToGroupTable
+
+ Entries in the vacmAaaSecurityToGroupTable MUST NOT persist across
+ system reboots.
+
+ When a session has been terminated, the vacmAaaSecurityToGroupTable
+ is searched for a corresponding entry. A "matching" entry is any
+ entry for which the SnmpSecurityModel and session ID match the
+ information associated with the session termination indication. Any
+ matching entries are deleted. It is possible that no entries will
+ match; this is not an error, and no special processing is required in
+ this case.
+
+
+
+Narayan, et al. Standards Track [Page 9]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+7.3.2. Deletion of Entries from vacmSecurityToGroupTable
+
+ Whenever the last remaining row bearing a particular
+ (vacmAaaSecurityModel, vacmAaaSecurityName) pair is deleted from the
+ vacmAaaSecurityToGroupTable, the vacmSecurityToGroupTable is examined
+ for a corresponding row. If one exists, and if its StorageType is
+ "volatile" and its RowStatus is "active", that row MUST be deleted as
+ well. The mechanism to accomplish this task is implementation
+ dependent.
+
+8. Definitions
+
+SNMP-VACM-AAA-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2,
+ Unsigned32 FROM SNMPv2-SMI
+ SnmpAdminString,
+ SnmpSecurityModel FROM SNMP-FRAMEWORK-MIB;
+
+vacmAaaMIB MODULE-IDENTITY
+ LAST-UPDATED "201012090000Z" -- 9 December 2010
+ ORGANIZATION "ISMS Working Group"
+ CONTACT-INFO "WG-email: isms@ietf.org"
+
+ DESCRIPTION "The management and local datastore information
+ definitions for the AAA-Enabled View-based Access
+ Control Model for SNMP.
+
+ Copyright (c) 2010 IETF Trust and the persons
+ identified as the document authors. All rights
+ reserved.
+
+ Redistribution and use in source and binary forms,
+ with or without modification, is permitted pursuant
+ to, and subject to the license terms contained in,
+ the Simplified BSD License set forth in Section
+ 4.c of the IETF Trust's Legal Provisions Relating
+ to IETF Documents
+ (http://trustee.ietf.org/license-info).
+
+ This version of this MIB module is part of RFC 6065;
+ see the RFC itself for full legal notices."
+
+ REVISION "201012090000Z"
+ DESCRIPTION "Initial version, published as RFC 6065."
+
+
+
+Narayan, et al. Standards Track [Page 10]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ ::= { mib-2 199 }
+
+vacmAaaMIBObjects OBJECT IDENTIFIER ::= { vacmAaaMIB 1 }
+
+vacmAaaMIBConformance OBJECT IDENTIFIER ::= { vacmAaaMIB 2 }
+
+vacmAaaSecurityToGroupTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmAaaSecurityToGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "This table provides a listing of all currently active
+ sessions for which a mapping of the combination of
+ SnmpSecurityModel and securityName into the name of
+ a VACM group has been provided by an AAA service.
+ The group name (in VACM) in turn identifies an access
+ control policy to be used for the corresponding
+ principals."
+ REFERENCE "RFC 3411, Section 3.2.2, defines securityName."
+ ::= { vacmAaaMIBObjects 1 }
+
+vacmAaaSecurityToGroupEntry OBJECT-TYPE
+ SYNTAX VacmAaaSecurityToGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in this table maps the combination of a
+ SnmpSecurityModel and securityName into the name
+ of a VACM group defining the access control policy
+ that is to govern a particular session.
+
+ Each entry corresponds to a session.
+
+ Entries do not persist across reboots.
+
+ An entry is created whenever an indication occurs
+ that a new session has been established that would
+ not have the same index values as an existing entry.
+
+ When a session is torn down, disconnected, timed out
+ (e.g., following the RADIUS Session-Timeout Attribute),
+ or otherwise terminated for any reason, the
+ corresponding vacmAaaSecurityToGroupEntry is deleted."
+ REFERENCE "RFC 3411, Section 3.2.2, defines securityName."
+ INDEX {
+ vacmAaaSecurityModel,
+ vacmAaaSecurityName,
+ vacmAaaSessionID
+ }
+ ::= { vacmAaaSecurityToGroupTable 1 }
+
+
+
+Narayan, et al. Standards Track [Page 11]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+VacmAaaSecurityToGroupEntry ::= SEQUENCE
+ {
+ vacmAaaSecurityModel SnmpSecurityModel,
+ vacmAaaSecurityName SnmpAdminString,
+ vacmAaaSessionID Unsigned32,
+ vacmAaaGroupName SnmpAdminString
+ }
+
+vacmAaaSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel(1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The security model associated with the AAA binding
+ represented by this entry.
+
+ This object cannot take the 'any' (0) value."
+ ::= { vacmAaaSecurityToGroupEntry 1 }
+
+vacmAaaSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The securityName of the principal associated with the
+ AAA binding represented by this entry. In RADIUS
+ environments, this corresponds to the User-Name
+ Attribute."
+ REFERENCE "RFC 3411, Section 3.2.2, defines securityName, and
+ RFC 2865, Section 5.1, defines User-Name."
+ ::= { vacmAaaSecurityToGroupEntry 2 }
+
+vacmAaaSessionID OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An implementation-dependent identifier of the session.
+
+ This value MUST be unique among all currently open
+ sessions of all of this SNMP engine's transport models.
+ The value has no particular significance other than to
+ distinguish sessions.
+
+ Implementations in which tmSessionID has a compatible
+ syntax and is unique across all transport models MAY
+ use that value."
+ REFERENCE "The Abstract Service Interface parameter tmSessionID
+ is defined in RFC 5590, Section 5.2.4."
+ ::= { vacmAaaSecurityToGroupEntry 3 }
+
+
+
+
+Narayan, et al. Standards Track [Page 12]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+vacmAaaGroupName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The name of the group to which this entry is to belong.
+ In RADIUS environments, this comes from the RADIUS
+ Management-Policy-Id Attribute.
+
+ When the appropriate conditions are met,
+ the value of this object is applied the vacmGroupName
+ in the corresponding vacmSecurityToGroupEntry."
+ REFERENCE "RFC 3415"
+ ::= { vacmAaaSecurityToGroupEntry 4 }
+
+
+-- Conformance information ******************************************
+
+vacmAaaMIBCompliances
+ OBJECT IDENTIFIER ::= {vacmAaaMIBConformance 1}
+vacmAaaMIBGroups
+ OBJECT IDENTIFIER ::= {vacmAaaMIBConformance 2}
+
+-- compliance statements
+
+vacmAaaMIBBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines implementing
+ the AAA-Enabled View-based Access Control Model for
+ SNMP."
+ MODULE -- this module
+ MANDATORY-GROUPS { vacmAaaGroup }
+
+ ::= { vacmAaaMIBCompliances 1 }
+
+-- units of conformance
+
+vacmAaaGroup OBJECT-GROUP
+ OBJECTS {
+ vacmAaaGroupName
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects for supporting the use of AAA
+ services to provide user-to-group mappings for VACM."
+ ::= { vacmAaaMIBGroups 1 }
+
+END
+
+
+
+
+
+Narayan, et al. Standards Track [Page 13]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+9. Security Considerations
+
+ The algorithms in this memo make heuristic use of the StorageType of
+ entries in the vacmSecurityToGroupTable to distinguish those
+ provisioned by a security administrator (which would presumably not
+ be configured as "volatile") from those dynamically generated. In
+ making this distinction, it assumes that those entries explicitly
+ provisioned by a security administrator and given a non-"volatile"
+ status are not to be dynamically overridden. Furthermore, it assumes
+ that any active entries with "volatile" status can be treated as
+ dynamic, and deleted or updated as needed. Users of this memo need
+ to be aware of this operational assumption, which, while reasonable,
+ is not necessarily universally valid. For example, this situation
+ could also occur if the SNMP security administrator had mistakenly
+ created these non-volatile entries in error.
+
+ The design of VACM ensures that if an unknown policy (group name) is
+ used in the vacmSecurityToGroupTable, no access is granted. A
+ consequence of this is that no matter what information is provided by
+ the AAA server, no user can gain SNMP access rights not already
+ granted to some group through the VACM configuration.
+
+9.1. Principal Identity Naming
+
+ In order to ensure that the access control policy ultimately applied
+ as a result of the mechanisms described here is indeed the intended
+ policy for a given principal using a particular security model, care
+ needs to be applied in the mapping of the authenticated user
+ (principal) identity to the securityName used to make the access
+ control decision. Broadly speaking, there are two approaches to
+ ensure consistency of identity:
+
+ o Entries for the vacmSecurityToGroupTable corresponding to a given
+ security model are created only through the operation of the
+ procedures described in this memo. A consequence of this would be
+ that all such entries would have been created using the RADIUS
+ User-Name (or other AAA-authenticated identity) and RADIUS
+ Management-Policy-Id Attribute (or equivalent).
+
+ o Administrative policy allows a matching pre-configured entry to
+ exist in the vacmSecurityToGroupTable, i.e., an entry with the
+ corresponding vacmSecurityModel and with a vacmSecurityName
+ matching the authenticated principal's RADIUS User-Name. In this
+ case, administrative policy also needs to ensure consistency of
+ identity between each authenticated principal's RADIUS User-Name
+ and the administratively configured vacmSecurityName in the
+ vacmSecurityToGroupTable row entries for that particular security
+ model.
+
+
+
+Narayan, et al. Standards Track [Page 14]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ In the latter case, inconsistent re-use of the same name for
+ different entities or individuals (principals) can cause the
+ incorrect access control policy to be applied for the authenticated
+ principal, depending on whether the policy that is configured using
+ SNMP or the policy that is applied using the procedures of this memo
+ is the intended policy. This may result in greater or lesser access
+ rights than the administrative policy intended. Inadvertent
+ misidentification in such cases may be undetectable by the SNMP
+ engine or other software elements of the managed entity.
+
+9.2. Management Information Considerations
+
+ There are no management objects defined in this MIB module that have
+ a MAX-ACCESS clause of read-write and/or read-create. So, if this
+ MIB module is implemented correctly, then there is no risk that an
+ intruder can alter or create any management objects of this MIB
+ module via direct SNMP SET operations.
+
+ Some of the readable objects in this MIB module (including some
+ objects with a MAX-ACCESS of not-accessible, whose values are exposed
+ as a result of access to indexed objects) may be considered sensitive
+ or vulnerable in some network environments. It is thus important to
+ control even GET and/or NOTIFY access to these objects and possibly
+ to even encrypt the values of these objects when sending them over
+ the network via SNMP. These are the tables and objects and their
+ sensitivity/vulnerability:
+
+ o vacmAaaSecurityToGroupTable - the entire table is potentially
+ sensitive, since walking the table will reveal user names,
+ security models in use, session identifiers, and group names;
+
+ o vacmAaaSecurityModel - though not-accessible, this is exposed as
+ an index of vacmAaaGroupName;
+
+ o vacmAaaSecurityName - though not-accessible, this is exposed as an
+ index of vacmAaaGroupName;
+
+ o vacmAaaSessionID - though not-accessible, this is exposed as an
+ index of vacmAaaGroupName;
+
+ o vacmAaaGroupName - since this identifies a security policy and
+ associates it with a particular user, this is potentially
+ sensitive.
+
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 15]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ SNMP versions prior to SNMPv3 did not include adequate security.
+ Even if the network itself is secure (for example by using IPsec),
+ even then, there is no control as to who on the secure network is
+ allowed to access and GET/SET (read/change/create/delete) the objects
+ in this MIB module.
+
+ It is RECOMMENDED that implementers consider the security features as
+ provided by the SNMPv3 framework (see [RFC3410], section 8),
+ including full support for the SNMPv3 cryptographic mechanisms (for
+ authentication and privacy).
+
+ Further, deployment of SNMP versions prior to SNMPv3 is NOT
+ RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
+ enable cryptographic security. It is then a customer/operator
+ responsibility to ensure that the SNMP entity giving access to an
+ instance of this MIB module is properly configured to give access to
+ the objects only to those principals (users) that have legitimate
+ rights to indeed GET or SET (change/create/delete) them.
+
+10. IANA Considerations
+
+ The MIB module in this document uses the following IANA-assigned
+ OBJECT IDENTIFIER value recorded in the SMI Numbers registry:
+
+ Descriptor OBJECT IDENTIFIER value
+ ---------- -----------------------
+ vacmAaaMIB { mib-2 199 }
+
+11. Contributors
+
+ The following participants from the ISMS working group contributed to
+ the development of this document:
+
+ o Andrew Donati
+
+ o David Harrington
+
+ o Jeffrey Hutzelman
+
+ o Juergen Schoenwaelder
+
+ o Tom Petch
+
+ o Wes Hardaker
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 16]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ During the IESG review, additional comments were received from:
+
+ o Adrian Farrel
+
+ o Amanda Baber
+
+ o Dan Romescanu
+
+ o David Kessens
+
+ o Francis Dupont
+
+ o Glenn Keeni
+
+ o Jari Arkko
+
+ o Joel Jaeggli
+
+ o Magnus Nystrom
+
+ o Mike Heard
+
+ o Robert Story
+
+ o Russ Housley
+
+ o Sean Turner
+
+ o Tim Polk
+
+12. References
+
+12.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Structure of Management Information
+ Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
+
+ [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Textual Conventions for SMIv2",
+ STD 58, RFC 2579, April 1999.
+
+ [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
+ "Conformance Statements for SMIv2", STD 58, RFC 2580,
+ April 1999.
+
+
+
+Narayan, et al. Standards Track [Page 17]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+ [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
+ "Remote Authentication Dial In User Service (RADIUS)",
+ RFC 2865, June 2000.
+
+ [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
+ Architecture for Describing Simple Network Management
+ Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
+ December 2002.
+
+ [RFC3415] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
+ Access Control Model (VACM) for the Simple Network
+ Management Protocol (SNMP)", STD 62, RFC 3415,
+ December 2002.
+
+ [RFC5590] Harrington, D. and J. Schoenwaelder, "Transport Subsystem
+ for the Simple Network Management Protocol (SNMP)",
+ RFC 5590, June 2009.
+
+ [RFC5607] Nelson, D. and G. Weber, "Remote Authentication Dial-In
+ User Service (RADIUS) Authorization for Network Access
+ Server (NAS) Management", RFC 5607, July 2009.
+
+ [RFC5608] Narayan, K. and D. Nelson, "Remote Authentication Dial-In
+ User Service (RADIUS) Usage for Simple Network Management
+ Protocol (SNMP) Transport Models", RFC 5608, August 2009.
+
+12.2. Informative References
+
+ [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
+ "Introduction and Applicability Statements for Internet-
+ Standard Management Framework", RFC 3410, December 2002.
+
+ [RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure
+ Shell Transport Model for the Simple Network Management
+ Protocol (SNMP)", RFC 5592, June 2009.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 18]
+
+RFC 6065 AAA-Enabled VACM December 2010
+
+
+Authors' Addresses
+
+ Kaushik Narayan
+ Cisco Systems, Inc.
+ 10 West Tasman Drive
+ San Jose, CA 95134
+ USA
+
+ Phone: +1 408-526-8168
+ EMail: kaushik_narayan@yahoo.com
+
+
+ David Nelson
+ Elbrys Networks, Inc.
+ 282 Corporate Drive, Unit #1,
+ Portsmouth, NH 03801
+ USA
+
+ Phone: +1 603-570-2636
+ EMail: d.b.nelson@comcast.net
+
+
+ Randy Presuhn (editor)
+ San Jose, CA 95120
+ USA
+
+ EMail: randy_presuhn@mindspring.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Narayan, et al. Standards Track [Page 19]
+