Movatterモバイル変換


[0]ホーム

URL:


[RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

INTERNET STANDARD
Network Working Group                                      D. HarringtonRequest for Comments: 5591                     Huawei Technologies (USA)Category: Standards Track                                    W. Hardaker                                               Cobham Analytic Solutions                                                               June 2009Transport Security Model for theSimple Network Management Protocol (SNMP)Status of This Memo   This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Standards" (STD 1) for the standardization state   and status of this protocol.  Distribution of this memo is unlimited.Copyright Notice   Copyright (c) 2009 IETF Trust and the persons identified as the   document authors.  All rights reserved.   This document is subject toBCP 78 and the IETF Trust's Legal   Provisions Relating to IETF Documents in effect on the date of   publication of this document (http://trustee.ietf.org/license-info).   Please review these documents carefully, as they describe your rights   and restrictions with respect to this document.   This document may contain material from IETF Documents or IETF   Contributions published or made publicly available before November   10, 2008.  The person(s) controlling the copyright in some of this   material may not have granted the IETF Trust the right to allow   modifications of such material outside the IETF Standards Process.   Without obtaining an adequate license from the person(s) controlling   the copyright in such materials, this document may not be modified   outside the IETF Standards Process, and derivative works of it may   not be created outside the IETF Standards Process, except to format   it for publication as an RFC or to translate it into languages other   than English.Harrington & Hardaker       Standards Track                     [Page 1]

RFC 5591           Transport Security Model for SNMP           June 2009Abstract   This memo describes a Transport Security Model for the Simple Network   Management Protocol (SNMP).   This memo also defines a portion of the Management Information Base   (MIB) for monitoring and managing the Transport Security Model for   SNMP.Table of Contents1. Introduction ....................................................31.1. The Internet-Standard Management Framework .................31.2. Conventions ................................................31.3. Modularity .................................................41.4. Motivation .................................................51.5. Constraints ................................................52. How the Transport Security Model Fits in the Architecture .......62.1. Security Capabilities of this Model ........................62.1.1. Threats .............................................62.1.2. Security Levels .....................................72.2. Transport Sessions .........................................72.3. Coexistence ................................................72.3.1. Coexistence with Message Processing Models ..........72.3.2. Coexistence with Other Security Models ..............82.3.3. Coexistence with Transport Models ...................83. Cached Information and References ...............................83.1. Transport Security Model Cached Information ................93.1.1. securityStateReference ..............................93.1.2. tmStateReference ....................................93.1.3. Prefixes and securityNames ..........................94. Processing an Outgoing Message .................................104.1. Security Processing for an Outgoing Message ...............104.2. Elements of Procedure for Outgoing Messages ...............115. Processing an Incoming SNMP Message ............................125.1. Security Processing for an Incoming Message ...............125.2. Elements of Procedure for Incoming Messages ...............136. MIB Module Overview ............................................146.1. Structure of the MIB Module ...............................146.1.1. The snmpTsmStats Subtree ...........................146.1.2. The snmpTsmConfiguration Subtree ...................146.2. Relationship to Other MIB Modules .........................146.2.1. MIB Modules Required for IMPORTS ...................157. MIB Module Definition ..........................................158. Security Considerations ........................................208.1. MIB Module Security .......................................209. IANA Considerations ............................................2110. Acknowledgments ...............................................22Harrington & Hardaker       Standards Track                     [Page 2]

RFC 5591           Transport Security Model for SNMP           June 200911. References ....................................................2211.1. Normative References .....................................2211.2. Informative References ...................................23Appendix A.  Notification Tables Configuration ....................24A.1.  Transport Security Model Processing for Notifications .....25Appendix B.  Processing Differences between USM and Secure                Transport ............................................26B.1.  USM and theRFC 3411 Architecture .........................26B.2.  Transport Subsystem and theRFC 3411 Architecture .........271.  Introduction   This memo describes a Transport Security Model for the Simple Network   Management Protocol for use with secure Transport Models in the   Transport Subsystem [RFC5590].   This memo also defines a portion of the Management Information Base   (MIB) for monitoring and managing the Transport Security Model for   SNMP.   It is important to understand the SNMP architecture and the   terminology of the architecture to understand where the Transport   Security Model described in this memo fits into the architecture and   interacts with other subsystems and models within the architecture.   It is expected that readers will have also read and understood   [RFC3411], [RFC3412], [RFC3413], and [RFC3418].1.1.  The Internet-Standard Management Framework   For a detailed overview of the documents that describe the current   Internet-Standard Management Framework, please refer tosection 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].1.2.  Conventions   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 [RFC2119].Harrington & Hardaker       Standards Track                     [Page 3]

RFC 5591           Transport Security Model for SNMP           June 2009   Lowercase versions of the keywords should be read as in normal   English.  They will usually, but not always, be used in a context   that relates to compatibility with theRFC 3411 architecture or the   subsystem defined here but that might have no impact on on-the-wire   compatibility.  These terms are used as guidance for designers of   proposed IETF models to make the designs compatible withRFC 3411   subsystems and Abstract Service Interfaces (ASIs).  Implementers are   free to implement differently.  Some usages of these lowercase terms   are simply normal English usage.   For consistency with SNMP-related specifications, this document   favors terminology as defined in STD 62, rather than favoring   terminology that is consistent with non-SNMP specifications that use   different variations of the same terminology.  This is consistent   with the IESG decision to not require the SNMPv3 terminology be   modified to match the usage of other non-SNMP specifications when   SNMPv3 was advanced to Full Standard.   Authentication in this document typically refers to the English   meaning of "serving to prove the authenticity of" the message, not   data source authentication or peer identity authentication.   The terms "manager" and "agent" are not used in this document   because, in theRFC 3411 architecture, all SNMP entities have the   capability of acting as manager, agent, or both depending on the SNMP   applications included in the engine.  Where distinction is needed,   the application names of command generator, command responder,   notification originator, notification receiver, and proxy forwarder   are used.  See "Simple Network Management Protocol (SNMP)   Applications" [RFC3413] for further information.   While security protocols frequently refer to a user, the terminology   used in [RFC3411] and in this memo is "principal".  A principal is   the "who" on whose behalf services are provided or processing takes   place.  A principal can be, among other things, an individual acting   in a particular role, a set of individuals each acting in a   particular role, an application or a set of applications, or a   combination of these within an administrative domain.1.3.  Modularity   The reader is expected to have read and understood the description of   the SNMP architecture, as defined in [RFC3411], and the architecture   extension specified in "Transport Subsystem for the Simple Network   Management Protocol (SNMP)" [RFC5590], which enables the use of   external "lower-layer transport" protocols to provide messageHarrington & Hardaker       Standards Track                     [Page 4]

