Internet Draft Editor: Paul Hoffman draft-ietf-ipsec-monitor-mib-06.txt VPN Consortium April 15, 2003 Expires in six months IPsec Monitoring MIB Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 obsoleted 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. Table of Contents [[ Needs to be generated in the RFC publication step ]] 1. Introduction This document defines low level monitoring and status MIBs for IPsec security associations (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. 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 SAs. 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- 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 These MIBs use the RFC 2401 [ISAKMP] Section 4.1 identification of a security association (SA). "A security association is uniquely identified by a triple consisting of a Security Parameter Index (SPI), an IP Destination Address, and a security protocol (AH or ESP) identifier." As such, an SA in these MIBs is a unidirectional entity. IKE negotiates these in pairs, outbound and inbound. For IPcomp [IPCOMP] SAs, a CPI (Compression Parameter Index) replaces the SPI. 3.2 Inbound In the inbound direction, a packet crosses an interface of a logical or physical entity and enters the entity. No assumption is made about what happens to the packet after it enters the entity. An inbound SA then is an SA that processes inbound packets at an interface. 3.3 Outbound In the outbound direction, a packet crosses an interface of a logical or physical entity and leaves the entity. No assumption is made about the origins of the packet before it exits the entity. An outbound SA then is an SA that processes outbound packets at an interface. 4. IPsec MIB Objects Architecture The IPsec MIB consists of tables for the display of raw IPsec security associations (SAs), some entity statistics and traps. Configuration about the SAs is provided as are statistics related to the SAs themselves. However, no ability is provided to configure the SAs themselves. The intent is that these MIBs may be used by any entity that somehow creates IPsec SAs. That creation mechanism can be IKE, static configuration or some other key exchange protocol. System administrators may use the traps to help detect mis- configurations or possible attacks. 4.1 IPsec Security Association Tables Due to the definition of the identification of an SA (see Section 3.1), individual SAs in these MIBs are indexed by the equivalent three objects, where the security protocol is implicit by the SA's appearance in a particular table. Further, for the purposes of these MIBs, IPcomp is considered a security protocol. Individual IPsec phase 2 SAs are separated by both direction and security protocol, resulting in the creation of six separate tables. All tables contain common information, such as the selectors and expiration limits, in addition to protocol specific information. The selectors are important objects with respect to phase 2 SAs and can be shared across multiple SAs, so there is a table of SA selectors. The SAs in the tables may have been statically created, created by IKE or by some other mechanism. When SAs expire, they are removed from the table. There is no SA history kept with the exception of some global counters. 4.1.1 Phase 2 Selector Table This table provides a list of SA selectors. This table is arbitrarily indexed. It contains the local phase 2 ID, then the remote phase 2 ID, a layer 4 protocol number, and finally the local and remote layer 4 port numbers. The SA table uses entries in this table. 4.1.2 IPcomp Security Associations For IPcomp SAs, the following assumptions are made: o IPcomp SAs don't care about policy errors. o IPcomp SAs don't care about expiration. o The selector can be empty (0) if IPcomp is shared across multiple security association suites. This may happen if an implementation chooses to use a CPI in the range of 1 to 63, representing the specific compression protocol chosen. o There are no transmission errors; an outbound SA will send packets uncompressed if it is unable to compress them for any reason. o The outbound SA also makes decisions about which packets are compressed or not compressed. o Packets which were not compressed by an outbound IPcomp SA are still passed to an inbound IPcomp SA for processing when the IPcomp SA is part of a security association suite. This is for accounting purposes only, and is not intended to force any particular implementation. A compression performance metric can be calculated for IPcomp SAs by dividing the SAs' output traffic counter value by the SAs' input traffic counter. Also provided for IPcomp SAs are the total number of packets and traffic that was compressed. The total for packets that were not compressed can be calculated using the available objects. 4.2 IPsec MIB Traps Traps are provided to let system administrators know about the existence of error conditions occurring in the entity. These errors are associated with operational errors and may also indicate the presence of attacks on the system. Traps are not provided when SAs come up or go down. Traps may also be enabled or disabled as required, using configurable configuration objects. Note that support for these objects is optional, so that system administrators that have concerns about SNMP security can choose to implement objects that are write-only. 4.3 IPsec Entity Level Objects This part of the MIB carries statistics global to the IPsec device. Statistics included are aggregate numbers of SAs and aggregate errors for SAs. 5. MIB Definitions IPSEC-SA-MON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Integer32, Unsigned32, NOTIFICATION-TYPE, OBJECT-IDENTITY, Counter64 -- remove this and next line before release , experimental FROM SNMPv2-SMI TEXTUAL-CONVENTION, TruthValue FROM SNMPv2-TC OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF ifIndex FROM IF-MIB -- uncomment next line before release (and remove this one) -- mib-2 FROM RFC1213-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB IpsecDoiIdentType, IpsecDoiEncapsulationMode, IpsecDoiEspTransform, IpsecDoiAhTransform, IpsecDoiAuthAlgorithm, IpsecDoiIpcompTransform, IpsecDoiSecProtocolId FROM IPSEC-ISAKMP-IKE-DOI-TC; ipsecSaMonModule MODULE-IDENTITY LAST-UPDATED "0110031200Z" ORGANIZATION "IETF IPsec Working Group" CONTACT-INFO " Tim Jenkins Catena Networks 307 Legget Drive Kanata, ON Canada K2K 3C8 +1 (613) 599-6430 tjenkins@catena.com John Shriver Intel Corporation 28 Crosby Drive Bedford, MA 01730 +1 (781) 687-1329 John.Shriver@intel.com " DESCRIPTION "The MIB module to describe generic IPsec objects, and entity level objects and events for those types." REVISION "9906031200Z" DESCRIPTION "Initial revision." REVISION "9906251200Z" DESCRIPTION "Add module compliance requirements. Added common textual conventions. Other minor edits and clarifications." REVISION "9910211200Z" DESCRIPTION "Group and compliance statements added. OID value under experimental tree added. Authentication algorithm key length values added." REVISION "0007101200Z" DESCRIPTION "Added optional replay counter tables. Added more statistics to IPcomp SAs. Make packet and traffic counts definitions more explicit. Use Internet address formats from INET-ADDRESS-MIB. Added and used selector table." REVISION "0102071200Z" DESCRIPTION "Change MAX-ACCESS clause of all index object to not-accessible. This lead to other changes due to restrictions on the use of objects with MAX-ACCESS clauses of not-accessible." REVISION "0110031200Z" DESCRIPTION "A number of typo errors corrected. Also: -- selectorGroup made mandatory -- add (SIZE (4|16|20)) to ipsecLocalAddress and ipsecPeerAddress -- change kilobytes to Kilobytes and make it 1024 bytes -- used plurals in names in replay tables" -- replace xxx in next line before release and uncomment it -- ::= { mib-2 xxx } -- delete this and next line before release ::= { experimental 98 } IpsecSaCreatorIdent::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "A value indicating how an SA was created." SYNTAX INTEGER { unknown(0), static(1), -- statically created ike(2), -- IKE other(3) } IpsecRawId ::= TEXTUAL-CONVENTION DISPLAY-HINT "x" STATUS current DESCRIPTION "This data type is used to model the ID values used by entities that have negotiated and created SAs. The values are taken directly from any payloads exchanged, independent of the type of ID transmitted. In some cases, the payload may be truncated. Note also that some IDs have human readable forms that are not used by this textual convention." SYNTAX OCTET STRING (SIZE (0..255)) -- the main MIB branch ipsecSaMonitorMIB OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all IPsec branches." ::= { ipsecSaMonModule 1 } -- significant branches saTables OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all SA tables." ::= { ipsecSaMonitorMIB 1 } saStatistics OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global counters for IPsec security associations." ::= { ipsecSaMonitorMIB 2 } saErrors OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are global error counters for IPsec security associations." ::= { ipsecSaMonitorMIB 3 } saTraps OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are traps for IPsec security associations." ::= { ipsecSaMonitorMIB 4 } saTrapObjects OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for objects which are used as part of traps." ::= { ipsecSaMonitorMIB 5 } saTrapControl OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which are trap controls for IPsec security associations." ::= { ipsecSaMonitorMIB 6 } saGroups OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which describe the groups in this MIB." ::= { ipsecSaMonitorMIB 7 } saConformance OBJECT-IDENTITY STATUS current DESCRIPTION "This is the base object identifier for all objects which describe the conformance for this MIB." ::= { ipsecSaMonitorMIB 8 } -- -- the Selector MIB-Group -- -- a collection of objects providing information about -- the phase 2 selectors in the entity -- selectorTable OBJECT-TYPE SYNTAX SEQUENCE OF SelectorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the phase 2 selectors. The number of rows in this table is the same as the number of selectors in the entity. The enity may create rows for any purpose; no corresponding phase 2 SA or SA suite is required. The maximum number of rows is implementation dependent." ::= { saTables 1 } selectorEntry OBJECT-TYPE SYNTAX SelectorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular phase 2 selector. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { selectorIndex } ::= { selectorTable 1 } SelectorEntry ::= SEQUENCE { -- index selectorIndex Unsigned32, -- the values selectorLocalId IpsecRawId, selectorLocalIdType IpsecDoiIdentType, selectorRemoteId IpsecRawId, selectorRemoteIdType IpsecDoiIdentType, selectorProtocol Integer32, selectorLocalPort Integer32, selectorRemotePort Integer32 } selectorIndex OBJECT-TYPE SYNTAX Unsigned32 (1..16777215) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value, greater than zero, for each selector. It is recommended that values are assigned contiguously starting from 1." ::= { selectorEntry 1 } selectorLocalId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The local identifier of the selector. This corresponds to the source identifier of outbound SAs that use this selector, and to the destination identifier of inbound SAs that use this selector. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations. If those negotiations are for transport mode SAs, then this value should be the IP address of the local entity." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 2 } selectorLocalIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used for 'selectorLocalId'. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations. If those negotiations are for transport mode SAs, then this value should indicate that an IP address is used by the local entity." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 3 } selectorRemoteId OBJECT-TYPE SYNTAX IpsecRawId MAX-ACCESS read-only STATUS current DESCRIPTION "The remote identifier of the selector. This corresponds to the destination identifier of outbound SAs that use this selector, and to the source identifier of inbound SAs that use this selector. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations of SAs. If those negotiations are for transport mode SAs, then this value should be the IP address of the remote peer." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 4 } selectorRemoteIdType OBJECT-TYPE SYNTAX IpsecDoiIdentType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ID used for 'selectorRemoteId'. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations of SAs. If those negotiations are for transport mode SAs, then this value should indicate that an IP address is used by the remote peer." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 5 } selectorProtocol OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport-layer protocol number that to which this selector allows, or 0 if it selects any protocol. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations of SAs." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 6 } selectorLocalPort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The local port number of the protocol that this selector uses, or 0 if it carries any port number. This corresponds to the source port number of outbound SAs that use this selector, and to the destination port number of inbound SAs that use this selector. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations of SAs." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 7 } selectorRemotePort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The remote port number of the protocol that this selector uses, or 0 if it allows any port number. This corresponds to the destination port number of outbound SAs that use this selector, and to the source port number of inbound SAs that use this selector. This value is taken directly from the optional ID payloads that are exchanged during phase 2 negotiations of SA suites." REFERENCE "RFC 2401 section 4.4.2" ::= { selectorEntry 8 } -- the IPsec Inbound ESP MIB-Group -- -- a collection of objects providing information about -- IPsec Inbound ESP SAs ipsecSaEspInTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaEspInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPsec inbound ESP SAs. There should be one row for every inbound ESP security association that exists in the entity. The maximum number of rows is implementation dependent." ::= { saTables 2 } ipsecSaEspInEntry OBJECT-TYPE SYNTAX IpsecSaEspInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IPsec inbound ESP SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaEspInAddressType, ipsecSaEspInAddress, ipsecSaEspInSpi } ::= { ipsecSaEspInTable 1 } IpsecSaEspInEntry::= SEQUENCE { -- identification ipsecSaEspInAddressType InetAddressType, ipsecSaEspInAddress InetAddress, ipsecSaEspInSpi Unsigned32, -- selector ipsecSaEspInSelector Unsigned32, -- how created ipsecSaEspInCreator IpsecSaCreatorIdent, -- security services description ipsecSaEspInEncapsulation IpsecDoiEncapsulationMode, ipsecSaEspInEncAlg IpsecDoiEspTransform, ipsecSaEspInEncKeyLength Unsigned32, ipsecSaEspInAuthAlg IpsecDoiAuthAlgorithm, ipsecSaEspInAuthKeyLength Unsigned32, ipsecSaEspInRepWinSize Unsigned32, -- expiration limits ipsecSaEspInLimitSeconds Unsigned32, -- sec., 0 if none ipsecSaEspInLimitKbytes Unsigned32, -- 0 if none -- current operating statistics ipsecSaEspInAccSeconds Counter32, ipsecSaEspInAccKbytes Counter32, ipsecSaEspInUserOctets Counter64, ipsecSaEspInPackets Counter64, -- error statistics ipsecSaEspInDecryptErrors Counter32, ipsecSaEspInAuthErrors Counter32, ipsecSaEspInReplayErrors Counter32, ipsecSaEspInPolicyErrors Counter32, ipsecSaEspInPadErrors Counter32, ipsecSaEspInOtherReceiveErrors Counter32 } ipsecSaEspInAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address used for the destination address of the SA." ::= { ipsecSaEspInEntry 1 } ipsecSaEspInAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(4|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination address of the SA." ::= { ipsecSaEspInEntry 2 } ipsecSaEspInSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The security parameters index of the SA." REFERENCE "RFC 2406 Section 2.1" ::= { ipsecSaEspInEntry 3 } ipsecSaEspInSelector OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the selector table row for this SA. In other words, the value of 'selectorIndex' for the appropriate row ('SelectorEntry') from the 'selectorTable'" ::= { ipsecSaEspInEntry 4 } ipsecSaEspInCreator OBJECT-TYPE SYNTAX IpsecSaCreatorIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The creator of this SA. This MIB makes no assumptions about how the SAs are created. They may be created statically, or by a key exchange protocol such as IKE, or by some other method." ::= { ipsecSaEspInEntry 5 } ipsecSaEspInEncapsulation OBJECT-TYPE SYNTAX IpsecDoiEncapsulationMode MAX-ACCESS read-only STATUS current DESCRIPTION "The type of encapsulation used by this SA." ::= { ipsecSaEspInEntry 6 } ipsecSaEspInEncAlg OBJECT-TYPE SYNTAX IpsecDoiEspTransform MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the encryption algorithm applied to traffic." ::= { ipsecSaEspInEntry 7 } ipsecSaEspInEncKeyLength 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 ipsecSaEspInEncAlg object. It may be 0 if the key length is implicit in the specified algorithm or there is no encryption specified." ::= { ipsecSaEspInEntry 8 } ipsecSaEspInAuthAlg OBJECT-TYPE SYNTAX IpsecDoiAuthAlgorithm MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the hash algorithm applied to traffic." ::= { ipsecSaEspInEntry 9 } ipsecSaEspInAuthKeyLength OBJECT-TYPE SYNTAX Unsigned32 (0..65531) UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the authentication key in bits used for the algorithm specified in the ipsecSaEspInAuthAlg. It may be 0 if the key length is implicit in the specified algorithm or there is no authentication specified." ::= { ipsecSaEspInEntry 10 } ipsecSaEspInRepWinSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The size of the anti-replay window used by this SA, or 0 if anti-replay checking is not being done." REFERENCE "Section 3.4.3 of RFC 2406" ::= { ipsecSaEspInEntry 11 } ipsecSaEspInLimitSeconds OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum lifetime in seconds of the SA, or 0 if there is no time constraint on its expiration, or 4294967295 if the maximum lifetime is 4294967295 seconds or more but not infinite." ::= { ipsecSaEspInEntry 12 } ipsecSaEspInLimitKbytes OBJECT-TYPE SYNTAX Unsigned32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum lifetime in Kilobytes (1024 bytes) of the SA, or 0 if there is no traffic constraint on its expiration, or 4294967295 if the maximum lifetime is 4294967295 Kilobytes or more but not infinite." ::= { ipsecSaEspInEntry 13 } ipsecSaEspInAccSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds accumulated against the SA's expiration by time. This is also the number of seconds that the SA has existed." ::= { ipsecSaEspInEntry 14 } ipsecSaEspInAccKbytes OBJECT-TYPE SYNTAX Counter32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic handled by the SA that could accumulate against a traffic expiration limit, measured in Kilobytes (1024 bytes). If the SA expires based on traffic, this value counts against the SA's expiration by traffic limitation. If the SA does not expire based on traffic, this value may be 0 to indicate that the counter is not being used." ::= { ipsecSaEspInEntry 15 } ipsecSaEspInUserOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of user level traffic measured in bytes successfully handled by the SA. This is the number of bytes of the decrypted IP packet, including the original IP header of that decrypted packet. This is not necessarily the same as the amount of traffic applied against the traffic expiration limit due to padding or other protocol specific overhead." ::= { ipsecSaEspInEntry 16 } ipsecSaEspInPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received and succcessfully processed by the SA. This does not include received packets that were discarded during processing by the SA." ::= { ipsecSaEspInEntry 17 } ipsecSaEspInDecryptErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to detectable decryption errors. Not all decryption errors are detectable within SA processing, so this count should not be considered definitive." ::= { ipsecSaEspInEntry 18 } ipsecSaEspInAuthErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to authentication errors." ::= { ipsecSaEspInEntry 19 } ipsecSaEspInReplayErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to replay errors." ::= { ipsecSaEspInEntry 20 } ipsecSaEspInPolicyErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to policy errors. This includes packets where the next protocol is invalid." ::= { ipsecSaEspInEntry 21 } ipsecSaEspInPadErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to pad value errors. Implementations that do not check this must not support this object." REFERENCE "RFC 2406 section 2.4" ::= { ipsecSaEspInEntry 22 } ipsecSaEspInOtherReceiveErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to errors other than decryption, authentication, replay errors or, when supported, invalid padding errors. This may include packets dropped due to a lack of receive buffers, and may include packets dropped due to congestion at the decryption element." ::= { ipsecSaEspInEntry 23 } -- the IPsec Inbound AH MIB-Group -- -- a collection of objects providing information about -- IPsec Inbound AH SAs ipsecSaAhInTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaAhInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPsec inbound AH SAs. There should be one row for every inbound AH security association that exists in the entity. The maximum number of rows is implementation dependent." ::= { saTables 3 } ipsecSaAhInEntry OBJECT-TYPE SYNTAX IpsecSaAhInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IPsec inbound AH SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaAhInAddressType, ipsecSaAhInAddress, ipsecSaAhInSpi } ::= { ipsecSaAhInTable 1 } IpsecSaAhInEntry::= SEQUENCE { -- identification ipsecSaAhInAddressType InetAddressType, ipsecSaAhInAddress InetAddress, ipsecSaAhInSpi Unsigned32, -- SA selector ipsecSaAhInSelector Unsigned32, -- how created ipsecSaAhInCreator IpsecSaCreatorIdent, -- security services description ipsecSaAhInEncapsulation IpsecDoiEncapsulationMode, ipsecSaAhInAuthAlg IpsecDoiAhTransform, ipsecSaAhInAuthKeyLength Unsigned32, ipsecSaAhInRepWinSize Unsigned32, -- expiration limits ipsecSaAhInLimitSeconds Unsigned32, -- sec., 0 if none ipsecSaAhInLimitKbytes Unsigned32, -- 0 if none -- current operating statistics ipsecSaAhInAccSeconds Counter32, ipsecSaAhInAccKbytes Counter32, ipsecSaAhInUserOctets Counter64, ipsecSaAhInPackets Counter64, -- error statistics ipsecSaAhInAuthErrors Counter32, ipsecSaAhInReplayErrors Counter32, ipsecSaAhInPolicyErrors Counter32, ipsecSaAhInOtherReceiveErrors Counter32 } ipsecSaAhInAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address that is the destination address of the SA." ::= { ipsecSaAhInEntry 1 } ipsecSaAhInAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(4|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination address of the SA." ::= { ipsecSaAhInEntry 2 } ipsecSaAhInSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The security parameters index of the SA." REFERENCE "RFC 2402 Section 2.4" ::= { ipsecSaAhInEntry 3 } ipsecSaAhInSelector OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the selector table row for this SA. In other words, the value of 'selectorIndex' for the appropriate row ('SelectorEntry') from the 'selectorTable'" ::= { ipsecSaAhInEntry 4 } ipsecSaAhInCreator OBJECT-TYPE SYNTAX IpsecSaCreatorIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The creator of this SA. This MIB makes no assumptions about how the SAs are created. They may be created statically, or by a key exchange protocol such as IKE, or by some other method." ::= { ipsecSaAhInEntry 5 } ipsecSaAhInEncapsulation OBJECT-TYPE SYNTAX IpsecDoiEncapsulationMode MAX-ACCESS read-only STATUS current DESCRIPTION "The type of encapsulation used by this SA." ::= { ipsecSaAhInEntry 6 } ipsecSaAhInAuthAlg OBJECT-TYPE SYNTAX IpsecDoiAhTransform MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the hash algorithm applied to traffic carried by this SA." ::= { ipsecSaAhInEntry 7 } ipsecSaAhInAuthKeyLength OBJECT-TYPE SYNTAX Unsigned32 (0..65531) UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the authentication key in bits used for the algorithm specified in the ipsecSaAhInAuthAlg object. It may be 0 if the key length is implicit in the specified algorithm." ::= { ipsecSaAhInEntry 8 } ipsecSaAhInRepWinSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The size of the anti-replay window used by this SA, or 0 if anti-replay checking is not being done." REFERENCE "Section 3.4.3 of RFC 2402" ::= { ipsecSaAhInEntry 9 } ipsecSaAhInLimitSeconds OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum lifetime in seconds of the SA, or 0 if there is no time constraint on its expiration, or 4294967295 if the maximum lifetime is 4294967295 seconds or more but not infinite." ::= { ipsecSaAhInEntry 10 } ipsecSaAhInLimitKbytes OBJECT-TYPE SYNTAX Unsigned32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum lifetime in Kilobytes (1024 bytes) of the SA, or 0 if there is no traffic constraint on its expiration, or 4294967295 if the maximum lifetime is 4294967295 Kilobytes or more but not infinite." ::= { ipsecSaAhInEntry 11 } ipsecSaAhInAccSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds accumulated against the SA's expiration by time. This is also the number of seconds that the SA has existed." ::= { ipsecSaAhInEntry 12 } ipsecSaAhInAccKbytes OBJECT-TYPE SYNTAX Counter32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic handled by the SA that could accumulate against a traffic expiration limit, measured in Kilobytes (1024 bytes). If the SA expires based on traffic, this value counts against the SA's expiration by traffic limitation. If the SA does not expire based on traffic, this value may be 0 to indicate that the counter is not being used." ::= { ipsecSaAhInEntry 13 } ipsecSaAhInUserOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of user level traffic measured in bytes handled successfully by the SA. This is the number of bytes of the de-processed IP packet, including the original IP header of that de-processed packet. This is not necessarily the same as the amount of traffic applied against the traffic expiration limit due to padding or other protocol specific overhead." ::= { ipsecSaAhInEntry 14 } ipsecSaAhInPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received and succcessfully processed by the SA. This does not include packets that were discarded during processing by the SA." ::= { ipsecSaAhInEntry 15 } ipsecSaAhInAuthErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to authentication errors." ::= { ipsecSaAhInEntry 16 } ipsecSaAhInReplayErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to replay errors." ::= { ipsecSaAhInEntry 17 } ipsecSaAhInPolicyErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to policy errors. This includes packets where the next protocol is invalid." ::= { ipsecSaAhInEntry 18 } ipsecSaAhInOtherReceiveErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to errors other than decryption, authentication or replay errors. This may include packets dropped due to a lack of receive buffers, and may include packets dropped due to congestion at the authentication element." ::= { ipsecSaAhInEntry 19 } -- the IPsec Inbound IPcomp MIB-Group -- -- a collection of objects providing information about -- IPsec Inbound IPcomp SAs ipsecSaIpcompInTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaIpcompInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPsec inbound IPcomp SAs. There should be one row for every inbound IPcomp (security) association that exists in the entity. The maximum number of rows is implementation dependent." ::= { saTables 4 } ipsecSaIpcompInEntry OBJECT-TYPE SYNTAX IpsecSaIpcompInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IPsec inbound IPcomp SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaIpcompInAddressType, ipsecSaIpcompInAddress, ipsecSaIpcompInCpi } ::= { ipsecSaIpcompInTable 1 } IpsecSaIpcompInEntry::= SEQUENCE { -- identification ipsecSaIpcompInAddressType InetAddressType, ipsecSaIpcompInAddress InetAddress, ipsecSaIpcompInCpi IpsecDoiIpcompTransform, -- SA selector (if needed) ipsecSaIpcompInSelector Unsigned32, -- how created ipsecSaIpcompInCreator IpsecSaCreatorIdent, -- security services description ipsecSaIpcompInEncapsulation IpsecDoiEncapsulationMode, ipsecSaIpcompInDecompAlg IpsecDoiIpcompTransform, -- current operating statistics ipsecSaIpcompInSeconds Counter32, ipsecSaIpcompInUserOctets Counter64, ipsecSaIpcompInUserPackets Counter64, ipsecSaIpcompInCompressedOctets Counter64, ipsecSaIpcompInCompressedPackets Counter64, ipsecSaIpcompInInputOctets Counter64, -- error statistics ipsecSaIpcompInDecompErrors Counter32, ipsecSaIpcompInOtherReceiveErrors Counter32 } ipsecSaIpcompInAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address used for the destination address of the SA. If the IPcomp SA is shared across multiple SAs in security association suites, this value may be 0." ::= { ipsecSaIpcompInEntry 1 } ipsecSaIpcompInAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(0|4|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination address of the SA. If the IPcomp SA is shared across multiple SAs in security association suites, this value may be zero-length." ::= { ipsecSaIpcompInEntry 2 } ipsecSaIpcompInCpi OBJECT-TYPE SYNTAX IpsecDoiIpcompTransform MAX-ACCESS not-accessible STATUS current DESCRIPTION "The CPI of the SA. Since the lower values of CPIs are reserved to be the same as the algorithm, the syntax for this object is the same as the transform." REFERENCE "RFC 2393 Section 3.3" ::= { ipsecSaIpcompInEntry 3 } ipsecSaIpcompInSelector OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the selector table row for this SA. In other words, the value of 'selectorIndex' for the appropriate row ('SelectorEntry') from the 'selectorTable' This value may be 0 if this SA is used with multiple SAs in security association suites." ::= { ipsecSaIpcompInEntry 4 } ipsecSaIpcompInCreator OBJECT-TYPE SYNTAX IpsecSaCreatorIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The creator of this SA. This MIB makes no assumptions about how the SAs are created. They may be created statically, or by a key exchange protocol such as IKE, or by some other method." ::= { ipsecSaIpcompInEntry 5 } ipsecSaIpcompInEncapsulation OBJECT-TYPE SYNTAX IpsecDoiEncapsulationMode MAX-ACCESS read-only STATUS current DESCRIPTION "The type of encapsulation used by this SA." ::= { ipsecSaIpcompInEntry 6 } ipsecSaIpcompInDecompAlg OBJECT-TYPE SYNTAX IpsecDoiIpcompTransform MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the decompression algorithm applied to traffic." ::= { ipsecSaIpcompInEntry 7 } ipsecSaIpcompInSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds that the SA has existed." ::= { ipsecSaIpcompInEntry 8 } ipsecSaIpcompInUserOctets 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 SA. This includes traffic on packets that were both compressed and uncompressed. Packets that were not compressed that count in this total may include packets that were received in a security association suite that included IPcomp." ::= { ipsecSaIpcompInEntry 9 } ipsecSaIpcompInUserPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets sent from the SA after inbound processing, whether they were compressed or not. When used in a security association suite, this value is the total number of packets sent by the suite. If this SA is shared across multiple SA suites, this value is the sum of the number of packets sent from those suites." ::= { ipsecSaIpcompInEntry 10 } ipsecSaIpcompInCompressedOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic measured in bytes that is received by the SA that was compressed. This includes the IPcomp and IP headers that are not compressed. The amount of traffic that is not compressed (for any reason) is the value of ipsecSaIpcompInInputOctets minus ipsecSaIpcompInCompressedOctets." ::= { ipsecSaIpcompInEntry 11 } ipsecSaIpcompInCompressedPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received by the SA that were compressed. The number of packets that were not compressed (for any reason) is the value of ipsecSaIpcompInUserPackets minus ipsecSaIpcompInCompressedPackets. When used in a security association suite, this value is the total number of compressed packets received by the suite. If this SA is shared across multiple SA suites, this value is the sum of the number of compressed packets received by those suites." ::= { ipsecSaIpcompInEntry 12 } ipsecSaIpcompInInputOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The total amount of traffic measured in bytes that is received by the SA, compressed or not. This includes the IPcomp header if present and the IP header of each packet. When the IPcomp SA is shared across multiple security association suites, this value is the sum of the output of all SAs before this SA in those SA suites. When used in a security association suite, this value is the same as the traffic sent from the previous SA in the suite. If this SA is shared across multiple SA suites, this value is the sum of all traffic sent from the previous SAs in those suites " ::= { ipsecSaIpcompInEntry 13 } ipsecSaIpcompInDecompErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to decompression errors." ::= { ipsecSaIpcompInEntry 14 } ipsecSaIpcompInOtherReceiveErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to errors other than decompression errors. This may include packets dropped due to a lack of receive buffers, and packets dropped due to congestion at the decompression element." ::= { ipsecSaIpcompInEntry 15 } -- the IPsec Outbound ESP MIB-Group -- -- a collection of objects providing information about -- IPsec Outbound ESP SAs ipsecSaEspOutTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaEspOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPsec Outbound ESP SAs. There should be one row for every outbound ESP security association that exists in the entity. The maximum number of rows is implementation dependent." ::= { saTables 5 } ipsecSaEspOutEntry OBJECT-TYPE SYNTAX IpsecSaEspOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IPsec Outbound ESP SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaEspOutAddressType, ipsecSaEspOutAddress, ipsecSaEspOutSpi } ::= { ipsecSaEspOutTable 1 } IpsecSaEspOutEntry::= SEQUENCE { -- identification ipsecSaEspOutAddressType InetAddressType, ipsecSaEspOutAddress InetAddress, ipsecSaEspOutSpi Unsigned32, -- SA selector ipsecSaEspOutSelector Unsigned32, -- how created ipsecSaEspOutCreator IpsecSaCreatorIdent, -- security services description ipsecSaEspOutEncapsulation IpsecDoiEncapsulationMode, ipsecSaEspOutEncAlg IpsecDoiEspTransform, ipsecSaEspOutEncKeyLength Unsigned32, ipsecSaEspOutAuthAlg IpsecDoiAuthAlgorithm, ipsecSaEspOutAuthKeyLength Unsigned32, -- expiration limits ipsecSaEspOutLimitSeconds Unsigned32, -- sec., 0 if none ipsecSaEspOutLimitKbytes Unsigned32, -- 0 if none -- current operating statistics ipsecSaEspOutAccSeconds Counter32, ipsecSaEspOutAccKbytes Counter32, ipsecSaEspOutUserOctets Counter64, ipsecSaEspOutPackets Counter64, -- error statistics ipsecSaEspOutSendErrors Counter32 } ipsecSaEspOutAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address used by the destination address of the SA." ::= { ipsecSaEspOutEntry 1 } ipsecSaEspOutAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(4|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination address of the SA." ::= { ipsecSaEspOutEntry 2 } ipsecSaEspOutSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The security parameters index of the SA." REFERENCE"RFC 2406 Section 2.1" ::= { ipsecSaEspOutEntry 3 } ipsecSaEspOutSelector OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the selector table row for this suite. In other words, the value of 'selectorIndex' for the appropriate row ('SelectorEntry') from the 'selectorTable'" ::= { ipsecSaEspOutEntry 4 } ipsecSaEspOutCreator OBJECT-TYPE SYNTAX IpsecSaCreatorIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The creator of this SA. This MIB makes no assumptions about how the SAs are created. They may be created statically, or by a key exchange protocol such as IKE, or by some other method." ::= { ipsecSaEspOutEntry 5 } ipsecSaEspOutEncapsulation OBJECT-TYPE SYNTAX IpsecDoiEncapsulationMode MAX-ACCESS read-only STATUS current DESCRIPTION "The type of encapsulation used by this SA." ::= { ipsecSaEspOutEntry 6 } ipsecSaEspOutEncAlg OBJECT-TYPE SYNTAX IpsecDoiEspTransform MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the encryption algorithm applied to traffic." ::= { ipsecSaEspOutEntry 7 } ipsecSaEspOutEncKeyLength 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 ipsecSaEspOutEncAlg object. It may be 0 if the key length is implicit in the specified algorithm or there is no encryption specified." ::= { ipsecSaEspOutEntry 8 } ipsecSaEspOutAuthAlg OBJECT-TYPE SYNTAX IpsecDoiAuthAlgorithm MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the hash algorithm applied to traffic." ::= { ipsecSaEspOutEntry 9 } ipsecSaEspOutAuthKeyLength OBJECT-TYPE SYNTAX Unsigned32 (0..65531) UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the authentication key in bits used for the algorithm specified in the ipsecSaEspOutAuthAlg object. It may be 0 if the key length is implicit in the specified algorithm or there is no authentication specified." ::= { ipsecSaEspOutEntry 10 } ipsecSaEspOutLimitSeconds OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum lifetime in seconds of the SA, or 0 if there is no time constraint on its expiration. The display value is limited to 4294967295 seconds (more than 136 years); values greater than that value will be truncated." ::= { ipsecSaEspOutEntry 11 } ipsecSaEspOutLimitKbytes OBJECT-TYPE SYNTAX Unsigned32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum traffic in Kilobytes (1024 bytes) that the SA is allowed to process, or 0 if there is no traffic constraint on its expiration. The display value is limited to 4294967295 Kilobytes; values greater than that value will be truncated." ::= { ipsecSaEspOutEntry 12 } ipsecSaEspOutAccSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds accumulated against the SA's expiration by time. This is also the number of seconds that the SA has existed." ::= { ipsecSaEspOutEntry 13 } ipsecSaEspOutAccKbytes OBJECT-TYPE SYNTAX Counter32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic handled by the SA that could accumulate against a traffic expiration limit, measured in Kilobytes (1024 bytes). If the SA expires based on traffic, this value counts against the SA's expiration by traffic limitation. If the SA does not expire based on traffic, this value may be 0 to indicate that the counter is not being used." ::= { ipsecSaEspOutEntry 14 } ipsecSaEspOutUserOctets 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 SA. This is the number of bytes of the unencrypted IP packet, including the original IP header of that unencrypted packet. Traffic from packets dropped due to errors is not included in this total. This is not necessarily the same as the amount of traffic applied against the traffic expiration limit due to padding or other protocol specific overhead." ::= { ipsecSaEspOutEntry 15 } ipsecSaEspOutPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets successfully handled by the SA. Packets dropped due to errors are not included in this count." ::= { ipsecSaEspOutEntry 16 } ipsecSaEspOutSendErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to any error. This may include errors due to a lack of transmit buffers." ::= { ipsecSaEspOutEntry 17 } -- the IPsec Outbound AH MIB-Group -- -- a collection of objects providing information about -- IPsec Outbound AH SAs ipsecSaAhOutTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaAhOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPsec Outbound AH SAs. There should be one row for every outbound AH security association that exists in the entity. The maximum number of rows is implementation dependent." ::= { saTables 6 } ipsecSaAhOutEntry OBJECT-TYPE SYNTAX IpsecSaAhOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IPsec Outbound AH SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaAhOutAddressType, ipsecSaAhOutAddress, ipsecSaAhOutSpi } ::= { ipsecSaAhOutTable 1 } IpsecSaAhOutEntry::= SEQUENCE { -- identification ipsecSaAhOutAddressType InetAddressType, ipsecSaAhOutAddress InetAddress, ipsecSaAhOutSpi Unsigned32, -- SA selector ipsecSaAhOutSelector Unsigned32, -- how created ipsecSaAhOutCreator IpsecSaCreatorIdent, -- security services description ipsecSaAhOutEncapsulation IpsecDoiEncapsulationMode, ipsecSaAhOutAuthAlg IpsecDoiAhTransform, ipsecSaAhOutAuthKeyLength Unsigned32, -- expiration limits ipsecSaAhOutLimitSeconds Unsigned32, -- sec., 0 if none ipsecSaAhOutLimitKbytes Unsigned32, -- 0 if none -- current operating statistics ipsecSaAhOutAccSeconds Counter32, ipsecSaAhOutAccKbytes Counter32, ipsecSaAhOutUserOctets Counter64, ipsecSaAhOutPackets Counter64, -- error statistics ipsecSaAhOutSendErrors Counter32 } ipsecSaAhOutAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address used by the destination address of the SA." ::= { ipsecSaAhOutEntry 1 } ipsecSaAhOutAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(4|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination address of the SA." ::= { ipsecSaAhOutEntry 2 } ipsecSaAhOutSpi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The security parameters index of the SA." REFERENCE"RFC 2402 Section 2.4" ::= { ipsecSaAhOutEntry 3 } ipsecSaAhOutSelector OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the selector table row for this suite. In other words, the value of 'selectorIndex' for the appropriate row ('SelectorEntry') from the 'selectorTable'" ::= { ipsecSaAhOutEntry 4 } ipsecSaAhOutCreator OBJECT-TYPE SYNTAX IpsecSaCreatorIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The creator of this SA. This MIB makes no assumptions about how the SAs are created. They may be created statically, or by a key exchange protocol such as IKE, or by some other method." ::= { ipsecSaAhOutEntry 5 } ipsecSaAhOutEncapsulation OBJECT-TYPE SYNTAX IpsecDoiEncapsulationMode MAX-ACCESS read-only STATUS current DESCRIPTION "The type of encapsulation used by this SA." ::= { ipsecSaAhOutEntry 6 } ipsecSaAhOutAuthAlg OBJECT-TYPE SYNTAX IpsecDoiAhTransform MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the hash algorithm applied to traffic carried by this SA." ::= { ipsecSaAhOutEntry 7 } ipsecSaAhOutAuthKeyLength OBJECT-TYPE SYNTAX Unsigned32 (0..65531) UNITS "bits" MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the authentication key in bits used for the algorithm specified in the ipsecSaAhOutAuthAlg object. It may be 0 if the key length is implicit in the specified algorithm." ::= { ipsecSaAhOutEntry 8 } ipsecSaAhOutLimitSeconds OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum lifetime in seconds of the SA, or 0 if there is no time constraint on its expiration. The display value is limited to 4294967295 seconds (more than 136 years); values greater than that value will be truncated." ::= { ipsecSaAhOutEntry 9 } ipsecSaAhOutLimitKbytes OBJECT-TYPE SYNTAX Unsigned32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum traffic in Kilobytes (1024 bytes) that the SA is allowed to process, or 0 if there is no traffic constraint on its expiration. The display value is limited to 4294967295 Kilobytes; values greater than that value will be truncated." ::= { ipsecSaAhOutEntry 10 } ipsecSaAhOutAccSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds accumulated against the SA's expiration by time. This is also the number of seconds that the SA has existed." ::= { ipsecSaAhOutEntry 11 } ipsecSaAhOutAccKbytes OBJECT-TYPE SYNTAX Counter32 UNITS "Kilobytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic handled by the SA that could accumulate against a traffic expiration limit, measured in Kilobytes (1024 bytes). If the SA expires based on traffic, this value counts against the SA's expiration by traffic limitation. If the SA does not expire based on traffic, this value may be 0 to indicate that the counter is not being used." ::= { ipsecSaAhOutEntry 12 } ipsecSaAhOutUserOctets 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 SA. This is the number of bytes of the unprocessed IP packet, including the original IP header of that unprocessed packet. Traffic from packets dropped due to errors is not included in this total. This is not necessarily the same as the amount of traffic applied against the traffic expiration limit due to padding or other protocol specific overhead." ::= { ipsecSaAhOutEntry 13 } ipsecSaAhOutPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets successfully handled by the SA. Packets dropped due to errors are not included in this count." ::= { ipsecSaAhOutEntry 14 } ipsecSaAhOutSendErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets discarded by the SA due to any error. This may include errors due to a lack of transmit buffers." ::= { ipsecSaAhOutEntry 15 } -- the IPsec Outbound IPcomp MIB-Group -- -- a collection of objects providing information about -- IPsec Outbound IPcomp SAs ipsecSaIpcompOutTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaIpcompOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on IPsec Outbound IPcomp SAs. There should be one row for every outbound IPcomp (security) association that exists in the entity. The maximum number of rows is implementation dependent." ::= { saTables 7 } ipsecSaIpcompOutEntry OBJECT-TYPE SYNTAX IpsecSaIpcompOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IPsec Outbound IPcomp SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaIpcompOutAddressType, ipsecSaIpcompOutAddress, ipsecSaIpcompOutCpi } ::= { ipsecSaIpcompOutTable 1 } IpsecSaIpcompOutEntry::= SEQUENCE { -- identification ipsecSaIpcompOutAddressType InetAddressType, ipsecSaIpcompOutAddress InetAddress, ipsecSaIpcompOutCpi IpsecDoiIpcompTransform, -- SA selector ipsecSaIpcompOutSelector Unsigned32, -- how created ipsecSaIpcompOutCreator IpsecSaCreatorIdent, -- security services description ipsecSaIpcompOutEncapsulation IpsecDoiEncapsulationMode, ipsecSaIpcompOutCompAlg IpsecDoiIpcompTransform, -- current operating statistics ipsecSaIpcompOutSeconds Counter32, ipsecSaIpcompOutUserOctets Counter64, ipsecSaIpcompOutUserPackets Counter64, ipsecSaIpcompOutOutputOctets Counter64, ipsecSaIpcompOutCompressedPackets Counter64, ipsecSaIpcompOutCompressedOctets Counter64 } ipsecSaIpcompOutAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address used by the destination address of the SA. If the IPcomp SA is shared across multiple SAs in security association suites, this value may be 0 to indicate that the addresses to which this SA apply cannot be expressed with a single InetAddressType/InetAddress pair." ::= { ipsecSaIpcompOutEntry 1 } ipsecSaIpcompOutAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(0|4|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination address of the SA. If the IPcomp SA is shared across multiple SAs in security association suites, this value may be zero-length to indicate that the addresses to which this SA apply cannot be expressed with a single InetAddressType/InetAddress pair." ::= { ipsecSaIpcompOutEntry 2 } ipsecSaIpcompOutCpi OBJECT-TYPE SYNTAX IpsecDoiIpcompTransform MAX-ACCESS not-accessible STATUS current DESCRIPTION "The CPI of the SA. Since the lower values of CPIs are reserved to be the same as the algorithm, the syntax for this object is the same as the transform." REFERENCE "RFC 2393 Section 3.3" ::= { ipsecSaIpcompOutEntry 3 } ipsecSaIpcompOutSelector OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the selector table row for this suite. In other words, the value of 'selectorIndex' for the appropriate row ('SelectorEntry') from the 'selectorTable' This value may be 0 if this SA is used with multiple SAs in security association suites to indicate that this SA is applied to multiple rows from the 'selectorTable'." ::= { ipsecSaIpcompOutEntry 4 } ipsecSaIpcompOutCreator OBJECT-TYPE SYNTAX IpsecSaCreatorIdent MAX-ACCESS read-only STATUS current DESCRIPTION "The creator of this SA. This MIB makes no assumptions about how the SAs are created. They may be created statically, or by a key exchange protocol such as IKE, or by some other method." ::= { ipsecSaIpcompOutEntry 11 } ipsecSaIpcompOutEncapsulation OBJECT-TYPE SYNTAX IpsecDoiEncapsulationMode MAX-ACCESS read-only STATUS current DESCRIPTION "The type of encapsulation used by this SA." ::= { ipsecSaIpcompOutEntry 12 } ipsecSaIpcompOutCompAlg OBJECT-TYPE SYNTAX IpsecDoiIpcompTransform MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value representing the compression algorithm applied to traffic." ::= { ipsecSaIpcompOutEntry 13 } ipsecSaIpcompOutSeconds OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds that the SA has existed." ::= { ipsecSaIpcompOutEntry 14 } ipsecSaIpcompOutUserOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of user level traffic measured in bytes received by the SA. This is the number of bytes of the uncompressed IP packet, including the original IP header of that uncompressed packet." ::= { ipsecSaIpcompOutEntry 15 } ipsecSaIpcompOutUserPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received for handling by the SA. This includes packets that were both compressed and not compressed." ::= { ipsecSaIpcompOutEntry 16 } ipsecSaIpcompOutOutputOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic measured in bytes output by the SA. This includes byte counts from packets compressed by the SA and also packets not modified by the SA. This object can be divided into the ipsecSaIpcompOutUserOctets object to get a compression performance metric for the SA." ::= { ipsecSaIpcompOutEntry 17 } ipsecSaIpcompOutCompressedPackets OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets sent from the SA that were compressed. The number of packets sent from the SA that were not compressed can be calculated by subtracting the value of this object from the value of ipsecSaIpcompOutUserPackets." ::= { ipsecSaIpcompOutEntry 18 } ipsecSaIpcompOutCompressedOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of traffic measured in bytes output by the SA that is in packets that were compressed. The amount of uncompressed traffic can be calculated by subtracting the value of this object from the value of ipsecSaIpcompOutOutputOctets." ::= { ipsecSaIpcompOutEntry 19 } -- -- optional tables for monitoring network performance via statistics -- on the anti-replay counter mechanisms in incoming ESP and AH SAs. -- -- -- ESP table -- ipsecSaEspReplayTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaEspReplayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on the replay counter events on IPsec inbound ESP SAs. There should be one row in this table for every inbound ESP security association where ipsecSaEspInRepWinSize is non- zero in ipsecSaEspInTable. The maximum number of rows is implementation dependent. If any variable in this table is non-zero, it indicates that the underlying IP network is reordering, losing, or duplicating packets. While these are perfectly legal things for it to do, they can and will affect the performance of this security association." ::= { saTables 8 } ipsecSaEspReplayEntry OBJECT-TYPE SYNTAX IpsecSaEspReplayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on the replay counter events in a particular IPsec inbound ESP SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaEspInAddressType, ipsecSaEspInAddress, ipsecSaEspInSpi } ::= { ipsecSaEspReplayTable 1 } IpsecSaEspReplayEntry::= SEQUENCE { -- event counters ipsecSaEspReplaysBeyondWindow Counter32, ipsecSaEspReplaysOutOfOrder Counter32, -- error counters ipsecSaEspReplaysBeforeWindow Counter32, ipsecSaEspReplaysDuplicate Counter32, ipsecSaEspReplaysZero Counter32 } ipsecSaEspReplaysBeyondWindow OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was greater than the previous highest received anti-replay value by the replay window size or greater. This may be caused by either significant packet losses by the IP network, or by major reordering of packets." REFERENCE "RFC 2401 Appendix C: /* This packet has a 'way larger' */ " ::= { ipsecSaEspReplayEntry 1 } ipsecSaEspReplaysOutOfOrder OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was less than the highest received value, but was within the replay window. This may be caused by packet reordering by the IP network." REFERENCE "RFC 2401 Appendix C: /* out of order but good */ " ::= { ipsecSaEspReplayEntry 2 } ipsecSaEspReplaysBeforeWindow OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was less than the previous highest received anti-replay value by at least the replay window size. This may be caused by significant packet reordering by the IP network, very delayed packet duplication, or by a replay attack. The object ipsecSaEspInReplayErrors (of same INDEX) will be incremented by one each time this object is incremented." REFERENCE "RFC 2401 Appendix C: /* too old or wrapped */ " ::= { ipsecSaEspReplayEntry 3 } ipsecSaEspReplaysDuplicate OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was within the replay window size, and the same anti-replay value had already been seen. This may be caused by packet duplication by the IP network, or by a replay attack. The object ipsecSaEspInReplayErrors (of same INDEX) will be incremented by one each time this object is incremented." REFERENCE "RFC 2401 Appendix C: /* already seen */ " ::= { ipsecSaEspReplayEntry 4 } ipsecSaEspReplaysZero OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet is zero. This may be caused by a programming error at the remote node causing it to send an initial anti-replay value of 0, or continuing to transmit after the anti-replay counter wraps. The object ipsecSaEspInReplayErrors (of same INDEX) will be incremented by one each time this object is incremented." REFERENCE "RFC 2401 Appendix C: /* first == 0 or wrapped */ " ::= { ipsecSaEspReplayEntry 5 } -- -- AH table -- ipsecSaAhReplayTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecSaAhReplayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on the replay counter events on IPsec inbound AH SAs. There should be one row in this table for every inbound AH security association where ipsecSaAhInRepWinSize is non-zero in ipsecSaAhInTable. The maximum number of rows is implementation dependent. If any variable in this table is non-zero, it indicates that the underlying IP network is reordering, losing, or duplicating packets. While these are perfectly legal things for it to do, they can and will affect the performance of this security association." ::= { saTables 9 } ipsecSaAhReplayEntry OBJECT-TYPE SYNTAX IpsecSaAhReplayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on the replay counter events in a particular IPsec inbound AH SA. A row in this table cannot be created or deleted by SNMP operations on columns of the table." INDEX { ipsecSaAhInAddressType, ipsecSaAhInAddress, ipsecSaAhInSpi } ::= { ipsecSaAhReplayTable 1 } IpsecSaAhReplayEntry::= SEQUENCE { -- event counters ipsecSaAhReplaysBeyondWindow Counter32, ipsecSaAhReplaysOutOfOrder Counter32, -- error counters ipsecSaAhReplaysBeforeWindow Counter32, ipsecSaAhReplaysDuplicate Counter32, ipsecSaAhReplaysZero Counter32 } ipsecSaAhReplaysBeyondWindow OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was greater than the previous highest received anti-replay value by the replay window size or greater. This may be caused by either significant packet losses by the IP network, or by major reordering of packets." REFERENCE "RFC 2401 Appendix C: /* This packet has a way larger */ " ::= { ipsecSaAhReplayEntry 1 } ipsecSaAhReplaysOutOfOrder OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was less than the highest received value, but was within the replay window. This may be caused by packet reordering by the IP network." REFERENCE "RFC 2401 Appendix C: /* out of order but good */ " ::= { ipsecSaAhReplayEntry 2 } ipsecSaAhReplaysBeforeWindow OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was less than the previous highest received anti-replay value by at least the replay window size. This may be caused by significant packet reordering by the IP network, very delayed packet duplication, or by a replay attack. The object ipsecSaAhInReplayErrors (of same INDEX) will be incremented by one each time this object is incremented." REFERENCE "RFC 2401 Appendix C: /* too old or wrapped */ " ::= { ipsecSaAhReplayEntry 3 } ipsecSaAhReplaysDuplicate OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet was within the replay window size, and the same anti-replay value had already been seen. This may be caused by packet duplication by the IP network, or by a replay attack. The object ipsecSaAhInReplayErrors (of same INDEX) will be incremented by one each time this object is incremented." REFERENCE "RFC 2401 Appendix C: /* already seen */ " ::= { ipsecSaAhReplayEntry 4 } ipsecSaAhReplaysZero OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received on this SA where the anti- replay value in the packet is zero. This may be caused by a programming error at the remote node causing it to send an initial anti-replay value of 0, or continuing to transmit after the anti-replay counter wraps. The object ipsecSaAhInReplayErrors (of same INDEX) will be incremented by one each time this object is incremented." REFERENCE "RFC 2401 Appendix C: /* first == 0 or wrapped */ " ::= { ipsecSaAhReplayEntry 5 } -- -- entity IPsec statistics -- ipsecEspCurrentInboundSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of inbound ESP SAs in the entity." ::= { saStatistics 1 } ipsecEspTotalInboundSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of inbound ESP SAs created in the entity since boot time." ::= { saStatistics 2 } ipsecEspCurrentOutboundSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of outbound ESP SAs in the entity." ::= { saStatistics 3 } ipsecEspTotalOutboundSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of outbound ESP SAs created in the entity since boot time." ::= { saStatistics 4 } ipsecAhCurrentInboundSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of inbound AH SAs in the entity." ::= { saStatistics 5 } ipsecAhTotalInboundSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of inbound AH SAs created in the entity since boot time." ::= { saStatistics 6 } ipsecAhCurrentOutboundSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of outbound AH SAs in the entity." ::= { saStatistics 7 } ipsecAhTotalOutboundSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of outbound AH SAs created in the entity since boot time." ::= { saStatistics 8 } ipsecIpcompCurrentInboundSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of inbound IPcomp SAs in the entity." ::= { saStatistics 9 } ipsecIpcompTotalInboundSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of inbound IPcomp SAs created in the entity since boot time." ::= { saStatistics 10 } ipsecIpcompCurrentOutboundSAs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of outbound IPcomp SAs in the entity." ::= { saStatistics 11 } ipsecIpcompTotalOutboundSAs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of outbound IPcomp SAs created in the entity since boot time." ::= { saStatistics 12 } -- -- IPsec error counts -- ipsecDecryptionErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the entity in SAs since boot time with detectable decryption errors. Not all decryption errors are detectable within SA processing, so this count should not be considered definitive." ::= { saErrors 1 } ipsecAuthenticationErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the entity in SAs since boot time with authentication errors. This includes all packets in which the hash value is determined to be invalid, for both ESP and AH SAs." ::= { saErrors 2 } ipsecReplayErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the entity in SAs since boot time with replay errors." ::= { saErrors 3 } ipsecPolicyErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the entity in SAs since boot time and discarded due to policy errors. This includes packets that had selectors that were invalid for the SA that carried them, and also includes packets that arrived at the entity in the clear and that should have been protected by IPsec or should have been dropped." ::= { saErrors 4 } ipsecOtherReceiveErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the entity in SAs since boot time and discarded due to errors not due to decryption, authentication, replay or policy." ::= { saErrors 5 } ipsecSendErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets to be sent by the entity in SAs since boot time and discarded due to errors." ::= { saErrors 6 } ipsecUnknownSpiErrors OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the entity since boot time with SPIs or CPIs that were not valid." ::= { saErrors 7 } -- -- traps -- -- -- some objects used in trap reporting -- ipsecSecurityProtocol OBJECT-TYPE SYNTAX IpsecDoiSecProtocolId MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A security protocol associated with the trap." ::= { saTrapObjects 1 } ipsecSPI OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "An SPI associated with a trap. Where the security protocol associated with the trap is IPcomp, this value has a maximum of 65535." ::= { saTrapObjects 2 } ipsecLocalAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The type of a local IP address associated with a trap." ::= { saTrapObjects 3 } ipsecLocalAddress OBJECT-TYPE SYNTAX InetAddress (SIZE (4|16|20)) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A local IP address associated with a trap." ::= { saTrapObjects 4 } ipsecPeerAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The type of a peer IP address associated with a trap." ::= { saTrapObjects 5 } ipsecPeerAddress OBJECT-TYPE SYNTAX InetAddress (SIZE (4|16|20)) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A peer IP address associated with a trap." ::= { saTrapObjects 6 } -- -- trap control -- espAuthFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether espAuthFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 1 } ahAuthFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether ahAuthFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 2 } espReplayFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether espReplayFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 3 } ahReplayFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether ahReplayFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 4 } espPolicyFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether espPolicyFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 5 } ahPolicyFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether ahPolicyFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 6 } invalidSpiTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether invalidSpiTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 7 } otherPolicyFailureTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether otherPolicyFailureTrap traps should be generated." DEFVAL { false } ::= { saTrapControl 8 } -- -- the traps themselves -- espAuthFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecSaEspInAuthErrors } STATUS current DESCRIPTION "IPsec packets with invalid hashes were found in an inbound ESP SA. The total number of authentication errors accumulated is sent for the specific row of the ipsecSaEspInTable table for the SA; this provides the identity of the SA in which the error occurred. Implementations SHOULD send one trap per SA (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 1 } ahAuthFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecSaAhInAuthErrors } STATUS current DESCRIPTION "IPsec packets with invalid hashes were found in an inbound AH SA. The total number of authentication errors accumulated is sent for the specific row of the ipsecSaAhInTable table for the SA; this provides the identity of the SA in which the error occurred. Implementations SHOULD send one trap per SA (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 2 } espReplayFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecSaEspInReplayErrors } STATUS current DESCRIPTION "IPsec packets with invalid sequence numbers were found in an inbound ESP SA. The total number of replay errors accumulated is sent for the specific row of the ipsecSaEspInTable table for the SA; this provides the identity of the SA in which the error occurred. Implementations SHOULD send one trap per SA (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 3 } ahReplayFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecSaAhInReplayErrors } STATUS current DESCRIPTION "IPsec packets with invalid sequence numbers were found in the specified AH SA. The total number of replay errors accumulated is sent for the specific row of the ipsecSaAhInTable table for the SA; this provides the identity of the SA in which the error occurred. Implementations SHOULD send one trap per SA (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 4 } espPolicyFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecSaEspInPolicyErrors } STATUS current DESCRIPTION "IPsec packets carrying packets with invalid selectors for the specified ESP SA were found. The total number of policy errors accumulated is sent for the specific row of the ipsecSaEspInTable table for the SA; this provides the identity of the SA in which the error occurred. Implementations SHOULD send one trap per SA (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 5 } ahPolicyFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecSaAhInPolicyErrors } STATUS current DESCRIPTION "IPsec packets carrying packets with invalid selectors for the specified AH SA were found. The total number of policy errors accumulated is sent for the specific row of the ipsecSaAhInTable table for the SA; this provides the identity of the SA in which the error occurred. Implementations SHOULD send one trap per SA (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 6 } espInvalidSpiTrap NOTIFICATION-TYPE OBJECTS { ipsecLocalAddress, ipsecSecurityProtocol, ipsecPeerAddress, ipsecSPI, ifIndex } STATUS current DESCRIPTION "A packet with an unknown SPI was detected from the specified peer with the specified SPI using the specified protocol. The destination address of the received packet is specified by ipsecLocalAddress. The value ifIndex may be 0 if this optional linkage is unsupported. If the object ipsecSecurityProtocol has the value for IPcomp, then the ipsecSPI object is the CPI of the packet. Implementations SHOULD send one trap per peer (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 7 } otherPolicyFailureTrap NOTIFICATION-TYPE OBJECTS { ipsecPolicyErrors, ipsecPeerAddress, ipsecLocalAddress } STATUS current DESCRIPTION "Clear packets were found that should not have been sent to the entity in the clear. The total number of policy errors accumulated by the entity is sent, along with the source and destination addresses of the packet that triggered the trap. Implementations SHOULD send one trap per source address pair (within a reasonable time period), rather than sending one trap per packet." ::= { saTraps 0 8 } -- -- Units of Conformance (Object Groups) -- -- -- Authors' note: Index objects are commented out, since the current -- SMI does not allow objects with a MAX-ACCESS clause of -- 'not-accessible' to be put in groups. -- selectorGroup OBJECT-GROUP OBJECTS { -- selectorIndex, selectorLocalId, selectorLocalIdType, selectorRemoteId, selectorRemoteIdType, selectorProtocol, selectorLocalPort, selectorRemotePort } STATUS current DESCRIPTION "A collection of objects that describe IKE phase 2 selectors." ::= { saGroups 1 } ipsecSaEspGroup OBJECT-GROUP OBJECTS { -- ipsecSaEspInAddressType, ipsecSaEspInAddress, -- ipsecSaEspInSpi, ipsecSaEspInSelector, ipsecSaEspInCreator, ipsecSaEspInEncapsulation, ipsecSaEspInEncAlg, ipsecSaEspInEncKeyLength, ipsecSaEspInAuthAlg, ipsecSaEspInAuthKeyLength, ipsecSaEspInRepWinSize, ipsecSaEspInLimitSeconds, ipsecSaEspInLimitKbytes, ipsecSaEspInAccSeconds, ipsecSaEspInAccKbytes, ipsecSaEspInUserOctets, ipsecSaEspInPackets, ipsecSaEspInDecryptErrors, ipsecSaEspInAuthErrors, ipsecSaEspInReplayErrors, ipsecSaEspInPolicyErrors, ipsecSaEspInPadErrors, ipsecSaEspInOtherReceiveErrors, -- ipsecSaEspOutAddressType, ipsecSaEspOutAddress, -- ipsecSaEspOutSpi, ipsecSaEspOutSelector, ipsecSaEspOutCreator, ipsecSaEspOutEncapsulation, ipsecSaEspOutEncAlg, ipsecSaEspOutAuthKeyLength, ipsecSaEspOutEncKeyLength, ipsecSaEspOutAuthAlg, ipsecSaEspOutLimitSeconds, ipsecSaEspOutLimitKbytes, ipsecSaEspOutAccSeconds, ipsecSaEspOutAccKbytes, ipsecSaEspOutUserOctets, ipsecSaEspOutPackets, ipsecSaEspOutSendErrors, ipsecEspCurrentInboundSAs, ipsecEspTotalInboundSAs, ipsecEspCurrentOutboundSAs, ipsecEspTotalOutboundSAs } STATUS current DESCRIPTION "A collection of objects that describe the state of the security associations of the ESP protocol." ::= { saGroups 2 } ipsecSaAhGroup OBJECT-GROUP OBJECTS { -- ipsecSaAhInAddressType, ipsecSaAhInAddress, -- ipsecSaAhInSpi, ipsecSaAhInSelector, ipsecSaAhInCreator, ipsecSaAhInEncapsulation, ipsecSaAhInAuthAlg, ipsecSaAhInAuthKeyLength, ipsecSaAhInRepWinSize, ipsecSaAhInLimitSeconds, ipsecSaAhInLimitKbytes, ipsecSaAhInAccSeconds, ipsecSaAhInAccKbytes, ipsecSaAhInUserOctets, ipsecSaAhInPackets, ipsecSaAhInAuthErrors, ipsecSaAhInReplayErrors, ipsecSaAhInPolicyErrors, ipsecSaAhInOtherReceiveErrors, -- ipsecSaAhOutAddressType, ipsecSaAhOutAddress, -- ipsecSaAhOutSpi, ipsecSaAhOutSelector, ipsecSaAhOutCreator, ipsecSaAhOutEncapsulation, ipsecSaAhOutAuthAlg, ipsecSaAhOutAuthKeyLength, ipsecSaAhOutLimitSeconds, ipsecSaAhOutLimitKbytes, ipsecSaAhOutAccSeconds, ipsecSaAhOutAccKbytes, ipsecSaAhOutUserOctets, ipsecSaAhOutPackets, ipsecSaAhOutSendErrors, ipsecAhCurrentInboundSAs, ipsecAhTotalInboundSAs, ipsecAhCurrentOutboundSAs, ipsecAhTotalOutboundSAs } STATUS current DESCRIPTION "A collection of objects that describe the state of the security associations of the AH protocol." ::= { saGroups 3 } ipsecSaIpcompGroup OBJECT-GROUP OBJECTS { -- ipsecSaIpcompInAddressType, ipsecSaIpcompInAddress, -- ipsecSaIpcompInCpi, ipsecSaIpcompInSelector, ipsecSaIpcompInCreator, ipsecSaIpcompInEncapsulation, ipsecSaIpcompInDecompAlg, ipsecSaIpcompInSeconds, ipsecSaIpcompInInputOctets, ipsecSaIpcompInUserOctets, ipsecSaIpcompInUserPackets, ipsecSaIpcompInCompressedPackets, ipsecSaIpcompInCompressedOctets, ipsecSaIpcompInDecompErrors, ipsecSaIpcompInOtherReceiveErrors, -- ipsecSaIpcompOutAddressType, ipsecSaIpcompOutAddress, -- ipsecSaIpcompOutCpi, ipsecSaIpcompOutSelector, ipsecSaIpcompOutCreator, ipsecSaIpcompOutEncapsulation, ipsecSaIpcompOutCompAlg, ipsecSaIpcompOutSeconds, ipsecSaIpcompOutUserOctets, ipsecSaIpcompOutOutputOctets, ipsecSaIpcompOutUserPackets, ipsecSaIpcompOutCompressedPackets, ipsecSaIpcompOutCompressedOctets, ipsecIpcompCurrentInboundSAs, ipsecIpcompTotalInboundSAs, ipsecIpcompCurrentOutboundSAs, ipsecIpcompTotalOutboundSAs } STATUS current DESCRIPTION "A collection of objects that describe the state of the security associations of the IPcomp protocol." ::= { saGroups 4 } ipsecSaErrorsGroup OBJECT-GROUP OBJECTS { ipsecDecryptionErrors, ipsecAuthenticationErrors, ipsecReplayErrors, ipsecPolicyErrors, ipsecOtherReceiveErrors, ipsecUnknownSpiErrors, ipsecSendErrors } STATUS current DESCRIPTION "A collection of objects providing global IPsec error counters." ::= { saGroups 5 } ipsecSaFailureTrapEnableGroup OBJECT-GROUP OBJECTS { espAuthFailureTrapEnable, ahAuthFailureTrapEnable, espReplayFailureTrapEnable, ahReplayFailureTrapEnable, espPolicyFailureTrapEnable, ahPolicyFailureTrapEnable, invalidSpiTrapEnable, otherPolicyFailureTrapEnable } STATUS current DESCRIPTION "A collection of objects providing control over trap generation." ::= { saGroups 6 } ipsecSaTrapArgumentGroup OBJECT-GROUP OBJECTS { ipsecSecurityProtocol, ipsecSPI, ipsecLocalAddressType, ipsecLocalAddress, ipsecPeerAddressType, ipsecPeerAddress } STATUS current DESCRIPTION "A collection of objects used only as arguments in traps." ::= { saGroups 7 } ipsecSaEspReplayGroup OBJECT-GROUP OBJECTS { ipsecSaEspReplaysBeyondWindow, ipsecSaEspReplaysOutOfOrder, ipsecSaEspReplaysBeforeWindow, ipsecSaEspReplaysDuplicate, ipsecSaEspReplaysZero } STATUS current DESCRIPTION "A collection of objects used to monitor anti-replay events on inbound ESP SAs." ::= { saGroups 8 } ipsecSaAhReplayGroup OBJECT-GROUP OBJECTS { ipsecSaAhReplaysBeyondWindow, ipsecSaAhReplaysOutOfOrder, ipsecSaAhReplaysBeforeWindow, ipsecSaAhReplaysDuplicate, ipsecSaAhReplaysZero } STATUS current DESCRIPTION "A collection of objects used to monitor anti-replay events on inbound AH SAs." ::= { saGroups 9 } ipsecSaFailureTrapGroup NOTIFICATION-GROUP NOTIFICATIONS { espAuthFailureTrap, ahAuthFailureTrap, espReplayFailureTrap, ahReplayFailureTrap, espPolicyFailureTrap, ahPolicyFailureTrap, espInvalidSpiTrap, otherPolicyFailureTrap } STATUS current DESCRIPTION "A collection of traps." ::= { saGroups 10 } -- -- Compliance statements -- ipsecSaMonitorCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the IPsec Monitoring MIB." MODULE -- this module MANDATORY-GROUPS { selectorGroup, ipsecSaEspGroup, ipsecSaAhGroup, ipsecSaErrorsGroup, ipsecSaFailureTrapEnableGroup, ipsecSaTrapArgumentGroup, ipsecSaFailureTrapGroup } -- Anti-replay monitoring tables are optional GROUP ipsecSaEspReplayGroup DESCRIPTION "This group is optional, to be implemented on those systems which want to provide detailed counters for specific unusual and error events in the anti-replay monitoring function for ESP SAs." GROUP ipsecSaAhReplayGroup DESCRIPTION "This group is optional, to be implemented on those systems which want to provide detailed counters for specific unusual and error events in the anti-replay monitoring function for AH SAs." GROUP ipsecSaIpcompGroup DESCRIPTION "This group is mandatory only for those systems that implement the IPcomp protocol as a part of the IPsec suite." -- DNS names support is not required -- Authors' note: The following statements are commented out, -- since the current SMI does not allow objects with a -- MAX-ACCESS clause of not-accessible to be put in groups, -- and objects that are not in groups cannot be in -- compliance statements. -- OBJECT ipsecSaEspInAddressType -- SYNTAX INTEGER { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses." -- OBJECT ipsecSaAhInAddressType -- SYNTAX INTEGER { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses." -- OBJECT ipsecSaIpcompInAddressType -- SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses. Also, if it supports IPcomp SAs, -- it must be able to support an unknown address type -- for IPcomp SAs that may be shared across security -- association suites." -- OBJECT ipsecSaEspOutAddressType -- SYNTAX INTEGER { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses." -- OBJECT ipsecSaAhOutAddressType -- SYNTAX INTEGER { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses." -- OBJECT ipsecSaIpcompOutAddressType -- SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses. Also, if it supports IPcomp SAs, -- it must be able to support an unknown address type -- for IPcomp SAs that may be shared across security -- association suites." -- OBJECT ipsecLocalAddressType -- SYNTAX INTEGER { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses." -- OBJECT ipsecPeerAddressType -- SYNTAX INTEGER { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is only required to support IPv4 -- and IPv6 addresses." -- Allow all the trap controls to be read-only OBJECT espAuthFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT ahAuthFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT espReplayFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT ahReplayFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT espPolicyFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT ahPolicyFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT invalidSpiTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." OBJECT otherPolicyFailureTrapEnable MIN-ACCESS read-only DESCRIPTION "If an implementation cannot properly secure this variable against unauthorized write access, it SHOULD implement it as read-only, to prevent the security risk of enabling the traps. Of course, there must be other means of controlling the generation of the associated trap." ::= { saConformance 1 } END 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. 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 was begun and mostly developed by Tim Jenkins and John Shriver. The editor listed for this document (Paul Hoffman) only sheparded the last steps before final publication. 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. Contribution to the IPsec MIB series of documents comes from D. McDonald, M. Baugher, C. Brooks, C. Powell, M. Daniele, T. Kivinen, J. Walker, S. Kelly, J. Leonard, M. Richardson, R. Charlet, S. Waters, M. Zallocco, R. Murphy and others participating in the IPsec WG. 8. References 8.1 Normative references [ADDRMIB] Daniele, M., Haberman, B., Routhier, S., Schoenwaelder, J., "Textual Conventions for Internet Network Addresses", RFC 2851, June, 2000 [IGMIB] McCloghrie, K., Kastenholz, F., "The Interfaces Group MIB using SMIv2", RFC2233 [IPSECTC] Shriver, J., "IPsec DOI Textual Conventions MIB, draft-ietf-ipsec-doi-tc-mib-05, work in progress [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990 [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, 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 [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [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. [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. [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 [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999 [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 [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, 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 [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 [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 8.2 Non-normative references [AH] Kent, S., Atkinson, R., "IP Authentication Header", RFC 2402, November 1998 [ESP] Kent, S., Atkinson, R., "IP Encapsulating Security Payload (ESP)", RFC 2406, November 1998 [IKE] Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)", RFC 2409, November 1998 [IPCOMP]Shacham, A., Monsour, R., Pereira, R., Thomas, M., "IP Payload Compression Protocol (IPcomp)", RFC 3173, September 2001 [IPDOI] Piper, D., "The Internet IP Security Domain of Interpretation for ISAKMP", RFC 2407, November 1998 [ISAKMP]Maughan, D., Schertler, M., Schneider, M., and Turner, J., "Internet Security Association and Key Management Protocol (ISAKMP)", RFC 2408, November 1998 [SECARCH] Kent, S., Atkinson, R., "Security Architecture for the Internet Protocol", RFC 2401, November 1998 A. Changes from -05 to -06 [[ To be removed when published as an RFC ]] - Changed the authors' names to the editor's name. - Added acknowledgement for the original authors. - Minor formatting changes. - Split the references into normative and non-normative. NOTE: There are still lines that talk about things that need to be changed before release of the RFC (search for "release").