-- ***************************************************************** -- DLINKES-SSH-MIB.mib : Secure Shell MIB -- -- Copyright (c) 2013 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-SSH-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32 FROM SNMPv2-SMI RowStatus, TimeStamp,TruthValue,DisplayString FROM SNMPv2-TC OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InetAddressType,InetAddress FROM INET-ADDRESS-MIB InterfaceIndexOrZero FROM IF-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsSshMIB MODULE-IDENTITY LAST-UPDATED "201707100000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for Secure Shell (SSH)." REVISION "201707100000Z" DESCRIPTION "This is the first version of the MIB file for 'SSH' functionality. " ::= { dlinkCommon 17 } -- ----------------------------------------------------------------------------- esSshNotifications OBJECT IDENTIFIER ::= { dlinkEsSshMIB 0 } esSshObjects OBJECT IDENTIFIER ::= { dlinkEsSshMIB 1 } esSshConformance OBJECT IDENTIFIER ::= { dlinkEsSshMIB 2 } -- ----------------------------------------------------------------------------- esSshGeneral OBJECT IDENTIFIER ::= { esSshObjects 1 } esSshEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object enables or disables Secure Shell (SSH) service." DEFVAL { false } ::= { esSshGeneral 1 } esSshVersion OBJECT-TYPE SYNTAX INTEGER { v1(1), v2(2), v1v2(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The version of SSH is running on the switch. The version that is currently supported is v2." ::= { esSshGeneral 2 } esSshTimeout OBJECT-TYPE SYNTAX Integer32 (30..600) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The time interval that the switch waits for the SSH client to respond during the SSH negotiation phase." DEFVAL { 120 } ::= { esSshGeneral 3 } esSshAuthenticationRetries OBJECT-TYPE SYNTAX Integer32 (1..32) MAX-ACCESS read-write STATUS current DESCRIPTION "The number of authentication attempts after the session has reset or authentication failed." DEFVAL { 3 } ::= { esSshGeneral 4 } esSshServicePort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the service port, such as 22, which Secure Shell (SSH) needs to connect to." DEFVAL { 22 } ::= { esSshGeneral 5 } esSshSrcIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the ifIdex value of the source source address of SSH packets that initiates a SSH connection. The value of this object should be a valid 'ifIndex' value. The value of this object being 'zero' implies that the IP address of the closest interface will be used." DEFVAL {0} ::= { esSshGeneral 6 } -- ----------------------------------------------------------------------------- esSshKeyConfiguration OBJECT IDENTIFIER ::= { esSshObjects 2 } esSshCryptoKeyPairTable OBJECT-TYPE SYNTAX SEQUENCE OF EsSshCryptoKeyPairEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "esSshCryptokeyTable is a table that lets the user configure the SSH keys" ::= { esSshKeyConfiguration 1 } esSshCryptoKeyPairEntry OBJECT-TYPE SYNTAX EsSshCryptoKeyPairEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A SSH key table entry. The index specifies which protocol the user wants to generate the key for. An entry is created/removed when a key pair for a specific protocol is generated or deleted via CLI or by issuing appropriate sets to this table using snmp. To replace the existing key for a protocol 1. Specify the Protocol: esSshCryptoKeyPairIndex 2. Specify the modulus size of the key pair(s): esSshCryptoKeyPairNBits 3. Set esSshCryptoKeyPairReplace as true(1)." INDEX { esSshCryptoKeyPairIndex } ::= { esSshCryptoKeyPairTable 1 } EsSshCryptoKeyPairEntry ::= SEQUENCE { esSshCryptoKeyPairIndex INTEGER, esSshCryptoKeyPairNBits Integer32, esSshCryptoKeyPairReplace TruthValue, esSshCryptoKeyPairLastCreateTime TimeStamp, esSshCryptoKeyPairString DisplayString, esSshCryptoKeyPairRowStatus RowStatus } esSshCryptoKeyPairIndex OBJECT-TYPE SYNTAX INTEGER { rsa(1), dsa(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SSH Protocol Identifier for which this entry pertains to. rsa - A public-key cryptosystem defined by Rivest, Shamir and Adleman. dsa - Digital Signature Algorithm, a public key cipher used to generate digital signatures." ::= { esSshCryptoKeyPairEntry 1 } esSshCryptoKeyPairNBits OBJECT-TYPE SYNTAX Integer32 (360|512|768|1024|2048) MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the modulus size of the key pair(s): For RSA, the valid values are 360, 512, 768, 1024, and 2048. For DSA, the valid value is fixed as 1024. For SSH version 2, the minimum recommended key size is 768 bits. A key size with a larger number provides higher security but takes longer to generate. This object cannot be modified while this row is active, unless the associated esSshCryptoKeyPairReplace object is set to True in the same Set PDU." ::= { esSshCryptoKeyPairEntry 2 } esSshCryptoKeyPairReplace OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies whether a new key should replace an existing key for the protocol. No action is taken if this object is set to 'false'. The value of this object when read is always 'false'." ::= { esSshCryptoKeyPairEntry 3 } esSshCryptoKeyPairLastCreateTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The time of the last creation of the key." ::= { esSshCryptoKeyPairEntry 4 } esSshCryptoKeyPairString OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The generated SSH public key string." ::= { esSshCryptoKeyPairEntry 6 } esSshCryptoKeyPairRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Status of this SSH key pair." ::= { esSshCryptoKeyPairEntry 99 } esSshCryptoKeyGenerationStatus OBJECT-TYPE SYNTAX INTEGER { inProgress(1), successful(2), failed(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the status of the last key generation request." ::= { esSshKeyConfiguration 2 } -- ----------------------------------------------------------------------------- esSshConnectionTable OBJECT-TYPE SYNTAX SEQUENCE OF EsSshConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to display the status of Secure Shell (SSH) server connections." ::= { esSshObjects 3 } esSshConnectionEntry OBJECT-TYPE SYNTAX EsSshConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the esSshConnectionTable object." INDEX { esSshConnectionSID } ::= { esSshConnectionTable 1 } EsSshConnectionEntry ::= SEQUENCE { esSshConnectionSID Integer32, esSshConnectionVersion INTEGER, esSshConnectionCipher DisplayString, esSshConnectionUserID DisplayString, esSshConnectionHostAddrType InetAddressType, esSshConnectionHostAddr InetAddress } esSshConnectionSID OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique number that identifies the SSH session." ::= { esSshConnectionEntry 1 } esSshConnectionVersion OBJECT-TYPE SYNTAX INTEGER { v1(1), v2(2), v1v2(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The protocol version number that the SSH client supports." ::= { esSshConnectionEntry 2 } esSshConnectionCipher OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The crypto/Hashed Message Authentication Code (HMAC) algorithm that the SSH client is using." ::= { esSshConnectionEntry 3 } esSshConnectionUserID OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The login username that has been authenticated for the session." ::= { esSshConnectionEntry 4 } esSshConnectionHostAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of Internet address for client establised this session." ::= { esSshConnectionEntry 5 } esSshConnectionHostAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Internet address assigned for client establised this session." ::= { esSshConnectionEntry 6 } -- ----------------------------------------------------------------------------- esSshUserTable OBJECT-TYPE SYNTAX SEQUENCE OF EsSshUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists all users and their corresponding authentication methods through which SSH client can login." ::= { esSshObjects 4 } esSshUserEntry OBJECT-TYPE SYNTAX EsSshUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the esSshUserTable." INDEX { esSshUserName } ::= { esSshUserTable 1 } EsSshUserEntry ::= SEQUENCE { esSshUserName SnmpAdminString, esSshUserAuthMethod INTEGER, esSshUserKeyFilename SnmpAdminString, esSshUserHostName DisplayString, esSshUserHostAddrType InetAddressType, esSshUserHostAddr InetAddress, esSshUserStat TruthValue } esSshUserName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the name of SSH user." ::= { esSshUserEntry 1 } esSshUserAuthMethod OBJECT-TYPE SYNTAX INTEGER { password(1), publickey(2), hostbased(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the authentication method for this user account. 'password' - use password authentication method for this user account. 'publickey' - use public key authentication method for this user account. 'hostbased' - use host-based authentication method for this user account. " DEFVAL { password } ::= { esSshUserEntry 2 } esSshUserKeyFilename OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the name of the file storing the SSH public key. The SSH public key is used to authenticate the SSH session for this user. If esSshUserAuthMethod is 'publickey', this object refers to user's public key. If esSshUserAuthMethod is 'hostbased', this object refers to client's host key. If esSshUserAuthMethod is 'password', the value of this object will be ignored and a zero-length string is always returned when read." ::= { esSshUserEntry 3 } esSshUserHostName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "The host name of the SSH client. This object is only valid for host-based authentication method. For password and public key authentication method, a zero-length string is always returned when read. " ::= { esSshUserEntry 4 } esSshUserHostAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-write STATUS current DESCRIPTION "The host address type of the SSH client. This object is only valid for host-based authentication method. For password and publickey authentication method, unknown(0) is always returned when read. " ::= { esSshUserEntry 5 } esSshUserHostAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The host address of the SSH client. This object is only valid for host-based authentication method. For password and public key authentication method, a zero-length string is always returned when read. " ::= { esSshUserEntry 6 } esSshUserStat OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Status of this SSH user entry. When read, false(0) is always returned. If administrator wants to modify the authentication method for a specific user account, setting true(1) for this node after corresponding parameters are configured: For password, there is no need to specify more parameters. For publickey, esSshUserKeyFilename must be specified. For hostbased, esSshUserKeyFilename and esSshUserHostName must be specified, but parameters esSshUserHostAddrType and esSshUserHostAddr are optional. " ::= { esSshUserEntry 99 } -- Conformance esSshCompliances OBJECT IDENTIFIER ::= { esSshConformance 1 } esSshGroups OBJECT IDENTIFIER ::= { esSshConformance 2 } esSshCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the DLINKES-SSH-MIB." MODULE MANDATORY-GROUPS { esSshConfigGroup } OBJECT esSshSrcIfIndex MIN-ACCESS read-only DESCRIPTION "It is compliant to implement this object as read-only. Support for configurable source interface is only required on the platform which supports SSH client." GROUP esSshUserGroup DESCRIPTION "This group is mandatory only for the platform which supports configuring SSH authentication method for a user account." ::= { esSshCompliances 1 } esSshConfigGroup OBJECT-GROUP OBJECTS { esSshEnabled, esSshVersion, esSshTimeout, esSshAuthenticationRetries, esSshServicePort, esSshSrcIfIndex, esSshCryptoKeyPairNBits, esSshCryptoKeyPairReplace, esSshCryptoKeyPairLastCreateTime, esSshCryptoKeyPairRowStatus, esSshCryptoKeyPairString, esSshCryptoKeyGenerationStatus } STATUS current DESCRIPTION "A collection of objects for SSH configuration." ::= { esSshGroups 1 } esSshConnectionGroup OBJECT-GROUP OBJECTS { esSshConnectionVersion, esSshConnectionCipher, esSshConnectionUserID, esSshConnectionHostAddrType, esSshConnectionHostAddr } STATUS current DESCRIPTION "A collection of objects to display SSH connection related information." ::= { esSshGroups 2 } esSshUserGroup OBJECT-GROUP OBJECTS { esSshUserAuthMethod, esSshUserKeyFilename, esSshUserHostName, esSshUserHostAddrType, esSshUserHostAddr } STATUS current DESCRIPTION "A collection of objects related to SSH users." ::= { esSshGroups 3 } END