RFC 5591           Transport Security Model for SNMP           June 2009   security.  Transport Models are tied into the SNMP architecture   through the Transport Subsystem.  The Transport Security Model is   designed to work with such lower-layer, secure Transport Models.   In keeping with theRFC 3411 design decisions to use self-contained   documents, this memo includes the elements of procedure plus   associated MIB objects that are needed for processing the Transport   Security Model for SNMP.  These MIB objects SHOULD NOT be referenced   in other documents.  This allows the Transport Security Model to be   designed and documented as independent and self-contained, having no   direct impact on other modules.  It also allows this module to be   upgraded and supplemented as the need arises, and to move along the   standards track on different time-lines from other modules.   This modularity of specification is not meant to be interpreted as   imposing any specific requirements on implementation.1.4.  Motivation   This memo describes a Security Model to make use of Transport Models   that use lower-layer, secure transports and existing and commonly   deployed security infrastructures.  This Security Model is designed   to meet the security and operational needs of network administrators,   maximize usability in operational environments to achieve high   deployment success, and at the same time minimize implementation and   deployment costs to minimize the time until deployment is possible.1.5.  Constraints   The design of this SNMP Security Model is also influenced by the   following constraints:   1.  In times of network stress, the security protocol and its       underlying security mechanisms SHOULD NOT depend solely upon the       ready availability of other network services (e.g., Network Time       Protocol (NTP) or Authentication, Authorization, and Accounting       (AAA) protocols).   2.  When the network is not under stress, the Security Model and its       underlying security mechanisms MAY depend upon the ready       availability of other network services.   3.  It might not be possible for the Security Model to determine when       the network is under stress.   4.  A Security Model SHOULD NOT require changes to the SNMP       architecture.Harrington & Hardaker       Standards Track                     [Page 5]

RFC 5591           Transport Security Model for SNMP           June 2009   5.  A Security Model SHOULD NOT require changes to the underlying       security protocol.2.  How the Transport Security Model Fits in the Architecture   The Transport Security Model is designed to fit into theRFC 3411   architecture as a Security Model in the Security Subsystem and to   utilize the services of a secure Transport Model.   For incoming messages, a secure Transport Model will pass a   tmStateReference cache, described in [RFC5590].  To maintainRFC 3411   modularity, the Transport Model will not know which securityModel   will process the incoming message; the Message Processing Model will   determine this.  If the Transport Security Model is used with a non-   secure Transport Model, then the cache will not exist or will not be   populated with security parameters, which will cause the Transport   Security Model to return an error (seeSection 5.2).   The Transport Security Model will create the securityName and   securityLevel to be passed to applications, and will verify that the   tmTransportSecurityLevel reported by the Transport Model is at least   as strong as the securityLevel requested by the Message Processing   Model.   For outgoing messages, the Transport Security Model will create a   tmStateReference cache (or use an existing one), and will pass the   tmStateReference to the specified Transport Model.2.1.  Security Capabilities of this Model2.1.1.  Threats   The Transport Security Model is compatible with theRFC 3411   architecture and provides protection against the threats identified   by theRFC 3411 architecture.  However, the Transport Security Model   does not provide security mechanisms such as authentication and   encryption itself.  Which threats are addressed and how they are   mitigated depends on the Transport Model used.  To avoid creating   potential security vulnerabilities, operators should configure their   system so this Security Model is always used with a Transport Model   that provides appropriate security, where "appropriate" for a   particular deployment is an administrative decision.Harrington & Hardaker       Standards Track                     [Page 6]

RFC 5591           Transport Security Model for SNMP           June 20092.1.2.  Security Levels   TheRFC 3411 architecture recognizes three levels of security:      - without authentication and without privacy (noAuthNoPriv)      - with authentication but without privacy (authNoPriv)      - with authentication and with privacy (authPriv)   The model-independent securityLevel parameter is used to request   specific levels of security for outgoing messages and to assert that   specific levels of security were applied during the transport and   processing of incoming messages.   The transport-layer algorithms used to provide security should not be   exposed to the Transport Security Model, as the Transport Security   Model has no mechanisms by which it can test whether an assertion   made by a Transport Model is accurate.   The Transport Security Model trusts that the underlying secure   transport connection has been properly configured to support security   characteristics at least as strong as reported in   tmTransportSecurityLevel.2.2.  Transport Sessions   The Transport Security Model does not work with transport sessions   directly.  Instead the transport-related state is associated with a   unique combination of transportDomain, transportAddress,   securityName, and securityLevel, and is referenced via the   tmStateReference parameter.  How and if this is mapped to a   particular transport or channel is the responsibility of the   Transport Subsystem.2.3.  Coexistence   In theRFC 3411 architecture, a Message Processing Model determines   which Security Model SHALL be called.  As of this writing, IANA has   registered four Message Processing Models (SNMPv1, SNMPv2c, SNMPv2u/   SNMPv2*, and SNMPv3) and three other Security Models (SNMPv1,   SNMPv2c, and the User-based Security Model).2.3.1.  Coexistence with Message Processing Models   The SNMPv1 and SNMPv2c message processing described inBCP 74   [RFC3584] always selects the SNMPv1(1) and SNMPv2c(2) Security   Models.  Since there is no mechanism defined inRFC 3584 to select anHarrington & Hardaker       Standards Track                     [Page 7]

