ELTEX-MES-SSH-MIB DEFINITIONS ::= BEGIN

-- Title:      Eltex MES SSH configuration
-- Version:    1.0
-- Date:       13-Jul-2018

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32    FROM SNMPv2-SMI
    TruthValue                                  FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    eltMes                                      FROM ELTEX-MES
    rlSshServerSessionInetTableEntry            FROM RADLAN-SSH-MIB; 

eltMesSsh MODULE-IDENTITY
                LAST-UPDATED "201709070000Z"
                ORGANIZATION "Eltex Enterprise Co, Ltd."
                CONTACT-INFO
                      "www.eltex-co.ru"
                DESCRIPTION
                      "Initial revision."
        ::= { eltMes 15 }

--
-- MIB Groups
--

eltMesSshServer OBJECT IDENTIFIER ::= { eltMesSsh 1 }
eltMesSshClient OBJECT IDENTIFIER ::= { eltMesSsh 2 }
eltMesScpServer OBJECT IDENTIFIER ::= { eltMesSsh 3 }

eltMesSshServerNotifications OBJECT IDENTIFIER ::= { eltMesSshServer 0 }
eltMesSshServerConfig        OBJECT IDENTIFIER ::= { eltMesSshServer 1 }
eltMesSshServerStatus        OBJECT IDENTIFIER ::= { eltMesSshServer 2 }

eltMesScpServerConfig        OBJECT IDENTIFIER ::= { eltMesScpServer 1 }

eltSshServerCipherList OBJECT-TYPE
    SYNTAX             BITS {
                           triple-des(0),
                           aes128(1),
                           aes192(2),
                           aes256(3),
                           arcfour(4),
                           none(5),
                           aes128-ctr(6),
                           aes192-ctr(7),
                           aes256-ctr(8),
                           aes128-gcm-openssh(9),
                           aes256-gcm-openssh(10),
                           chacha20-poly1305-openssh(11)
                       }
    MAX-ACCESS         read-write
    STATUS             current
    DEFVAL             { { triple-des, aes128, aes192, aes256, arcfour, aes128-ctr, 
                           aes192-ctr, aes256-ctr, aes128-gcm-openssh, aes256-gcm-openssh, 
                           chacha20-poly1305-openssh } }
    DESCRIPTION
        "Indicates cipher algorithms that allowed
        to use for connection by SSH." 
    ::= { eltMesSshServerConfig 1 }

eltSshServerKexList OBJECT-TYPE
    SYNTAX          BITS {
                        dh-group-exchange-sha1(0),
                        dh-group1-sha1(1),
                        curve25519-sha256-libssh(2),
                        diffie-hellman-group-exchange-sha256(3),
                        diffie-hellman-group16-sha512(4),
                        diffie-hellman-group18-sha512(5),
                        diffie-hellman-group14-sha256(6),
                        diffie-hellman-group14-sha1(7)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DEFVAL          { { dh-group-exchange-sha1, dh-group1-sha1, curve25519-sha256-libssh,
                        diffie-hellman-group-exchange-sha256, diffie-hellman-group16-sha512,
                        diffie-hellman-group18-sha512, diffie-hellman-group14-sha256,
                        diffie-hellman-group14-sha1 } }
    DESCRIPTION
        "Indicates key exchange algorithms that allowed
        to use for connection by SSH." 
    ::= { eltMesSshServerConfig 2 }

eltSshServerRegenerateHostKeySize OBJECT-TYPE
    SYNTAX      INTEGER (2048..4096)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the size of Server (Host) key regenerated by 
         the rlSshServerRegenerateHostKey scalar. To generate
         a key with custom size, specify it before setting a value
         to the rlSshServerRegenerateHostKey.
    
         The key size can be set only for RSA key algorithm.
         If 'DSA' value is set to the rlSshServerRegenerateHostKey,
         a key with the default key size (2048 bits) will be generated."
    DEFVAL  { 2048 }
    ::= { eltMesSshServerConfig 3 }

eltSshServerMriTable   OBJECT-TYPE
    SYNTAX             SEQUENCE OF EltSshServerMriTableEntry
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION        "A list of MRID on which the ssh-server is running"
    ::= { eltMesSshServerConfig 4 }

eltSshServerMriTableEntry   OBJECT-TYPE
    SYNTAX             EltSshServerMriTableEntry
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION        "An entry of MRID on which the ssh server is running"
    INDEX              { eltSshServerMriId }
    ::= { eltSshServerMriTable 1}

EltSshServerMriTableEntry   ::= SEQUENCE {
    eltSshServerMriId           Unsigned32,
    eltSshServerMriEnable       TruthValue
}

eltSshServerMriId      OBJECT-TYPE
    SYNTAX             Unsigned32
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION        "The ID of MRID"
    ::= { eltSshServerMriTableEntry 1 }

eltSshServerMriEnable       OBJECT-TYPE
    SYNTAX                  TruthValue
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION             "Status ssh server in this MRID"
    DEFVAL                  { false }
    ::= { eltSshServerMriTableEntry 2 }

eltSshServerSessionInetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltSshServerSessionInetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Each row in this table corresponds to an active SSH session with the server"
    ::= { eltMesSshServerStatus 1 }

eltSshServerSessionInetEntry OBJECT-TYPE
    SYNTAX      EltSshServerSessionInetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The row definition for this table."
    AUGMENTS    { rlSshServerSessionInetTableEntry }
    ::= { eltSshServerSessionInetTable 1 }

EltSshServerSessionInetEntry ::= SEQUENCE {
    eltSshServerSessionInetMrid  Unsigned32
}

eltSshServerSessionInetMrid OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "Indicates which MRID the session is running in."
    ::= { eltSshServerSessionInetEntry 1 }

eltScpServerEnable OBJECT-TYPE
   SYNTAX       TruthValue
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies whether Secure Copy Server enabled."
   DEFVAL  { false }
   ::= { eltMesScpServerConfig 1 }

END
