Internet Engineering Task Force Tim Jenkins IP Security Working Group TimeStep Corporation Internet Draft John Shriver Intel Corporation October 21, 1999 IKE Monitoring MIB Status of this Memo This document is a submission to the IETF Internet Protocol Security (IPsec) Working Group. Comments are solicited and should be addressed to the working group mailing list (ipsec@lists.tislabs.com) or to the editor. This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or made obsolete by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice This document is a product of the IETF's IPsec Working Group. Copyright (C) The Internet Society (1999). All Rights Reserved. Jenkins & Shriver Expires April 21, 2000 [Page 1] Internet Draft IKE Monitoring MIB October 21, 1999 Table of Contents 1. Introduction....................................................2 2. The SNMP Management Framework...................................3 2.1 Object Definitions.............................................4 3. Definitions.....................................................4 3.1 Security Association, Inbound and Outbound.....................4 3.2 Phase 2 Security Association Suite.............................4 4. IPsec MIB Objects Architecture..................................4 4.1 IKE Security Association Table.................................5 4.1.1 Peer Certificate Information.................................7 4.1.2 Phase 1 SA Helper Tables.....................................7 4.2 Phase 2 Security Association Suite Table.......................7 4.2.1 Suite Helper Tables..........................................8 4.2.2 Phase 2 SA Table.............................................9 4.3 Security Association Bundles...................................9 4.4 Uni-directional Suites.........................................9 4.5 Oakley Group Tables............................................9 4.6 Exchange Table................................................10 4.7 Notify Messages...............................................10 4.8 Traps.........................................................10 4.9 Entity Level Objects..........................................11 5. MIB Definitions................................................11 6. Security Considerations........................................62 7. Acknowledgments................................................63 8. Revision History...............................................63 9. References.....................................................63 1. Introduction This document defines monitoring and status MIBs for use when the (Internet Key Exchange) IKE protocol [IKE] is used to create IPsec security associations (SAs). As such, provides the linkage between IKE (phase 1) SAs and the IPsec (phase 2) SAs created by those SAs. It does not define MIBs that may be used for configuring IPsec implementations or for providing low-level diagnostic or debugging information. It assumes no specific use of IPsec SAs, except that they were created using IKE. Further, it does not provide policy information. The purpose of the MIBs is to allow system administrators to determine operating conditions and perform system operational level monitoring of the IPsec portion of their network. Statistics are provided as well. Additionally, it may be used as the basis for application specific MIBs for specific uses of IPsec. IPsec Working Group [Page 2] Internet Draft IKE Monitoring MIB October 21, 1999 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [RFC2571]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58, RFC 2578 [RFC2578], RFC 2579 [RFC2579] and RFC 2580 [RFC2580]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905]. o A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine IPsec Working Group [Page 3] Internet Draft IKE Monitoring MIB October 21, 1999 readable information is not considered to change the semantics of the MIB. 2.1 Object Definitions Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) defined in the SMI. In particular, each object type is named by an OBJECT IDENTIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the descriptor, to refer to the object type. 3. Definitions 3.1 Security Association, Inbound and Outbound This document uses the same definitions of "security association", "inbound" and "outbound" as [IMMIB]. 3.2 Phase 2 Security Association Suite This MIB uses a concept of a phase 2 security association suite. A phase 2 security association suite is defined as the set of SAs that result from each SA payload in a successful IKE Quick Mode exchange. This entity is called a suite for the remainder of this document to reduce the usage of the ambiguous term "security association". Phrased another way, a suite is the set of IPsec phase 2 SAs created when negotiated using IKE, and the phase 2 SAs were negotiated as part of the same SA payload. As such, a suite is a subset of an SA bundle as defined in RFC 2401. In RFC 2401, the SA pairs in the bundle may be negotiated separately and independently. 4. IPsec MIB Objects Architecture The IPsec MIB consists of a number of separate tables. An IKE SA table provides monitoring for phase 1 security associations (SAs). This table is a DOI-specific table that uses the base ISAKMP SA table IPsec Working Group [Page 4] Internet Draft IKE Monitoring MIB October 21, 1999 from the ISAKMP DOI-independent MIB as its base. Specifically, the IKE SA table has a sparse dependent relationship to the ISAKMP SA table. There are a number of tables associated with the phase 2 SAs. One of these tables contains suites. This table contains common and general objects that are part of the suite. Another table allows determination of the specific phase 2 SAs that are the components of the suites. This table augments the suite table. This table, called the phase 2 SA table, has a dependent expansion relationship to the suite table. Note that this table should not be confused with the collection of phase 2 SA tables found in [IMMIB]. However, this table indirectly references those tables. Configuration about the phase 1 IKE SAs and the suites is provided as are statistics related to the phase 1 IKE SAs and the suites themselves. Additionally, the MIBs provide a number of entity level aggregate totals for the phase 1 SAs and suites. A general picture of the relationship of the tables is shown in Figure 1. The individual phase 2 SA tables are from [IMMIB] and the phase 1 DOI-independent SA table is from [IDIMIB]. The tables from this MIB require both the IPsec tables and the ISAKMP table. Additional tables, such as the Oakley groups table and the exchange table are not shown in Figure 1. 4.1 IKE Security Association Table IKE SAs presented in the table contain information about the services provided, their lifetime, end point authentication and some aggregate performance statistics. This table extends the ISAKMP DOI-independent phase 1 SA table, so is indexed by the same indices. It does not use the AUGMENTS capability of SNMP, since all ISAKMP SAs are not necessarily IKE SAs. As stated earlier, it has a sparse dependent relationship to the ISAKMP SA table. It adds to that table information related to the identities of the two endpoint entities, the security information of the IKE SA, some expiration limits and some additional operating statistics. IPsec Working Group [Page 5] Internet Draft IKE Monitoring MIB October 21, 1999 +-------------------------+ +----------------------------+ | | sparse | | | ISAKMP DOI-independent | dependent | IKE part of Phase 1 SAs | | part of Phase 1 SAs |---------->| | | | +----------------------------+ +-------------------------+ ^ | | __________________/ / | | -indirect; uses phase 1 IDs | | dependent +---------------------+ +------------------+ expansion | | | suite table |---------->| phase 2 SA table | +------------------+ | | +---------------------+ || // -indirect; uses // protocol and SPIs \ / IPsec SA tables \/ +---------------------+ | ESP Inbound SAs | +---------------------+ +---------------------+ | AH Inbound SAs | +---------------------+ +---------------------+ | IPcomp Inbound SAs | +---------------------+ +---------------------+ | ESP Outbound SAs | +---------------------+ +---------------------+ | AH Outbound SAs | +---------------------+ +---------------------+ | IPcomp Outbound SAs | +---------------------+ Figure 1 Relationship of MIB Tables IPsec Working Group [Page 6] Internet Draft IKE Monitoring MIB October 21, 1999 4.1.1 Peer Certificate Information The MIB provides certificate information related to the authentication of the peer entity. This information is the ID used in phase 1, and the certificate's serial number and issuer. It is intended that this information be sufficient to determine the certificate that was used for peer authentication. No certificate chain information is provided. The reasons for this are that the chain may not be available to the entity and the chain is not necessarily exchanged in phase 1. A more appropriate place for this type of information would be in a PKI MIB; as such, it is beyond the scope of this document. 4.1.2 Phase 1 SA Helper Tables The MIB provides one helper table to modify the search order for phase 1 SAs. This table uses the endpoints identifiers along with an arbitrary value as its index. The rows of this table contain the endpoint addresses and cookies of the individual SAs that exist between the endpoints. This allows look up of the specific phase 1 SAs from these values. 4.2 Phase 2 Security Association Suite Table Suites are as defined above (in Section 3). This MIB makes no assumptions about the order or protocol of the individual SAs within the suite. Individual bi-directional SAs that are negotiated using IKE's quick mode are treated as a suite that uses only a single security protocol. [ISAKMP] requires that common attributes negotiated within a suite apply to all SAs. Therefore, the suite table provides expiration values and selectors for the suite. In order to get the statistics for the individual SAs, the phase 2 SA table provides the ability to get to the SAs themselves. The suite table is indexed by an arbitrary integer. This was done to ease implementation, since the number of objects that are required to uniquely identify individual suites is very high. (For a suite with three inbound/outbound SA pairs, there would be 11 indices required.) This also allows the main suite table to be independent of the number and order of SAs as used within the suite. IPsec Working Group [Page 7] Internet Draft IKE Monitoring MIB October 21, 1999 Helper tables may used to provide a list of suites in the desired order; a number of these are provided for what are expected to be desirable sorting orders. In order to link the creation of suites (and thereby SAs) to specific endpoints, the suite table also contains objects for the identities of the endpoints that negotiated the SAs. No direct link is possible since there is no requirement that any phase 1 SA exists after creation of a suite. Many of the objects of each suite are duplicates of objects found in the SAs' entries in their respective tables. This is done to allow a faster lookup of the SA information as the SAs are being used by IKE. As part of this, some statistical aggregation is done as well. As stated earlier, the main suite table itself does not provide knowledge of which specific SAs make up the suite. This information is obtained from the phase 2 SA table. 4.2.1 Suite Helper Tables There are two helper table provided to allow searching of suite in a non-arbitrary order. These tables are ordered by phase 1 ID and by SA selector. The first table is indexed in the same way as the phase 1 SA helper table, but provides a reference to a specific suite index value. The second table is indexed by SA selectors, starting with the local IP phase 2 ID, then the remote phase 2 ID, the protocol carried by the suite and finally the local and remote ports carried by the suite. Since duplicates of suites with the same selector is permitted, and is normal during re-keying, the index also contains an arbitrary integer. Each row provides a reference to a specific suite index value. A third helper table provided to allow the determination of which suite a particular SA is being used in. This table is indexed by a destination address, a protocol and an SPI (use the CPI if the protocol is IPcomp), the objects that make an SA unique. Each row then provides a reference to a specific suite in which the SA is being used. IPsec Working Group [Page 8] Internet Draft IKE Monitoring MIB October 21, 1999 4.2.2 Phase 2 SA Table This table allows the determination of which SAs from the IPsec monitoring MIB are in the SA suites. It is indexed by the suite table's index with an additional integer object added. This effectively causes expansion of the suite table for suites that have more than one SA. As stated earlier, it has a dependent expansion relationship to the suite table. The value of the additional index object is the position of the particular SA in the suite. The value one is used to indicate the outer most SA; that is, the SA whose header appears as the outer most after application of all the SA's headers. (In the case of IPcomp, the header may be missing for specific packets if the packet was not considered compressible; for the purposes of this definition, it is assumed the IPcomp header is always applied.) The other row elements in this table are the security protocol and the SPIs of the inbound and outbound SAs. This information, along with the addresses of the suite, can be used to form a lookup into the IPsec monitoring MIB's SA table for specific SAs. 4.3 Security Association Bundles This MIB does not explicitly show SA bundles or any combination of layered SAs that do not meet the suite definition as defined in this document. However, these may be represented in these MIBs by separate protections suites with the appropriate set of selectors. 4.4 Uni-directional Suites This MIB does not explicitly support suites that are uni-directional. However, this can be supported by the suite to SA table using a value of 0 for the SPI in the particular direction that is not used. 4.5 Oakley Group Tables These tables are used to allow an entity to describe the Oakley groups that it knows about. Each table contains a row for each of the Oakley groups of a specific type. This table does not contain the well known groups. The structure of each table is taken directly from Appendix A of [OAKLEY]. IPsec Working Group [Page 9] Internet Draft IKE Monitoring MIB October 21, 1999 The tables are used to allow both phase 1 SAs and suites to indicate how their source keying material was generated if they did not use one of the well known groups, or additionally in the case of suites, did not derive the keying material from the phase 1 SA's keying material. 4.6 Exchange Table This table provides the number of IPsec DOI exchanges tried that were used in a phase 1 IKE SA, the number successfully responded to in a phase 1 IKE SA and the total number successfully completed in a phase 1 IKE SA. This table augments the phase 1 security associations table (but again, not using the AUGMENTS clause of SNMP). 4.7 Notify Messages Notify messages sent from peer to peer are collected as they occur and accumulated in a parse table structure. A notify message object is defined. This object is used as the index into the table of accumulated notify messages. This helps system administrators determine if there are potential configuration problems or attacks on their network. 4.8 Traps Traps are provided to let system administrators know about the existence of error conditions occurring in the entity. Errors are associated with the creation and deletion of SAs, and also operational errors that may indicate the presence of attacks on the system. Traps are not provided when SAs come up or go down, unless they cannot be negotiated or go down due to error conditions. The causes of SA negotiation failure are indicated by a notify message object. The transmission of traps may be controlled as well. IPsec Working Group [Page 10] Internet Draft IKE Monitoring MIB October 21, 1999 4.9 Entity Level Objects This part of the MIB carries statistics global to the device. Statistics included are aggregate usage and aggregate errors for both phase 1 SAs and phase 2 suites. The statistics are provided as objects in a tree below these groups. 5. MIB Definitions IKE-MON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Counter64, Integer32, Unsigned32, Gauge32, OBJECT-IDENTITY, experimental, NOTIFICATION-TYPE FROM SNMPv2-SMI TruthValue FROM SNMPv2-TC IpsecIpv6Address, IpsecRawId FROM IPSEC-SA-MON-MIB saLocalIpAddress, saRemoteIpAddress, saInitiatorCookie, saResponderCookie, saLocalUdpPort, saRemoteUdpPort FROM ISAKMP-DOI-IND-MON-MIB IpsecDoiIdentType, IkeAuthMethod, IkeEncryptionAlgorithm, IkeGroupDescription, IkePrf, IkeNotifyMessageType, IkeHashAlgorithm, IpsecDoiTransformIdent, IkeExchangeType, IpsecDoiSecProtocolId FROM IPSEC-ISAKMP-IKE-DOI-TC; ikeMonModule MODULE-IDENTITY LAST-UPDATED "9910211200Z" ORGANIZATION "IETF IPsec Working Group" CONTACT-INFO " Tim Jenkins TimeStep Corporation 362 Terry Fox Drive Kanata, ON K0A 2H0 Canada +1 (613) 599-3610 tjenkins@timestep.com John Shriver Intel Corporation 28 Crosby Drive Bedford, MA 01730 +1 (781) 687-1329 IPsec Working Group [Page 11] Internet Draft IKE Monitoring MIB October 21, 1999 John.Shriver@intel.com " DESCRIPTION "The MIB module to describe IKE phase 1 SAs, security association suites, and entity level objects and events for those types." REVISION "9910211200Z" DESCRIPTION "Initial revision." -- replace xxx in next line before release, uncomment before release -- ::= { mib-2 xxx } -- delete next line before release ::= { experimental 500 } -- invalid! ikeMonMIBObjects OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all IKE monitoring MIB branches." ::= { ikeMonModule 1 } -- -- significant branches -- ikePhase1Objects OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for IKE phase 1 objects." ::= { ikeMonMIBObjects 1 } phase2Objects OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for IKE phase 2 objects, including the suite and phase 2 SA tables." ::= { ikeMonMIBObjects 2 } oakleyObjects OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for Oakley groups." ::= { ikeMonMIBObjects 3 } IPsec Working Group [Page 12] Internet Draft IKE Monitoring MIB October 21, 1999 ikeGroups OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which describe the groups in this MIB." ::= { ikeMonMIBObjects 4 } ikeConformance OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which describe the conformance for this MIB." ::= { ikeMonMIBObjects 5 } -- -- significant IKE phase 1 SA branches -- ikeTables OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for the IKE phase 1 security associations table." ::= { ikePhase1Objects 1 } ikeGlobals OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global values for IKE." ::= { ikePhase1Objects 2 } ikeTrafStats OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global values for IKE." ::= { ikePhase1Objects 3 } ikeErrors OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global values for IKE." ::= { ikePhase1Objects 4 } ikeTrapControl OBJECT-IDENTITY STATUS current IPsec Working Group [Page 13] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "This is the base object identifier for all trap controls for the IKE phase 1 SA portion of this MIB." ::= { ikePhase1Objects 5 } ikeTraps OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all traps for the IKE phase 1 SA portion of this MIB." ::= { ikePhase1Objects 6 } ikeNotifications OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all notification objects of this MIB." ::= { ikePhase1Objects 7 } -- -- significant SA suite branches -- suiteTables OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for the suite table." ::= { phase2Objects 1 } suiteGlobals OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global values for suites." ::= { phase2Objects 2 } suiteTrafStats OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global counters for suite traffic statistics." ::= { phase2Objects 3 } suiteErrors OBJECT-IDENTITY STATUS current IPsec Working Group [Page 14] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "This is the base object identifier for all objects which are global error counters for suites." ::= { phase2Objects 4 } suiteTrapControl OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all trap controls for the suite portion of this MIB." ::= { phase2Objects 5 } suiteTraps OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all traps for the suite portion of this MIB." ::= { phase2Objects 6 } -- -- the Oakley Group MIB-Group -- -- a collection of objects providing information about the -- Oakley Groups that the entity knows about that are not well known -- -- A table is defined for each type of Oakley group -- (each value in 'IkeGroupDescription'). -- -- This MIB has tables for groups of type MODP, ECP, or EC2N. -- For groups that are not MODP, ECP, or EC2N, a new table should be -- defined in a MIB for that group. The table should have one -- integer index, which should be the first column. The columns -- should be the IKE attributes used by that new type of group. -- modpGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF ModpGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing Oakley MODP groups that are not well known that the entity has negotiated or knows about. There should be one row for every Oakley MODP group negotiated or supported by the entity that is not a well- IPsec Working Group [Page 15] Internet Draft IKE Monitoring MIB October 21, 1999 known group. The maximum number of rows is implementation dependent." ::= { oakleyObjects 1 } modpGroupEntry OBJECT-TYPE SYNTAX ModpGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular Oakley MODP group. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { modpGroupIndex } ::= { modpGroupTable 1 } ModpGroupEntry ::= SEQUENCE { modpGroupIndex Unsigned32, -- component parts modpFieldSize Unsigned32, modpPrime OCTET STRING, modpGenerator OCTET STRING, modpLPF OCTET STRING, modpStrength Unsigned32 } modpGroupIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each Oakley MODP group. It is recommended that values are assigned contiguously starting from 1. The value for each MODP group must remain constant at least from one re-initialization of entity's network management system to the next re-initialization." ::= { modpGroupEntry 1 } modpFieldSize OBJECT-TYPE SYNTAX Unsigned32 UNITS "bits" MAX-ACCESS read-only STATUS current IPsec Working Group [Page 16] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The size of a field element, in bits." REFERENCE "RFC 2412 Appendix A" ::= { modpGroupEntry 2 } modpPrime OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The prime of the MODP group." REFERENCE "RFC 2412 Appendix A" ::= { modpGroupEntry 3 } modpGenerator OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The generator value of the MODP group." REFERENCE "RFC 2412 Appendix A" ::= { modpGroupEntry 4 } modpLPF OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The largest prime factor of the group size, or 0 if unspecified." REFERENCE "RFC 2412 Appendix A" ::= { modpGroupEntry 5 } modpStrength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The strength of the group, which is approximately the number of key-bits protected, or 0 if unspecified." REFERENCE "RFC 2412 Appendix A" ::= { modpGroupEntry 6 } ecpGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF EcpGroupEntry MAX-ACCESS not-accessible STATUS current IPsec Working Group [Page 17] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The (conceptual) table containing Oakley ECP groups that are not well known that the entity has negotiated or knows about. There should be one row for every Oakley ECP group negotiated or supported by the entity that is not a well- known group. The maximum number of rows is implementation dependent." ::= { oakleyObjects 2 } ecpGroupEntry OBJECT-TYPE SYNTAX EcpGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular Oakley ECP group. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ecpGroupIndex } ::= { ecpGroupTable 1 } EcpGroupEntry ::= SEQUENCE { ecpGroupIndex Unsigned32, -- component parts ecpFieldSize Unsigned32, ecpPrime OCTET STRING, ecpGeneratorOne OCTET STRING, ecpGeneratorTwo OCTET STRING, ecpParameterOne OCTET STRING, ecpParameterTwo OCTET STRING, ecpLPF OCTET STRING, ecpOrder OCTET STRING, ecpStrength Unsigned32 } ecpGroupIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each Oakley ECP group. It is recommended that values are assigned contiguously starting from 1. IPsec Working Group [Page 18] Internet Draft IKE Monitoring MIB October 21, 1999 The value for each ECP group must remain constant at least from one re-initialization of entity's network management system to the next re-initialization." ::= { ecpGroupEntry 1 } ecpFieldSize OBJECT-TYPE SYNTAX Unsigned32 UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The size of a field element, in bits." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 2 } ecpPrime OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The prime of the ECP group." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 3 } ecpGeneratorOne OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The first generator value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 4 } ecpGeneratorTwo OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The second generator value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 5 } ecpParameterOne OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current IPsec Working Group [Page 19] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The first elliptic curve parameter value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 6 } ecpParameterTwo OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The second elliptic curve parameter value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 7 } ecpLPF OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The largest prime factor of the group size, or 0 if unspecified." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 8 } ecpOrder OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The order of the group, or 0 if it is unspecified." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 9 } ecpStrength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The strength of the group, which is approximately the number of key-bits protected." REFERENCE "RFC 2412 Appendix A" ::= { ecpGroupEntry 10 } ec2nGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF Ec2nGroupEntry MAX-ACCESS not-accessible STATUS current IPsec Working Group [Page 20] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The (conceptual) table containing Oakley EC2N groups that are not well known that the entity has negotiated or knows about. There should be one row for every Oakley group negotiated or supported by the entity that is not a well-known group. The maximum number of rows is implementation dependent." ::= { oakleyObjects 3 } ec2nGroupEntry OBJECT-TYPE SYNTAX Ec2nGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular Oakley EC2N group. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ec2nGroupIndex } ::= { ec2nGroupTable 1 } Ec2nGroupEntry ::= SEQUENCE { ec2nGroupIndex Unsigned32, -- component parts ec2nDegree Unsigned32, ec2nIrrPoly OCTET STRING, ec2nGeneratorOne OCTET STRING, ec2nGeneratorTwo OCTET STRING, ec2nParameterOne OCTET STRING, ec2nParameterTwo OCTET STRING, ec2nLPF OCTET STRING, ec2nOrder OCTET STRING, ec2nStrength Unsigned32 } ec2nGroupIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each Oakley EC2N group. It is recommended that values are assigned contiguously starting from 1. IPsec Working Group [Page 21] Internet Draft IKE Monitoring MIB October 21, 1999 The value for each EC2N group must remain constant at least from one re-initialization of entity's network management system to the next re-initialization." ::= { ec2nGroupEntry 1 } ec2nDegree OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The degree of the irreducible polynomial." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 2 } ec2nIrrPoly OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The prime or the irreducible field polynomial." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 3 } ec2nGeneratorOne OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The first generator value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 4 } ec2nGeneratorTwo OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The second generator value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 5 } ec2nParameterOne OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The first elliptic curve parameter value of the group." IPsec Working Group [Page 22] Internet Draft IKE Monitoring MIB October 21, 1999 REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 6 } ec2nParameterTwo OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The second elliptic curve parameter value of the group." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 7 } ec2nLPF OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The largest prime factor of the group size, or 0 if unspecified." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 8 } ec2nOrder OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The order of the group, or 0 if it is unspecified." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 9 } ec2nStrength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The strength of the group, which is approximately the number of key-bits protected, or 0 if it is unspecified." REFERENCE "RFC 2412 Appendix A" ::= { ec2nGroupEntry 10 } -- -- the IKE Phase 1 SA MIB-Group -- -- a collection of objects providing information about -- the IKE phase 1 SAs -- IPsec Working Group [Page 23] Internet Draft IKE Monitoring MIB October 21, 1999 ikeSaTable OBJECT-TYPE SYNTAX SEQUENCE OF IkeSaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the IKE SAs. The number of rows is the same as the number of IKE phase 2 SAs that are in the process of being negotiated or are negotiated in the entity. Phrased another way, there is a row in this table for each row in 'saTable' for which 'saDoi' is 'ipsecDOI(1)'. The maximum number of rows is implementation dependent." ::= { ikeTables 1 } ikeSaEntry OBJECT-TYPE SYNTAX IkeSaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IKE SA. There is an entry in this table for each 'saEntry' in which which 'saDoi' is 'ipsecDOI(1)'. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { saLocalIpAddress, saRemoteIpAddress, saInitiatorCookie, saResponderCookie } ::= { ikeSaTable 1 } IkeSaEntry ::= SEQUENCE { -- ID and authentication information saAuthMethod IkeAuthMethod, saPeerIdType IpsecDoiIdentType, saPeerId IpsecRawId, saPeerCertSerialNum OCTET STRING, saPeerCertIssuer OCTET STRING, saLocalIdType IpsecDoiIdentType, saLocalId IpsecRawId, IPsec Working Group [Page 24] Internet Draft IKE Monitoring MIB October 21, 1999 -- security algorithm information saEncAlg IkeEncryptionAlgorithm, saEncKeyLength Unsigned32, saHashAlg IkeHashAlgorithm, saHashKeyLength Unsigned32, saPRF IkePrf, saOakleyGroupDesc IkeGroupDescription, saOakleyGroup OBJECT IDENTIFIER, -- expiration limits saLimitSeconds Unsigned32, -- 0 if none saLimitKbytes Unsigned32, -- 0 if none saLimitKeyUses Unsigned32, -- 0 if none -- current operating statistics saAccKbytes Counter32, saKeyUses Counter32, saCreatedSuites Counter32, saDeletedSuites Counter32 } saAuthMethod OBJECT-TYPE SYNTAX IkeAuthMethod MAX-ACCESS read-only STATUS current DESCRIPTION "The authentication method used to authenticate the peers. Note that this does not include the specific method of extended authentication if extended authentication is used." ::= { ikeSaEntry 1 } saPeerIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the peer that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { ikeSaEntry 2 } saPeerId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the used by the peer that negotiated this SA." IPsec Working Group [Page 25] Internet Draft IKE Monitoring MIB October 21, 1999 REFERENCE "RFC 2407 Section 4.6.2.1" ::= { ikeSaEntry 3 } saPeerCertSerialNum OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..63)) MAX-ACCESS read-only STATUS current DESCRIPTION "The serial number of the certificate of the peer this SA was negotiated with. This object has no meaning if a certificate was not used in authenticating the peer." ::= { ikeSaEntry 4 } saPeerCertIssuer OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..511)) MAX-ACCESS read-only STATUS current DESCRIPTION "The issuer name of the certificate of the peer this control channel was negotiated with. This object has no meaning if a certificate was not used in authenticating the peer." ::= { ikeSaEntry 5 } saLocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the local entity that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { ikeSaEntry 6 } saLocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the used by the local entity that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { ikeSaEntry 7 } IPsec Working Group [Page 26] Internet Draft IKE Monitoring MIB October 21, 1999 saEncAlg OBJECT-TYPE SYNTAX IkeEncryptionAlgorithm MAX-ACCESS read-only STATUS current DESCRIPTION "The encryption algorithm used to protect this SA." ::= { ikeSaEntry 8 } saEncKeyLength OBJECT-TYPE SYNTAX Unsigned32 (0..65531) UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the encryption key in bits used for the algorithm specified in the 'saEncAlg' object. It may be 0 if the key length is implicit in the specified algorithm." ::= { ikeSaEntry 9 } saHashAlg OBJECT-TYPE SYNTAX IkeHashAlgorithm MAX-ACCESS read-only STATUS current DESCRIPTION "The hash algorithm used to protect this SA." ::= { ikeSaEntry 10 } saHashKeyLength OBJECT-TYPE SYNTAX Unsigned32 (0..65531) UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the encryption key in bits used for the algorithm specified in the 'saHashAlg' object. It may be 0 if the key length is implicit in the specified algorithm." ::= { ikeSaEntry 11 } saPRF OBJECT-TYPE SYNTAX IkePrf MAX-ACCESS read-only STATUS current DESCRIPTION "The pseudo-random function used by this SA, or 0 if the HMAC version of the negotiated hash algorithm is used as a pseudo-random function." REFERENCE "RFC 2409 Appendix A" ::= { ikeSaEntry 12 } IPsec Working Group [Page 27] Internet Draft IKE Monitoring MIB October 21, 1999 saOakleyGroupDesc OBJECT-TYPE SYNTAX IkeGroupDescription MAX-ACCESS read-only STATUS current DESCRIPTION "The group number used to generate the Diffie-Hellman key pair when setting up the SA, or 0 if none of the defined groups was used. If this value is 0, the 'saOakleyGroup' must not also be OBJECT IDENTIFIER { 0 0 }." REFERENCE "RFC 2409 Section 6." ::= { ikeSaEntry 13 } saOakleyGroup OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The object identifier of the Oakley group row that was used if a well-known group was not used to generate the Diffie- Hellman key pair for this SA. If a well-known group was used, the value should be set to the OBJECT IDENTIFIER { 0 0 }. For example, if the group is a MODP group, the value of this object is the object identifier of 'modpGroupIndex' of the appropriate row ('modpGroupEntry') in 'modpGroupTable'." REFERENCE "RFC 2409 Section 6" ::= { ikeSaEntry 14 } saLimitSeconds OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of seconds the SA is allowed to exist, or 0 if there is no time-based limit on the existence of the SA. The display value is limited to 4,294,967,295 seconds (more than 136 years); values greater than that value will be truncated." ::= { ikeSaEntry 15 } IPsec Working Group [Page 28] Internet Draft IKE Monitoring MIB October 21, 1999 saLimitKbytes OBJECT-TYPE SYNTAX Unsigned32 UNITS "kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of kilobytes the SA is allowed to encrypt before it expires, or 0 if there is no traffic-by- byte-based limit on the existence of the SA. The display value is limited to 4,294,967,295 kilobytes (more than 4,194,304 Mbyte ); values greater than that value will be truncated." ::= { ikeSaEntry 16 } saLimitKeyUses OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of times the SA is allowed to provide keying material from its own Diffie-Hellman exchange before it expires, or 0 if there is no keying material-based limit on the existence of the SA." ::= { ikeSaEntry 17 } saAccKbytes OBJECT-TYPE SYNTAX Counter32 UNITS "kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of kilobytes the SA has encrypted that count against any lifetime restriction based on traffic. This value may be 0 if there is no such restriction." ::= { ikeSaEntry 18 } saKeyUses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the SA is has provided keying material derived from its own original Diffie-Hellman exchange." ::= { ikeSaEntry 19 } saCreatedSuites OBJECT-TYPE SYNTAX Counter32 IPsec Working Group [Page 29] Internet Draft IKE Monitoring MIB October 21, 1999 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SA suites that this SA has successfully created. In other words, the total number of successful quick mode exchanges multiplied by the number of SA payloads in each of those exchanges." ::= { ikeSaEntry 20 } saDeletedSuites OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SA suites that this SA has sent or received SA suite delete notifications for. When delete notifications are sent or received for more than one SA in an SA suite, this number shall be decremented by one, and not by the number SAs in the suite that were deleted." ::= { ikeSaEntry 21 } -- -- the IKE SA By Creators Table -- saByCreatorsTable OBJECT-TYPE SYNTAX SEQUENCE OF SaByCreatorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table that sorts the IKE phase 1 SAs by the endpoint identifiers. The number of rows in this table is the same as the number of IKE phase 1 SAs in the entity." ::= { ikeTables 2 } saByCreatorsEntry OBJECT-TYPE SYNTAX SaByCreatorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) referencing a particular IKE phase 1 SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." IPsec Working Group [Page 30] Internet Draft IKE Monitoring MIB October 21, 1999 INDEX { saByCreatorsLocalIdType, saByCreatorsLocalId, saByCreatorsPeerIdType, saByCreatorsPeerId, saByCreatorsIndex } ::= { saByCreatorsTable 1 } SaByCreatorsEntry ::= SEQUENCE { -- index saByCreatorsLocalIdType IpsecDoiIdentType, saByCreatorsLocalId IpsecRawId, saByCreatorsPeerIdType IpsecDoiIdentType, saByCreatorsPeerId IpsecRawId, saByCreatorsIndex Unsigned32, -- sa reference saIkeLocalIpAddress OBJECT IDENTIFIER, saIkeRemoteIpAddress OBJECT IDENTIFIER, saIkeInitiatorCookie OBJECT IDENTIFIER, saIkeResponderCookie OBJECT IDENTIFIER } saByCreatorsLocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the local entity that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { saByCreatorsEntry 1 } saByCreatorsLocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the used by the local entity that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { saByCreatorsEntry 2 } saByCreatorsPeerIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only IPsec Working Group [Page 31] Internet Draft IKE Monitoring MIB October 21, 1999 STATUS current DESCRIPTION "The type of ID used by the remote entity that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { saByCreatorsEntry 3 } saByCreatorsPeerId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the used by the remote entity that negotiated this SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { saByCreatorsEntry 4 } saByCreatorsIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each IKE phase 1 SA that exists between the two endpoints. It is recommended that values are assigned contiguously starting from 1." ::= { saByCreatorsEntry 5 } saIkeLocalIpAddress OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The 'saLocalIpAddress' of the phase 1 SA for this row." ::= { saByCreatorsEntry 6 } saIkeRemoteIpAddress OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The 'saRemoteIpAddress' of the phase 1 SA for this row." ::= { saByCreatorsEntry 7 } saIkeInitiatorCookie OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current IPsec Working Group [Page 32] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The 'saInitiatorCookie' of the phase 1 SA for this row." ::= { saByCreatorsEntry 8 } saIkeResponderCookie OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The 'saResponderCookie' of the phase 1 SA for this row." ::= { saByCreatorsEntry 9 } -- the Exchange Count MIB-Group -- -- a collection of objects providing information about the -- number of exchanges performed using ISAKMP-based SAs -- exchangeTable OBJECT-TYPE SYNTAX SEQUENCE OF ExchangeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the exchanges used. There should be one row for every exchange attempt that has occurred using a phase 1 security association that exists in the entity. The maximum number of rows is implementation dependent." ::= { ikeTables 3 } exchangeEntry OBJECT-TYPE SYNTAX ExchangeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular exchange used in an SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { saLocalIpAddress, saRemoteIpAddress, saInitiatorCookie, saResponderCookie, exchangeType } ::= { exchangeTable 1 } IPsec Working Group [Page 33] Internet Draft IKE Monitoring MIB October 21, 1999 ExchangeEntry::= SEQUENCE { -- identification exchangeType IkeExchangeType, -- the statistics exchangeTotalCount Counter32, exchangeInitiatedCount Counter32, exchangeRespondedCount Counter32 } exchangeType OBJECT-TYPE SYNTAX IkeExchangeType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the exchange for which the statistics of this row apply." ::= { exchangeEntry 1 } exchangeTotalCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of complete exchanges of the type performed using the SA, as either initiator or as responder. If there were failed attempts to initiate exchanges, this value is not equal to the sum of 'exchangeInitiatedCount' and 'exchangeRespondedCount'." ::= { exchangeEntry 2 } exchangeInitiatedCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of exchanges of the type attempted using the SA as initiator. This includes exchange that failed or were incomplete" ::= { exchangeEntry 3 } exchangeRespondedCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current IPsec Working Group [Page 34] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The total number of complete exchanges of the type performed using the SA as responder." ::= { exchangeEntry 4 } -- -- the Suite MIB-Group -- -- a collection of objects providing information about -- the phase 2 SA suites -- suiteTable OBJECT-TYPE SYNTAX SEQUENCE OF SuiteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the phase 2 suites. The number of rows in this table is the same as the number of suites in the entity. The maximum number of rows is implementation dependent." ::= { suiteTables 1 } suiteEntry OBJECT-TYPE SYNTAX SuiteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular phase 2 SA suite. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { suiteIndex } ::= { suiteTable 1 } SuiteEntry ::= SEQUENCE { -- index suiteIndex Unsigned32, -- end points suiteLocalAddress IpsecIpv6Address, suiteRemoteAddress IpsecIpv6Address, -- creator ID information suitePhase1RemoteIdType IpsecDoiIdentType, suitePhase1RemoteId IpsecRawId, IPsec Working Group [Page 35] Internet Draft IKE Monitoring MIB October 21, 1999 suitePhase1LocalIdType IpsecDoiIdentType, suitePhase1LocalId IpsecRawId, -- selectors suiteRemoteId IpsecRawId, suiteRemoteIdType IpsecDoiIdentType, suiteLocalId IpsecRawId, suiteLocalIdType IpsecDoiIdentType, suiteProtocol Integer32, suiteRemotePort Integer32, suiteLocalPort Integer32, -- keying material source information suiteOakleyGroupDesc IkeGroupDescription, suiteOakleyGroup OBJECT IDENTIFIER, -- operating statistics suiteLifeSeconds Counter32, suiteInUserOctets Counter64, suiteInPackets Counter64, suiteOutUserOctets Counter64, suiteOutPackets Counter64, -- error statistics suiteSendErrors Counter32, suiteReceiveErrors Counter32 } suiteIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each SA suite. It is recommended that values are assigned contiguously starting from 1." ::= { suiteEntry 1 } suiteLocalAddress OBJECT-TYPE SYNTAX IpsecIpv6Address MAX-ACCESS read-only STATUS current DESCRIPTION "The address used by the local entity that negotiated the SA suite. IPsec Working Group [Page 36] Internet Draft IKE Monitoring MIB October 21, 1999 IPv4 entities will prefix the IP address with '0000:0000:0000:0000:0000:FFFF::'." ::= { suiteEntry 2 } suiteRemoteAddress OBJECT-TYPE SYNTAX IpsecIpv6Address MAX-ACCESS read-only STATUS current DESCRIPTION "The address used by the remote entity that negotiated the SA suite. IPv4 entities will prefix the IP address with '0000:0000:0000:0000:0000:FFFF::'." ::= { suiteEntry 3 } suitePhase1RemoteIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the remote entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteEntry 4 } suitePhase1RemoteId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the remote entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteEntry 5 } suitePhase1LocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the local entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteEntry 6 } suitePhase1LocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only IPsec Working Group [Page 37] Internet Draft IKE Monitoring MIB October 21, 1999 STATUS current DESCRIPTION "The ID of the local entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteEntry 7 } suiteRemoteId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The remote identifier of the SAs in the suite. It may be 0 if unknown or if the suite uses transport mode encapsulation. This corresponds to the destination identifier of outbound SAs in the suite, and to the source identifier of inbound SAs in the suite. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." ::= { suiteEntry 8 } suiteRemoteIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used for 'suiteRemoteId'. It may be 0 if unknown or if the suite uses transport mode encapsulation. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." ::= { suiteEntry 9 } suiteLocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The local identifier of the SAs in the suite. It may be 0 if unknown or if the suite uses transport mode encapsulation. This corresponds to the source identifier of outbound SAs in the suite, and to the destination identifier of inbound SAs in the suite. IPsec Working Group [Page 38] Internet Draft IKE Monitoring MIB October 21, 1999 This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteEntry 10 } suiteLocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used for 'suiteLocalId'. It may be 0 if unknown or if the suite uses transport mode encapsulation. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteEntry 11 } suiteProtocol OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport-layer protocol number that this suite carries, or 0 if it carries any protocol. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteEntry 12 } suiteRemotePort OBJECT-TYPE SYNTAX Integer32 (0.. 65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The remote port number of the protocol that this suite carries, or 0 if it carries any port number. This corresponds to the destination port number of outbound SAs in the suite, and to the source port number of inbound SAs in the suite. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteEntry 13 } IPsec Working Group [Page 39] Internet Draft IKE Monitoring MIB October 21, 1999 suiteLocalPort OBJECT-TYPE SYNTAX Integer32 (0.. 65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The local port number of the protocol that this SA carries, or 0 if it carries any port number. This corresponds to the source port number of outbound SAs in the suite, and to the destination port number of inbound SAs in the suite. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations" REFERENCE "RFC 2401 section 4.4.2" ::= { suiteEntry 14 } suiteOakleyGroupDesc OBJECT-TYPE SYNTAX IkeGroupDescription MAX-ACCESS read-only STATUS current DESCRIPTION "The group number used to generate the Diffie-Hellman key pair when setting up the SA, or 0 if none of the well known groups was used, or if perfect forward secrecy was not used." ::= { suiteEntry 15 } suiteOakleyGroup OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The table index value of the Oakley group row that was used if a well-known group was not used to generate the Diffie- Hellman key pair for this SA. If a well-known group was used, or if perfect forward secrecy was not used, the value should be set to the OBJECT IDENTIFIER { 0 0 }." ::= { suiteEntry 16 } suiteLifeSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current IPsec Working Group [Page 40] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The number of seconds that the SA has existed." ::= { suiteEntry 17 } suiteInUserOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of user level traffic measured in bytes handled by the suite in the inbound direction. This is the same as the user level traffic of the inner most inbound SA in the suite. Note that if the inner-most SA is a shared IPcomp SA, then this value may be difficult to calculate." ::= { suiteEntry 18 } suiteInPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of inbound packets handled by the suite. This is the same as the number of packets handled by any one of the inbound SAs in the suite." ::= { suiteEntry 19 } suiteOutUserOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of user level traffic measured in bytes handled by the suite in the outbound direction. This is the same as the user level traffic of the inner most outbound SA in the suite. Note that if the inner most SA is a shared IPcomp SA, then this value may be difficult to calculate." ::= { suiteEntry 20 } suiteOutPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only IPsec Working Group [Page 41] Internet Draft IKE Monitoring MIB October 21, 1999 STATUS current DESCRIPTION "The number of outbound packets handled by the suite. This is the same as the number of packets handled by any one of the outbound SAs in the suite." ::= { suiteEntry 21 } suiteSendErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of outbound packets discarded by the suite due to any error. This is the same as the sum of all errors of all outbound SAs in the suite." ::= { suiteEntry 22 } suiteReceiveErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of inbound packets discarded by the suite due to any error. This is the same as the sum of all errors of all inbound SAs in the suite." ::= { suiteEntry 23 } -- -- the Phase 2 SA MIB-Group -- -- a collection of objects providing information about -- the phase 2 SAs in SA suites -- phase2SaTable OBJECT-TYPE SYNTAX SEQUENCE OF Phase2SaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing ID information for the phase 2 SAs that are part of suites. IPsec Working Group [Page 42] Internet Draft IKE Monitoring MIB October 21, 1999 The number of rows in this table is the same as the number of unidirectional phase 2 IPsec SA pairs that are created as part of suites. The maximum number of rows is implementation dependent." ::= { suiteTables 2 } phase2SaEntry OBJECT-TYPE SYNTAX Phase2SaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular phase 2 SA within a suite. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { suiteIndex, saOrder } ::= { phase2SaTable 1 } Phase2SaEntry ::= SEQUENCE { -- additional indexing objects saOrder Unsigned32, -- SA identifiers saProtocol IpsecDoiTransformIdent, saInSpi Unsigned32, saOutSpi Unsigned32 } saOrder OBJECT-TYPE SYNTAX Unsigned32 (1..15) MAX-ACCESS read-only STATUS current DESCRIPTION "The position within the suite of the pair of SAs indicated by this row. A value of 1 is used to represent the outer-most SA pair. The outer-most SA of any given packet has its header next to the outer IP header of the processed packet, while the inner-most SA has its header nearest the data of the unprocessed packet. (Note that the IPcomp header may be missing in actual usage if a particular packet was not compressed.) IPsec Working Group [Page 43] Internet Draft IKE Monitoring MIB October 21, 1999 This value should be monotonically increasing for every SA pair in a suite. The maximum value is implementation dependent, but will generally not exceed three." ::= { phase2SaEntry 1 } saProtocol OBJECT-TYPE SYNTAX IpsecDoiTransformIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The protocol of the inbound/outbound SA pair indicated by this row of the table." ::= { phase2SaEntry 2 } saInSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The security parameters index of the inbound SA of the inbound/outbound SA pair. If the protocol of the SA pair is IPcomp, this value is the CPI. This value is used with the value of 'suiteLocalAddress' from the row indexed by 'suiteIndex' to create a SPI/address pair that uniquely identifies the inbound SA used in this SA suite. This can then be used to look up the SA in the appropriate inbound SA table, based on 'saProtocol'." REFERENCE "RFC 2406 Section 2.1" ::= { phase2SaEntry 3 } saOutSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The security parameters index of the outbound SA of the inbound/outbound SA pair. If the protocol of the SA pair is IPcomp, this value is the CPI. This value is used with the value of 'suiteLocalAddress' from the row indexed by 'suiteIndex' to create a SPI/address pair that uniquely identifies the outbound SA used in this SA suite. This can then be used to look up the SA in the appropriate outbound SA table, based on 'saProtocol'." REFERENCE "RFC 2406 Section 2.1" ::= { phase2SaEntry 4 } IPsec Working Group [Page 44] Internet Draft IKE Monitoring MIB October 21, 1999 -- -- the Phase 2 Suite By Creators Table -- suiteByCreatorsTable OBJECT-TYPE SYNTAX SEQUENCE OF SuiteByCreatorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table that sorts the SA suites by the endpoint identifiers. The number of rows in this table is the same as the number of suites in the entity." ::= { suiteTables 3 } suiteByCreatorsEntry OBJECT-TYPE SYNTAX SuiteByCreatorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) referencing a particular suite. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { suiteByCreatorsP1LocalIdType, suiteByCreatorsP1LocalId, suiteByCreatorsP1RemoteIdType, suiteByCreatorsP1RemoteId, suiteByCreatorsIndex } ::= { suiteByCreatorsTable 1 } SuiteByCreatorsEntry ::= SEQUENCE { -- index suiteByCreatorsP1LocalIdType IpsecDoiIdentType, suiteByCreatorsP1LocalId IpsecRawId, suiteByCreatorsP1RemoteIdType IpsecDoiIdentType, suiteByCreatorsP1RemoteId IpsecRawId, suiteByCreatorsIndex Unsigned32, -- suite reference suiteByCreatorsRef OBJECT IDENTIFIER } IPsec Working Group [Page 45] Internet Draft IKE Monitoring MIB October 21, 1999 suiteByCreatorsP1LocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the local entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteByCreatorsEntry 1 } suiteByCreatorsP1LocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the local entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteByCreatorsEntry 2 } suiteByCreatorsP1RemoteIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used by the remote entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteByCreatorsEntry 3 } suiteByCreatorsP1RemoteId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the remote entity that negotiated this suite." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { suiteByCreatorsEntry 4 } suiteByCreatorsIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current IPsec Working Group [Page 46] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "A unique value, greater than zero, for each SA suite that is between the two endpoints. It is recommended that values are assigned contiguously starting from 1 for each SA suite between the two endpoints." ::= { suiteByCreatorsEntry 5 } suiteByCreatorsRef OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The value of 'suiteIndex' in the row ('suiteEntry') of the 'suiteTable' to which this row refers." ::= { suiteByCreatorsEntry 6 } -- -- the Phase 2 Suite By Selector Table -- suiteBySelectorsTable OBJECT-TYPE SYNTAX SEQUENCE OF SuiteBySelectorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table that sorts the suites by the selectors. The number of rows in this table is the same as the number of suites in the entity." ::= { suiteTables 4 } suiteBySelectorsEntry OBJECT-TYPE SYNTAX SuiteBySelectorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) referencing a particular suite. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { suiteBySelectorsLocalId, suiteBySelectorsLocalIdType, suiteBySelectorsRemoteId, suiteBySelectorsRemoteIdType, IPsec Working Group [Page 47] Internet Draft IKE Monitoring MIB October 21, 1999 suiteBySelectorsProtocol, suiteBySelectorsLocalPort, suiteBySelectorsRemotePort, suiteBySelectorsIndex } ::= { suiteBySelectorsTable 1 } SuiteBySelectorsEntry ::= SEQUENCE { -- index suiteBySelectorsLocalId IpsecRawId, suiteBySelectorsLocalIdType IpsecDoiIdentType, suiteBySelectorsRemoteId IpsecRawId, suiteBySelectorsRemoteIdType IpsecDoiIdentType, suiteBySelectorsProtocol Integer32, suiteBySelectorsLocalPort Integer32, suiteBySelectorsRemotePort Integer32, suiteBySelectorsIndex Unsigned32, -- suite reference suiteBySelectorsRef OBJECT IDENTIFIER } suiteBySelectorsLocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The local identifier of the selector of the suite. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." ::= { suiteBySelectorsEntry 1 } suiteBySelectorsLocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used for 'suiteBySelectorsLocalId'. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." ::= { suiteBySelectorsEntry 2 } suiteBySelectorsRemoteId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only IPsec Working Group [Page 48] Internet Draft IKE Monitoring MIB October 21, 1999 STATUS current DESCRIPTION "The remote identifier of the selector of the suite. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteBySelectorsEntry 3 } suiteBySelectorsRemoteIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used for 'suiteBySelectorsRemoteId'. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteBySelectorsEntry 4 } suiteBySelectorsProtocol OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport-layer protocol number that this suite carries, or 0 if it carries any protocol. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteBySelectorsEntry 5 } suiteBySelectorsLocalPort OBJECT-TYPE SYNTAX Integer32 (0.. 65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The local port number of the protocol that this suite carries, or 0 if it carries any port number. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations." REFERENCE "RFC 2401 section 4.4.2" ::= { suiteBySelectorsEntry 6 } IPsec Working Group [Page 49] Internet Draft IKE Monitoring MIB October 21, 1999 suiteBySelectorsRemotePort OBJECT-TYPE SYNTAX Integer32 (0.. 65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The remote port number of the protocol that this SA carries, or 0 if it carries any port number. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations" REFERENCE "RFC 2401 section 4.4.2" ::= { suiteBySelectorsEntry 7 } suiteBySelectorsIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each SA suite that the same selectors. It is recommended that values are assigned contiguously starting from 1." ::= { suiteBySelectorsEntry 8 } suiteBySelectorsRef OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The value of 'suiteIndex' in the row ('suiteEntry') of the 'suiteTable' to which this row refers." ::= { suiteBySelectorsEntry 9 } -- -- the Phase 2 SA to Suite Table -- ipsecSaInSuiteTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaInSuiteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table that allows determination of which suite a particular phase 2 SA is in. The number of rows in this table is the same as the number of phase 2 SAs in the entity." ::= { suiteTables 5 } IPsec Working Group [Page 50] Internet Draft IKE Monitoring MIB October 21, 1999 ipsecSaInSuiteEntry OBJECT-TYPE SYNTAX IpsecSaInSuiteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) referencing a particular phase 2 SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaInSuiteDestAddress, ipsecSaInSuiteProtocol, ipsecSaInSuiteSpi } ::= { ipsecSaInSuiteTable 1 } IpsecSaInSuiteEntry ::= SEQUENCE { -- index ipsecSaInSuiteDestAddress IpsecIpv6Address, ipsecSaInSuiteProtocol IpsecDoiSecProtocolId, ipsecSaInSuiteSpi Unsigned32, -- SA reference ipsecSaInSuiteRef OBJECT IDENTIFIER } ipsecSaInSuiteDestAddress OBJECT-TYPE SYNTAX IpsecIpv6Address MAX-ACCESS read-only STATUS current DESCRIPTION "The destination address of the IPsec phase 2 SA to which this row refers." ::= { ipsecSaInSuiteEntry 1 } ipsecSaInSuiteProtocol OBJECT-TYPE SYNTAX IpsecDoiSecProtocolId MAX-ACCESS read-only STATUS current DESCRIPTION "The security protocol of the IPsec phase 2 SA to which this row refers." ::= { ipsecSaInSuiteEntry 2 } IPsec Working Group [Page 51] Internet Draft IKE Monitoring MIB October 21, 1999 ipsecSaInSuiteSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The SPI value of the IPsec phase 2 SA to which this row refers. If the value of 'ipsecSaInSuiteProtocol' is 'protoIpcomp(4)', then this is the CPI of the SA." REFERENCE "RFC 2407 Section 4.6.2.1" ::= { ipsecSaInSuiteEntry 3 } ipsecSaInSuiteRef OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The value of 'suiteIndex' in the row ('suiteEntry') of the 'suiteTable' to which this row refers. This is the suite that uses this SA." ::= { ipsecSaInSuiteEntry 4 } -- the Notify Message MIB-Group -- -- a collection of objects providing information about -- the occurrences of notify messages notifyCountTable OBJECT-TYPE SYNTAX SEQUENCE OF NotifyCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPSec notify message counts. Rows are created in this table for every notification type that has been sent or received by the entity. This table MAY be sparsely populated; that is, rows for which the count is 0 may be absent." ::= { ikeNotifications 1 } notifyCountEntry OBJECT-TYPE SYNTAX NotifyCountEntry MAX-ACCESS not-accessible STATUS current IPsec Working Group [Page 52] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "An entry (conceptual row) containing the total number of occurrences of a notify message. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { notifyProtocol, notifyType } ::= { notifyCountTable 1 } NotifyCountEntry ::= SEQUENCE { -- identification notifyProtocol IpsecDoiSecProtocolId, notifyType IkeNotifyMessageType, -- ocurrences notifySentCount Counter32, notifyReceivedCount Counter32 } notifyProtocol OBJECT-TYPE SYNTAX IpsecDoiSecProtocolId MAX-ACCESS read-only STATUS current DESCRIPTION "The value representing a protocol for which the notify was used." REFERENCE "RFC 2408 Section 3.14" ::= { notifyCountEntry 1 } notifyType OBJECT-TYPE SYNTAX IkeNotifyMessageType MAX-ACCESS read-only STATUS current DESCRIPTION "The value representing a specific ISAKMP notify message, or 0 if unknown. Values are assigned from the set of notify message types as defined in Section 3.14.1 of [ISAKMP], and enhanced by the IPsec DOI. In addition, the value 0 may be used for this object when the object is used as a trap cause, and the cause is unknown." REFERENCE "RFC 2408 Section 3.14.1" ::= { notifyCountEntry 2 } notifySentCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only IPsec Working Group [Page 53] Internet Draft IKE Monitoring MIB October 21, 1999 STATUS current DESCRIPTION "The total number of times the specific notify message has been sent by the entity since system boot." ::= { notifyCountEntry 3 } notifyReceivedCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of times the specific notify message has been received by the entity since system boot." ::= { notifyCountEntry 4 } -- the IKE Entity MIB-Group -- -- a collection of objects providing information about overall IKE -- status in the entity -- -- IKE phase 1 SA statistics -- ikeCurrentSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of IKE SAs in the entity." ::= { ikeGlobals 1 } ikeCurrentInitiatedSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of IKE SAs successfully negotiated in the entity that were initiated by the entity." ::= { ikeGlobals 2 } ikeCurrentRespondedSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current IPsec Working Group [Page 54] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The current number of IKE SAs successfully negotiated in the entity that were initiated by the peer entity." ::= { ikeGlobals 3 } ikeTotalSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE SAs successfully negotiated in the entity since boot time." ::= { ikeGlobals 4 } ikeTotalInitiatedSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE SAs successfully negotiated in the entity since boot time that were initiated by the entity." ::= { ikeGlobals 5 } ikeTotalRespondedSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE SAs successfully negotiated in the entity since boot time that were initiated by the peer entity." ::= { ikeGlobals 6 } ikeTotalAttempts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE SAs negotiation attempts made since boot time. This includes successful negotiations." ::= { ikeGlobals 7 } ikeTotalSaInitAttempts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current IPsec Working Group [Page 55] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The total number of IKE SAs negotiation attempts made where the entity was the initiator since boot time. This includes successful negotiations." ::= { ikeGlobals 8 } ikeTotalSaRespAttempts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE SAs negotiation attempts made where the entity was the responder since boot time. This includes successful negotiations." ::= { ikeGlobals 9 } -- -- IKE Aggregate Traffic Statistics -- ikeTotalInPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE packets received by the entity since boot time, including re-transmissions and un-encrypted packets." ::= { ikeTrafStats 1 } ikeTotalOutPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IKE packets sent by the entity since boot time, including re-transmissions and un-encrypted packets." ::= { ikeTrafStats 2 } ikeTotalInOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current IPsec Working Group [Page 56] Internet Draft IKE Monitoring MIB October 21, 1999 DESCRIPTION "The total amount of IKE traffic received by the entity since boot time, measured in bytes, including any re- transmitted packets received, and including encrypted and un-encrypted packets." ::= { ikeTrafStats 3 } ikeTotalOutOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The total amount of IKE traffic sent by the entity since boot time, measured in bytes, including any re-transmissions and including encrypted and un-encrypted packets." ::= { ikeTrafStats 4 } -- -- IKE Phase 1 SA Aggregate Errors -- ikeTotalInitFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of attempts to initiate an IKE phase 1 SA that failed since boot time, when there was a response from the peer entity. This value may be used to detect clogging or denial-of- service attacks." ::= { ikeErrors 1 } ikeTotalInitNoResponses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of attempts to initiate an IKE phase 1 SA that failed since boot time, when there was no response from the peer entity. This should only be incremented if the peer does not repond to the first packet of attempted negotiations." ::= { ikeErrors 2 } IPsec Working Group [Page 57] Internet Draft IKE Monitoring MIB October 21, 1999 ikeTotalRespFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of attempts to initiate an IKE phase 1 SA that failed since boot time, when the initiation attempt came for the peer entity." ::= { ikeErrors 3 } -- -- Suite Global Objects -- totalSuites OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of suites created by the entity since system boot." ::= { suiteGlobals 1 } currentSuites OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of suites currently in existence in the entity." ::= { suiteGlobals 2 } -- -- Suite Aggregate Traffic Statistics -- suiteTotalInUserKbytes OBJECT-TYPE SYNTAX Counter64 UNITS "kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The total amount of user level traffic carried by all suites in the entity since boot time, measured in kilobytes, in the inbound direction. IPsec Working Group [Page 58] Internet Draft IKE Monitoring MIB October 21, 1999 This is the sum of the 'suiteInUserOctets' column for all suite rows created since boot time." ::= { suiteTrafStats 1 } suiteTotalInPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets carried by all suites in the entity since boot time in the inbound direction. This is the sum of the 'suiteInPackets' column for all suite rows created since boot time." ::= { suiteTrafStats 2 } suiteTotalOutUserKbytes OBJECT-TYPE SYNTAX Counter64 UNITS "kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The total amount of user level traffic carried by all suites in the entity since boot time, measured in kilobytes, in the outbound direction. This is the sum of the 'suiteOutUserOctets' column for all suite rows created since boot time." ::= { suiteTrafStats 3 } suiteTotalOutPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets carried by all suites in the entity since boot time, in the outbound direction. This is the sum of the 'suiteOutPackets' column for all suite rows created since boot time." ::= { suiteTrafStats 4 } -- -- Suite Aggregate Error Counts -- IPsec Working Group [Page 59] Internet Draft IKE Monitoring MIB October 21, 1999 suiteInitFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of attempts to initiate an suite that failed since boot time, when the attempt was initiated locally." ::= { suiteErrors 1 } suiteRespondFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of attempts to initiate an suite that failed since boot time, when the attempt was initiated by the peer entity." ::= { suiteErrors 2 } -- -- Traps and Trap Control -- ikeNegFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether ikeNegFailure traps should be generated." DEFVAL { false } ::= { ikeTrapControl 1 } ikeNegFailure NOTIFICATION-TYPE OBJECTS { saLocalIdType, saLocalId, saPeerIdType, saPeerId, saLocalIpAddress, saLocalUdpPort, saRemoteIpAddress, saRemoteUdpPort, saAuthMethod, saPeerCertSerialNum, saPeerCertIssuer, ikeTotalInitFailures, IPsec Working Group [Page 60] Internet Draft IKE Monitoring MIB October 21, 1999 ikeTotalInitNoResponses, ikeTotalRespFailures, notifyType } STATUS current DESCRIPTION "An attempt to negotiate a phase 1 IKE SA failed. The notification type sent or received is also sent as part of the trap, along with the current value of the total negotiation error counters for ISAKMP." ::= { ikeTraps 1 } suiteNegFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether 'suiteNegFailure' traps should be generated." DEFVAL { false } ::= { suiteTrapControl 1 } suiteNegFailure NOTIFICATION-TYPE OBJECTS { suiteRemoteId, suiteRemoteIdType, suiteLocalId, suiteLocalIdType, suiteProtocol, suiteRemotePort, suiteLocalPort, suiteInitFailures, suiteRespondFailures, notifyType } STATUS current DESCRIPTION "An attempt to negotiate a phase 2 SA suite for the specified selectors failed. The current total failure counts are passed as well as the notification type sent or received as part of the failure." ::= { suiteTraps 1 } END IPsec Working Group [Page 61] Internet Draft IKE Monitoring MIB October 21, 1999 6. Security Considerations This MIB contains readable objects whose values provide information related to IPsec SAs. While some of the information is readily available by monitoring the traffic into an entity, other information may provide attackers with more information than an administrator may desire. Some of the specific concerns are related to the display of the algorithms and key lengths associated with encryption, and the feedback of error counters and traps that enable an attacker to quickly determine the effect of his or her attacks. Specific examples of this include, but are not limited to: o Replay counts that tell attackers that replay values are being checked, and what the current window is. o Specific algorithms and key lengths are displayed, giving attackers a better idea of how to attack. o Specific traffic counts, giving attackers more information for traffic analysis. Of particular concern is the ability to disable the transmission of traps. The traps defined in this MIB may appear due to badly configured systems and transient error conditions, but they may also appear due to attacks. If an attacker can disable these traps, they reduce some of the warnings that may be provided to system administrators. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. 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. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [RFC2574] and the View- based Access Control Model RFC 2575 [RFC2575] is recommended. IPsec Working Group [Page 62] Internet Draft IKE Monitoring MIB October 21, 1999 It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, 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. 7. Acknowledgments This document is based in part on an earlier proposal titled "draft- ietf-ipsec-mib-xx.txt". That series was abandoned, since it included application specific constructs in addition to the IPsec only objects. Portions of the original document's origins were based on the working paper "IP Security Management Information Base" by R. Thayer and U. Blumenthal. Significant contribution to the IPsec MIB series of documents comes from Charles Brooks and Carl Powell, both of GTE Internetworking. Obviously, the IPsec working group made signification contributions, including M. Daniele, T. Kivinen, J. Walker, S. Kelly, J. Leonard and M. Richardson. 8. Revision History This section will be removed before publication. October 15, 1999 Initial Release. 1) Group and Compliance statements not done. 2) Sub-identifier under the experimental tree not assigned yet. 9. References [IDIMIB]Jenkins, T., Shriver, J., "ISAKMP DOI-Independent Monitoring MIB", draft-ietf-ipsec-isakmp-di-mon-mib-01.txt, work in progress, September 10, 1999 [IKE] Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)", RFC2409, November 1998 [IMMIB] Jenkins, T., Shriver, J., "IPsec Monitoring MIB", draft-ietf- ipsec-monitor-mib-02.txt, work in progress, October 15, 1999 IPsec Working Group [Page 63] Internet Draft IKE Monitoring MIB October 21, 1999 [IPCOMP]Shacham, A., Monsour, R., Pereira, R., Thomas, M., "IP Payload Compression Protocol (IPComp)", RFC2393, December 1998 [IPDOI] Piper, D., "The Internet IP Security Domain of Interpretation for ISAKMP", RFC2407, November 1998 [IPSECTC]Shriver, J., "IPSec DOI Textual Conventions MIB", draft- ietf-ipsec-doi-tc-mib-00.txt, March 22, 1999, work in progress [IPV6AA]Hinden, R., Deering, S., "IP Version 6 Addressing Architecture", RFC2373, July 1998 [ISAKMP]Maughan, D., Schertler, M., Schneider, M., and Turner, J., "Internet Security Association and Key Management Protocol (ISAKMP)", RFC2408, November 1998 [OAKLEY]Orman, H., "The OAKLEY Key Determination Protocol", RFC2412, November 1998 [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999 [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990 [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991 [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999 [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999 IPsec Working Group [Page 64] Internet Draft IKE Monitoring MIB October 21, 1999 [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999 [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999 [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999 [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999 [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999 [SECARCH] Kent, S., Atkinson, R., "Security Architecture for the Internet Protocol", RFC2401, November 1998 IPsec Working Group [Page 65] Internet Draft IKE Monitoring MIB October 21, 1999 Authors' Addresses Tim Jenkins tjenkins@timestep.com TimeStep Corporation 362 Terry Fox Drive Kanata, ON Canada K2K 2P5 +1 (613) 599-3610 John Shriver John.Shriver@intel.com Intel Corporation 28 Crosby Drive Bedford, MA 01730 +1 (781) 687-1329 The IPsec working group can be contacted via the IPsec working group's mailing list (ipsec@lists.tislabs.com) or through its chairs: Robert Moskowitz rgm@icsa.net International Computer Security Association Theodore Y. Ts'o tytso@MIT.EDU Massachusetts Institute of Technology Expiration This document expires April 21, 2000. IPsec Working Group [Page 66]