RFC 5591           Transport Security Model for SNMP           June 2009   alternative Security Model, SNMPv1 and SNMPv2c messages cannot use   the Transport Security Model.  Messages might still be able to be   conveyed over a secure transport protocol, but the Transport Security   Model will not be invoked.   The SNMPv2u/SNMPv2* Message Processing Model is an historic artifact   for which there is no existing IETF specification.   The SNMPv3 message processing defined in [RFC3412] extracts the   securityModel from the msgSecurityModel field of an incoming   SNMPv3Message.  When this value is transportSecurityModel(4),   security processing is directed to the Transport Security Model.  For   an outgoing message to be secured using the Transport Security Model,   the application MUST specify a securityModel parameter value of   transportSecurityModel(4) in the sendPdu Abstract Service Interface   (ASI).2.3.2.  Coexistence with Other Security Models   The Transport Security Model uses its own MIB module for processing   to maintain independence from other Security Models.  This allows the   Transport Security Model to coexist with other Security Models, such   as the User-based Security Model (USM) [RFC3414].2.3.3.  Coexistence with Transport Models   The Transport Security Model (TSM) MAY work with multiple Transport   Models, but theRFC 3411 Abstract Service Interfaces (ASIs) do not   carry a value for the Transport Model.  The MIB module defined in   this memo allows an administrator to configure whether or not TSM   prepends a Transport Model prefix to the securityName.  This will   allow SNMP applications to consider Transport Model as a factor when   making decisions, such as access control, notification generation,   and proxy forwarding.   To have SNMP properly utilize the security services coordinated by   the Transport Security Model, this Security Model MUST only be used   with Transport Models that know how to process a tmStateReference,   such as the Secure Shell Transport Model [RFC5592].3.  Cached Information and References   When performing SNMP processing, there are two levels of state   information that might need to be retained: the immediate state   linking a request-response pair and a potentially longer-term state   relating to transport and security.  "Transport Subsystem for the   Simple Network Management Protocol (SNMP)" [RFC5590] defines general   requirements for caches and references.Harrington & Hardaker       Standards Track                     [Page 8]

RFC 5591           Transport Security Model for SNMP           June 2009   This document defines additional cache requirements related to the   Transport Security Model.3.1.  Transport Security Model Cached Information   The Transport Security Model has specific responsibilities regarding   the cached information.3.1.1.  securityStateReference   The Transport Security Model adds the tmStateReference received from   the processIncomingMsg ASI to the securityStateReference.  This   tmStateReference can then be retrieved during the generateResponseMsg   ASI so that it can be passed back to the Transport Model.3.1.2.  tmStateReference   For outgoing messages, the Transport Security Model uses parameters   provided by the SNMP application to look up or create a   tmStateReference.   For the Transport Security Model, the security parameters used for a   response MUST be the same as those used for the corresponding   request.  This Security Model uses the tmStateReference stored as   part of the securityStateReference when appropriate.  For responses   and reports, this Security Model sets the tmSameSecurity flag to true   in the tmStateReference before passing it to a Transport Model.   For incoming messages, the Transport Security Model uses parameters   provided in the tmStateReference cache to establish a securityName,   and to verify adequate security levels.3.1.3.  Prefixes and securityNames   The SNMP-VIEW-BASED-ACM-MIB module [RFC3415], the SNMP-TARGET-MIB   module [RFC3413], and other MIB modules contain objects to configure   security parameters for use by applications such as access control,   notification generation, and proxy forwarding.   Transport domains and their corresponding prefixes are coordinated   via the IANA registry "SNMP Transport Domains".   If snmpTsmConfigurationUsePrefix is set to true, then all   securityNames provided by, or provided to, the Transport Security   Model MUST include a valid transport domain prefix.Harrington & Hardaker       Standards Track                     [Page 9]

RFC 5591           Transport Security Model for SNMP           June 2009   If snmpTsmConfigurationUsePrefix is set to false, then all   securityNames provided by, or provided to, the Transport Security   Model MUST NOT include a transport domain prefix.   The tmSecurityName in the tmStateReference stored as part of the   securityStateReference does not contain a prefix.4.  Processing an Outgoing Message   An error indication might return an Object Identifier (OID) and value   for an incremented counter, a value for securityLevel, values for   contextEngineID and contextName for the counter, and the   securityStateReference, if this information is available at the point   where the error is detected.4.1.  Security Processing for an Outgoing Message   This section describes the procedure followed by the Transport   Security Model.   The parameters needed for generating a message are supplied to the   Security Model by the Message Processing Model via the   generateRequestMsg() or the generateResponseMsg() ASI.  The Transport   Subsystem architectural extension has added the transportDomain,   transportAddress, and tmStateReference parameters to the originalRFC3411 ASIs.    statusInformation =                -- success or errorIndication          generateRequestMsg(          IN   messageProcessingModel  -- typically, SNMP version          IN   globalData              -- message header, admin data          IN   maxMessageSize          -- of the sending SNMP entity          IN   transportDomain         -- (NEW) specified by application          IN   transportAddress        -- (NEW) specified by application          IN   securityModel           -- for the outgoing message          IN   securityEngineID        -- authoritative SNMP entity          IN   securityName            -- on behalf of this principal          IN   securityLevel           -- Level of Security requested          IN   scopedPDU               -- message (plaintext) payload          OUT  securityParameters      -- filled in by Security Module          OUT  wholeMsg                -- complete generated message          OUT  wholeMsgLength          -- length of generated message          OUT  tmStateReference        -- (NEW) transport info               )  statusInformation = -- success or errorIndication          generateResponseMsg(          IN   messageProcessingModel  -- typically, SNMP versionHarrington & Hardaker       Standards Track                    [Page 10]

RFC 5591           Transport Security Model for SNMP           June 2009          IN   globalData              -- message header, admin data          IN   maxMessageSize          -- of the sending SNMP entity          IN   transportDomain         -- (NEW) specified by application          IN   transportAddress        -- (NEW) specified by application          IN   securityModel           -- for the outgoing message          IN   securityEngineID        -- authoritative SNMP entity          IN   securityName            -- on behalf of this principal          IN   securityLevel           -- Level of Security requested          IN   scopedPDU               -- message (plaintext) payload          IN   securityStateReference  -- reference to security state                                       -- information from original                                       -- request          OUT  securityParameters      -- filled in by Security Module          OUT  wholeMsg                -- complete generated message          OUT  wholeMsgLength          -- length of generated message          OUT  tmStateReference        -- (NEW) transport info               )4.2.  Elements of Procedure for Outgoing Messages   1.  If there is a securityStateReference (Response or Report       message), then this Security Model uses the cached information       rather than the information provided by the ASI.  Extract the       tmStateReference from the securityStateReference cache.  Set the       tmRequestedSecurityLevel to the value of the extracted       tmTransportSecurityLevel.  Set the tmSameSecurity parameter in       the tmStateReference cache to true.  The cachedSecurityData for       this message can now be discarded.   2.  If there is no securityStateReference (e.g., a Request-type or       Notification message), then create a tmStateReference cache.  Set       tmTransportDomain to the value of transportDomain,       tmTransportAddress to the value of transportAddress, and       tmRequestedSecurityLevel to the value of securityLevel.       (Implementers might optimize by pointing to saved copies of these       session-specific values.)  Set the transaction-specific       tmSameSecurity parameter to false.       If the snmpTsmConfigurationUsePrefix object is set to false, then       set tmSecurityName to the value of securityName.       If the snmpTsmConfigurationUsePrefix object is set to true, then       use the transportDomain to look up the corresponding prefix.       (Since the securityStateReference stores the tmStateReference       with the tmSecurityName for the incoming message, and since       tmSecurityName never has a prefix, the prefix-stripping step only       occurs when we are not using the securityStateReference).Harrington & Hardaker       Standards Track                    [Page 11]

RFC 5591           Transport Security Model for SNMP           June 2009          If the prefix lookup fails for any reason, then the          snmpTsmUnknownPrefixes counter is incremented, an error          indication is returned to the calling module, and message          processing stops.          If the lookup succeeds, but there is no prefix in the          securityName, or the prefix returned does not match the prefix          in the securityName, or the length of the prefix is less than          1 or greater than 4 US-ASCII alpha-numeric characters, then          the snmpTsmInvalidPrefixes counter is incremented, an error          indication is returned to the calling module, and message          processing stops.          Strip the transport-specific prefix and trailing ':' character          (US-ASCII 0x3a) from the securityName.  Set tmSecurityName to          the value of securityName.   3.  Set securityParameters to a zero-length OCTET STRING ('0400').   4.  Combine the message parts into a wholeMsg and calculate       wholeMsgLength.   5.  The wholeMsg, wholeMsgLength, securityParameters, and       tmStateReference are returned to the calling Message Processing       Model with the statusInformation set to success.5.  Processing an Incoming SNMP Message   An error indication might return an OID and value for an incremented   counter, a value for securityLevel, values for contextEngineID and   contextName for the counter, and the securityStateReference, if this   information is available at the point where the error is detected.5.1.  Security Processing for an Incoming Message   This section describes the procedure followed by the Transport   Security Model whenever it receives an incoming message from a   Message Processing Model.  The ASI from a Message Processing Model to   the Security Subsystem for a received message is:   statusInformation =  -- errorIndication or success                            -- error counter OID/value if error   processIncomingMsg(   IN   messageProcessingModel    -- typically, SNMP version   IN   maxMessageSize            -- from the received message   IN   securityParameters        -- from the received message   IN   securityModel             -- from the received message   IN   securityLevel             -- from the received messageHarrington & Hardaker       Standards Track                    [Page 12]

RFC 5591           Transport Security Model for SNMP           June 2009   IN   wholeMsg                  -- as received on the wire   IN   wholeMsgLength            -- length as received on the wire   IN   tmStateReference          -- (NEW) from the Transport Model   OUT  securityEngineID          -- authoritative SNMP entity   OUT  securityName              -- identification of the principal   OUT  scopedPDU,                -- message (plaintext) payload   OUT  maxSizeResponseScopedPDU  -- maximum size sender can handle   OUT  securityStateReference    -- reference to security state    )                         -- information, needed for response5.2.  Elements of Procedure for Incoming Messages   1.  Set the securityEngineID to the local snmpEngineID.   2.  If tmStateReference does not refer to a cache containing values       for tmTransportDomain, tmTransportAddress, tmSecurityName, and       tmTransportSecurityLevel, then the snmpTsmInvalidCaches counter       is incremented, an error indication is returned to the calling       module, and Security Model processing stops for this message.   3.  Copy the tmSecurityName to securityName.       If the snmpTsmConfigurationUsePrefix object is set to true, then       use the tmTransportDomain to look up the corresponding prefix.          If the prefix lookup fails for any reason, then the          snmpTsmUnknownPrefixes counter is incremented, an error          indication is returned to the calling module, and message          processing stops.          If the lookup succeeds but the prefix length is less than 1 or          greater than 4 octets, then the snmpTsmInvalidPrefixes counter          is incremented, an error indication is returned to the calling          module, and message processing stops.          Set the securityName to be the concatenation of the prefix, a          ':' character (US-ASCII 0x3a), and the tmSecurityName.   4.  Compare the value of tmTransportSecurityLevel in the       tmStateReference cache to the value of the securityLevel       parameter passed in the processIncomingMsg ASI.  If securityLevel       specifies privacy (Priv) and tmTransportSecurityLevel specifies       no privacy (noPriv), or if securityLevel specifies authentication       (auth) and tmTransportSecurityLevel specifies no authentication       (noAuth) was provided by the Transport Model, then the       snmpTsmInadequateSecurityLevels counter is incremented, an error       indication (unsupportedSecurityLevel) together with the OID andHarrington & Hardaker       Standards Track                    [Page 13]

RFC 5591           Transport Security Model for SNMP           June 2009       value of the incremented counter is returned to the calling       module, and Transport Security Model processing stops for this       message.   5.  The tmStateReference is cached as cachedSecurityData so that a       possible response to this message will use the same security       parameters.  Then securityStateReference is set for subsequent       references to this cached data.   6.  The scopedPDU component is extracted from the wholeMsg.   7.  The maxSizeResponseScopedPDU is calculated.  This is the maximum       size allowed for a scopedPDU for a possible Response message.   8.  The statusInformation is set to success and a return is made to       the calling module passing back the OUT parameters as specified       in the processIncomingMsg ASI.6.  MIB Module Overview   This MIB module provides objects for use only by the Transport   Security Model.  It defines a configuration scalar and related error   counters.6.1.  Structure of the MIB Module   Objects in this MIB module are arranged into subtrees.  Each subtree   is organized as a set of related objects.  The overall structure and   assignment of objects to their subtrees, and the intended purpose of   each subtree, is shown below.6.1.1.  The snmpTsmStats Subtree   This subtree contains error counters specific to the Transport   Security Model.6.1.2.  The snmpTsmConfiguration Subtree   This subtree contains a configuration object that enables   administrators to specify if they want a transport domain prefix   prepended to securityNames for use by applications.6.2.  Relationship to Other MIB Modules   Some management objects defined in other MIB modules are applicable   to an entity implementing the Transport Security Model.  In   particular, it is assumed that an entity implementing the Transport   Security Model will implement the SNMP-FRAMEWORK-MIB [RFC3411], theHarrington & Hardaker       Standards Track                    [Page 14]

RFC 5591           Transport Security Model for SNMP           June 2009   SNMP-TARGET-MIB [RFC3413], the SNMP-VIEW-BASED-ACM-MIB [RFC3415], and   the SNMPv2-MIB [RFC3418].  These are not needed to implement the   SNMP-TSM-MIB.6.2.1.  MIB Modules Required for IMPORTS   The following MIB module imports items from [RFC2578], [RFC2579], and   [RFC2580].7.  MIB Module DefinitionSNMP-TSM-MIB DEFINITIONS ::= BEGINIMPORTS    MODULE-IDENTITY, OBJECT-TYPE,    mib-2, Counter32      FROM SNMPv2-SMI --RFC2578    MODULE-COMPLIANCE, OBJECT-GROUP      FROM SNMPv2-CONF --RFC2580    TruthValue       FROM SNMPv2-TC --RFC2579    ;snmpTsmMIB MODULE-IDENTITY    LAST-UPDATED "200906090000Z"    ORGANIZATION "ISMS Working Group"    CONTACT-INFO "WG-EMail:   isms@lists.ietf.org                  Subscribe:  isms-request@lists.ietf.org                  Chairs:                    Juergen Quittek                    NEC Europe Ltd.                    Network Laboratories                    Kurfuersten-Anlage 36                    69115 Heidelberg                    Germany                    +49 6221 90511-15                    quittek@netlab.nec.de                    Juergen Schoenwaelder                    Jacobs University Bremen                    Campus Ring 1                    28725 Bremen                    Germany                    +49 421 200-3587                    j.schoenwaelder@jacobs-university.deHarrington & Hardaker       Standards Track                    [Page 15]

RFC 5591           Transport Security Model for SNMP           June 2009                  Editor:                    David Harrington                    Huawei Technologies USA                    1700 Alma Dr.                    Plano TX 75075                    USA                    +1 603-436-8634                    ietfdbh@comcast.net                    Wes Hardaker                    Cobham Analytic Solutions                    P.O. Box 382                    Davis, CA  95617                    USA                    +1 530 792 1913                    ietf@hardakers.net                 "    DESCRIPTION       "The Transport Security Model MIB.        In keeping with theRFC 3411 design decisions to use        self-contained documents, the RFC that contains the definition        of this MIB module also includes the elements of procedure        that are needed for processing the Transport Security Model        for SNMP.  These MIB objects SHOULD NOT be modified via other        subsystems or models defined in other documents.  This allows        the Transport Security Model for SNMP to be designed and        documented as independent and self-contained, having no direct        impact on other modules, and this allows this module to be        upgraded and supplemented as the need arises, and to move        along the standards track on different time-lines from other        modules.        Copyright (c) 2009 IETF Trust and the persons        identified as authors of the code.  All rights reserved.        Redistribution and use in source and binary forms, with or        without modification, are permitted provided that the        following conditions are met:        - Redistributions of source code must retain the above copyright          notice, this list of conditions and the following disclaimer.        - Redistributions in binary form must reproduce the above          copyright notice, this list of conditions and the following          disclaimer in the documentation and/or other materials          provided with the distribution.Harrington & Hardaker       Standards Track                    [Page 16]

RFC 5591           Transport Security Model for SNMP           June 2009        - Neither the name of Internet Society, IETF or IETF Trust,          nor the names of specific contributors, may be used to endorse          or promote products derived from this software without          specific prior written permission.        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND        CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES,        INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF        MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE        DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR        CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,        SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT        NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;        LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)        HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN        CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR        OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,        EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.        This version of this MIB module is part ofRFC 5591;        see the RFC itself for full legal notices."    REVISION    "200906090000Z"    DESCRIPTION "The initial version, published inRFC 5591."    ::= { mib-2 190 }-- ---------------------------------------------------------- ---- subtrees in the SNMP-TSM-MIB-- ---------------------------------------------------------- --snmpTsmNotifications OBJECT IDENTIFIER ::= { snmpTsmMIB 0 }snmpTsmMIBObjects    OBJECT IDENTIFIER ::= { snmpTsmMIB 1 }snmpTsmConformance   OBJECT IDENTIFIER ::= { snmpTsmMIB 2 }-- --------------------------------------------------------------- Objects-- --------------------------------------------------------------- Statistics for the Transport Security ModelsnmpTsmStats         OBJECT IDENTIFIER ::= { snmpTsmMIBObjects 1 }snmpTsmInvalidCaches OBJECT-TYPE    SYNTAX       Counter32    MAX-ACCESS   read-only    STATUS       current    DESCRIPTION "The number of incoming messages dropped because theHarrington & Hardaker       Standards Track                    [Page 17]

RFC 5591           Transport Security Model for SNMP           June 2009                 tmStateReference referred to an invalid cache.                "    ::= { snmpTsmStats 1 }snmpTsmInadequateSecurityLevels OBJECT-TYPE    SYNTAX       Counter32    MAX-ACCESS   read-only    STATUS       current    DESCRIPTION "The number of incoming messages dropped because                 the securityLevel asserted by the Transport Model was                 less than the securityLevel requested by the                 application.                "    ::= { snmpTsmStats 2 }snmpTsmUnknownPrefixes OBJECT-TYPE    SYNTAX       Counter32    MAX-ACCESS   read-only    STATUS       current    DESCRIPTION "The number of messages dropped because                 snmpTsmConfigurationUsePrefix was set to true and                 there is no known prefix for the specified transport                 domain.                "    ::= { snmpTsmStats 3 }snmpTsmInvalidPrefixes OBJECT-TYPE    SYNTAX       Counter32    MAX-ACCESS   read-only    STATUS       current    DESCRIPTION "The number of messages dropped because                 the securityName associated with an outgoing message                 did not contain a valid transport domain prefix.                "    ::= { snmpTsmStats 4 }-- --------------------------------------------------------------- Configuration-- --------------------------------------------------------------- Configuration for the Transport Security ModelsnmpTsmConfiguration   OBJECT IDENTIFIER ::= { snmpTsmMIBObjects 2 }snmpTsmConfigurationUsePrefix OBJECT-TYPE    SYNTAX      TruthValue    MAX-ACCESS  read-write    STATUS      currentHarrington & Hardaker       Standards Track                    [Page 18]

RFC 5591           Transport Security Model for SNMP           June 2009    DESCRIPTION "If this object is set to true, then securityNames                 passing to and from the application are expected to                 contain a transport-domain-specific prefix.  If this                 object is set to true, then a domain-specific prefix                 will be added by the TSM to the securityName for                 incoming messages and removed from the securityName                 when processing outgoing messages.  Transport domains                 and prefixes are maintained in a registry by IANA.                 This object SHOULD persist across system reboots.                "    DEFVAL { false }    ::= { snmpTsmConfiguration 1 }-- --------------------------------------------------------------- snmpTsmMIB - Conformance Information-- -------------------------------------------------------------snmpTsmCompliances OBJECT IDENTIFIER ::= { snmpTsmConformance 1 }snmpTsmGroups      OBJECT IDENTIFIER ::= { snmpTsmConformance 2 }-- --------------------------------------------------------------- Compliance statements-- -------------------------------------------------------------snmpTsmCompliance MODULE-COMPLIANCE    STATUS      current    DESCRIPTION "The compliance statement for SNMP engines that support                 the SNMP-TSM-MIB.                "    MODULE        MANDATORY-GROUPS { snmpTsmGroup }    ::= { snmpTsmCompliances 1 }-- --------------------------------------------------------------- Units of conformance-- -------------------------------------------------------------snmpTsmGroup OBJECT-GROUP    OBJECTS {        snmpTsmInvalidCaches,        snmpTsmInadequateSecurityLevels,        snmpTsmUnknownPrefixes,        snmpTsmInvalidPrefixes,        snmpTsmConfigurationUsePrefix    }    STATUS      current    DESCRIPTION "A collection of objects for maintaining                 information of an SNMP engine that implementsHarrington & Hardaker       Standards Track                    [Page 19]

RFC 5591           Transport Security Model for SNMP           June 2009                 the SNMP Transport Security Model.                "    ::= { snmpTsmGroups 2 }END8.  Security Considerations   This document describes a Security Model, compatible with theRFC3411 architecture, that permits SNMP to utilize security services   provided through an SNMP Transport Model.  The Transport Security   Model relies on Transport Models for mutual authentication, binding   of keys, confidentiality, and integrity.   The Transport Security Model relies on secure Transport Models to   provide an authenticated principal identifier and an assertion of   whether authentication and privacy are used during transport.  This   Security Model SHOULD always be used with Transport Models that   provide adequate security, but "adequate security" is a configuration   and/or run-time decision of the operator or management application.   The security threats and how these threats are mitigated should be   covered in detail in the specifications of the Transport Models and   the underlying secure transports.   An authenticated principal identifier (securityName) is used in SNMP   applications for purposes such as access control, notification   generation, and proxy forwarding.  This Security Model supports   multiple Transport Models.  Operators might judge some transports to   be more secure than others, so this Security Model can be configured   to prepend a prefix to the securityName to indicate the Transport   Model used to authenticate the principal.  Operators can use the   prefixed securityName when making application decisions about levels   of access.8.1.  MIB Module Security   There are a number of management objects defined in this MIB module   with a MAX-ACCESS clause of read-write and/or read-create.  Such   objects may be considered sensitive or vulnerable in some network   environments.  The support for SET operations in a non-secure   environment without proper protection can have a negative effect on   network operations.  These are the tables and objects and their   sensitivity/vulnerability:Harrington & Hardaker       Standards Track                    [Page 20]

RFC 5591           Transport Security Model for SNMP           June 2009   o  The snmpTsmConfigurationUsePrefix object could be modified,      creating a denial of service or authorizing SNMP messages that      would not have previously been authorized by an Access Control      Model (e.g., the View-based Access Control Model (VACM)).   Some of the readable objects in this MIB module (i.e., objects with a   MAX-ACCESS other than not-accessible) 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  All the counters in this module refer to configuration errors and      do not expose sensitive information.   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 USM and Transport Security Model   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.9.  IANA Considerations   IANA has assigned:   1.  An SMI number (190) with a prefix of mib-2 in the MIB module       registry for the MIB module in this document.   2.  A value (4) to identify the Transport Security Model, in the       Security Models registry of the SNMP Number Spaces registry.       This results in the following table of values:Harrington & Hardaker       Standards Track                    [Page 21]

RFC 5591           Transport Security Model for SNMP           June 2009   Value   Description                         References   -----   -----------                         ----------     0     reserved for 'any'                  [RFC3411]     1     reserved for SNMPv1                 [RFC3411]     2     reserved for SNMPv2c                [RFC3411]     3     User-Based Security Model (USM)     [RFC3411]     4     Transport Security Model (TSM)      [RFC5591]10.  Acknowledgments   The editors would like to thank Jeffrey Hutzelman for sharing his SSH   insights and Dave Shield for an outstanding job wordsmithing the   existing document to improve organization and clarity.   Additionally, helpful document reviews were received from Juergen   Schoenwaelder.11.  References11.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.   [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.   [RFC3412]  Case, J., Harrington, D., Presuhn, R., and B. Wijnen,              "Message Processing and Dispatching for the Simple Network              Management Protocol (SNMP)", STD 62,RFC 3412,              December 2002.Harrington & Hardaker       Standards Track                    [Page 22]

RFC 5591           Transport Security Model for SNMP           June 2009   [RFC3413]  Levi, D., Meyer, P., and B. Stewart, "Simple Network              Management Protocol (SNMP) Applications", STD 62,RFC 3413, December 2002.   [RFC3414]  Blumenthal, U. and B. Wijnen, "User-based Security Model              (USM) for version 3 of the Simple Network Management              Protocol (SNMPv3)", STD 62,RFC 3414, December 2002.   [RFC5590]  Harrington, D. and J. Schoenwaelder, "Transport Subsystem              for the Simple Network Management Protocol (SNMP)",RFC 5590, June 2009.11.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.   [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.   [RFC3418]  Presuhn, R., "Management Information Base (MIB) for the              Simple Network Management Protocol (SNMP)", STD 62,RFC 3418, December 2002.   [RFC3584]  Frye, R., Levi, D., Routhier, S., and B. Wijnen,              "Coexistence between Version 1, Version 2, and Version 3              of the Internet-standard Network Management Framework",BCP 74,RFC 3584, August 2003.   [RFC5592]  Harrington, D., Salowey, J., and W. Hardaker, "Secure              Shell Transport Model for the Simple Network Management              Protocol (SNMP)",RFC 5592, June 2009.Harrington & Hardaker       Standards Track                    [Page 23]

RFC 5591           Transport Security Model for SNMP           June 2009Appendix A.  Notification Tables Configuration   The SNMP-TARGET-MIB and SNMP-NOTIFICATION-MIB [RFC3413] are used to   configure notification originators with the destinations to which   notifications should be sent.   Most of the configuration is Security-Model-independent and   Transport-Model-independent.   The values we will use in the examples for the five model-independent   security and transport parameters are:      transportDomain = snmpSSHDomain      transportAddress = 192.0.2.1:5162      securityModel = Transport Security Model      securityName = alice      securityLevel = authPriv   The following example will configure the notification originator to   send informs to a notification receiver at 192.0.2.1:5162 using the   securityName "alice". "alice" is the name for the recipient from the   standpoint of the notification originator and is used for processing   access controls before sending a notification.   The columns marked with an "*" are the items that are Security-Model-   specific or Transport-Model-specific.   The configuration for the "alice" settings in the SNMP-VIEW-BASED-   ACM-MIB objects are not shown here for brevity.  First, we configure   which type of notification will be sent for this taglist (toCRTag).   In this example, we choose to send an Inform.     snmpNotifyTable row:          snmpNotifyName                 CRNotif          snmpNotifyTag                  toCRTag          snmpNotifyType                 inform          snmpNotifyStorageType          nonVolatile          snmpNotifyColumnStatus         createAndGo   Then we configure a transport address to which notifications   associated with this taglist will be sent, and we specify which   snmpTargetParamsEntry will be used (toCR) when sending to this   transport address.Harrington & Hardaker       Standards Track                    [Page 24]

RFC 5591           Transport Security Model for SNMP           June 2009          snmpTargetAddrTable row:             snmpTargetAddrName              toCRAddr         *   snmpTargetAddrTDomain           snmpSSHDomain         *   snmpTargetAddrTAddress          192.0.2.1:5162             snmpTargetAddrTimeout           1500             snmpTargetAddrRetryCount        3             snmpTargetAddrTagList           toCRTag             snmpTargetAddrParams            toCR   (MUST match below)             snmpTargetAddrStorageType       nonVolatile             snmpTargetAddrColumnStatus      createAndGo   Then we configure which principal at the host will receive the   notifications associated with this taglist.  Here, we choose "alice",   who uses the Transport Security Model.         snmpTargetParamsTable row:             snmpTargetParamsName            toCR             snmpTargetParamsMPModel         SNMPv3         *   snmpTargetParamsSecurityModel   TransportSecurityModel             snmpTargetParamsSecurityName    "alice"             snmpTargetParamsSecurityLevel   authPriv             snmpTargetParamsStorageType     nonVolatile             snmpTargetParamsRowStatus       createAndGoA.1.  Transport Security Model Processing for Notifications   The Transport Security Model is called using the generateRequestMsg()   ASI, with the following parameters (those with an * are from the   above tables):    statusInformation =                -- success or errorIndication          generateRequestMsg(          IN   messageProcessingModel  -- *snmpTargetParamsMPModel          IN   globalData              -- message header, admin data          IN   maxMessageSize          -- of the sending SNMP entity          IN   transportDomain         -- *snmpTargetAddrTDomain          IN   transportAddress        -- *snmpTargetAddrTAddress          IN   securityModel           -- *snmpTargetParamsSecurityModel          IN   securityEngineID        -- immaterial; TSM will ignore.          IN   securityName            -- snmpTargetParamsSecurityName          IN   securityLevel           -- *snmpTargetParamsSecurityLevel          IN   scopedPDU               -- message (plaintext) payload          OUT  securityParameters      -- filled in by Security Module          OUT  wholeMsg                -- complete generated message          OUT  wholeMsgLength          -- length of generated message          OUT  tmStateReference        -- reference to transport info               )Harrington & Hardaker       Standards Track                    [Page 25]

RFC 5591           Transport Security Model for SNMP           June 2009   The Transport Security Model will determine the Transport Model based   on the snmpTargetAddrTDomain.  The selected Transport Model will   select the appropriate transport connection using the   tmStateReference cache created from the values of   snmpTargetAddrTAddress, snmpTargetParamsSecurityName, and   snmpTargetParamsSecurityLevel.Appendix B.  Processing Differences between USM and Secure Transport   USM and secure transports differ in the processing order and   responsibilities within theRFC 3411 architecture.  While the steps   are the same, they occur in a different order and might be done by   different subsystems.  The following lists illustrate the difference   in the flow and the responsibility for different processing steps for   incoming messages when using USM and when using a secure transport.   (These lists are simplified for illustrative purposes, and do not   represent all details of processing.  Transport Models MUST provide   the detailed elements of procedure.)   With USM, SNMPv1, and SNMPv2c Security Models, security processing   starts when the Message Processing Model decodes portions of the   ASN.1 message to extract header fields that are used to determine   which Security Model will process the message to perform   authentication, decryption, timeliness checking, integrity checking,   and translation of parameters to model-independent parameters.  By   comparison, a secure transport performs those security functions on   the message, before the ASN.1 is decoded.   Step 6 cannot occur until after decryption occurs.  Steps 6 and   beyond are the same for USM and a secure transport.B.1.  USM and theRFC 3411 Architecture   1) Decode the ASN.1 header (Message Processing Model).   2) Determine the SNMP Security Model and parameters (Message      Processing Model).   3) Verify securityLevel (Security Model).   4) Translate parameters to model-independent parameters (Security      Model).   5) Authenticate the principal, check message integrity and      timeliness, and decrypt the message (Security Model).Harrington & Hardaker       Standards Track                    [Page 26]

RFC 5591           Transport Security Model for SNMP           June 2009   6) Determine the pduType in the decrypted portions (Message      Processing Model).   7) Pass on the decrypted portions with model-independent parameters.B.2.  Transport Subsystem and theRFC 3411 Architecture   1) Authenticate the principal, check integrity and timeliness of the      message, and decrypt the message (Transport Model).   2) Translate parameters to model-independent parameters (Transport      Model).   3) Decode the ASN.1 header (Message Processing Model).   4) Determine the SNMP Security Model and parameters (Message      Processing Model).   5) Verify securityLevel (Security Model).   6) Determine the pduType in the decrypted portions (Message      Processing Model).   7) Pass on the decrypted portions with model-independent security      parameters.   If a message is secured using a secure transport layer, then the   Transport Model will provide the translation from the authenticated   identity (e.g., an SSH user name) to a human-friendly identifier   (tmSecurityName) in step 2.  The Security Model will provide a   mapping from that identifier to a model-independent securityName.Harrington & Hardaker       Standards Track                    [Page 27]

RFC 5591           Transport Security Model for SNMP           June 2009Authors' Addresses   David Harrington   Huawei Technologies (USA)   1700 Alma Dr. Suite 100   Plano, TX 75075   USA   Phone: +1 603 436 8634   EMail: ietfdbh@comcast.net   Wes Hardaker   Cobham Analytic Solutions   P.O. Box 382   Davis, CA  95617   US   Phone: +1 530 792 1913   EMail: ietf@hardakers.netHarrington & Hardaker       Standards Track                    [Page 28]

[8]ページ先頭

©2009-2026 Movatter.jp