La configuración de codificación de conexiones SNMP

26 de abril de 2024

ID 222536

Las aplicaciones de terceros podrían tener acceso a los datos enviados en SNMP o reemplazarlos con sus propios datos. Para garantizar la seguridad de la transferencia de datos en SNMP, se recomienda configurar el cifrado de las conexiones SNMP.

Para configurar la codificación de conexiones SNMP:

  1. Añada la línea siguiente al archivo /etc/snmp/snmpd.conf:

    view systemview included .1

  2. Obtenga una EngineID, que es necesaria para procesar las capturas SNMP. Para hacerlo, ejecute el siguiente comando en cada servidor del clúster:

    snmpget -v2c -c<nombre de la comunidad> 127.0.0.1 SNMP-FRAMEWORK-MIB::snmpEngineID.0 2>/dev/null | sed -ne 's/ //g; s/.*:/0x/p'

    Especifique el nombre de la comunidad que se utiliza en su organización. Si es necesario, cree una nueva comunidad. Por motivos de seguridad en la transferencia de datos, no se recomienda utilizar la comunidad "pública" predeterminada.

    Antes de ejecutar el comando, asegúrese de que se esté ejecutando el servicio snmpd.

  3. Configure el servicio snmpd en cada servidor del clúster. Para hacerlo:
    1. Detenga el servicio snmpd. Para hacerlo, ejecute el comando siguiente:

      systemctl stop snmpd

    2. Cree un nuevo usuario. Para hacerlo, ejecute el comando siguiente:

      net-snmp-create-v3-user -ro -a SHA -A <contraseña> -x <contraseña> -X AES <nombre de usuario>

    3. Añada las cadenas siguientes al archivo de configuración /etc/snmp/snmpd.conf:

      # acepte las estadísticas de KSMG en el socket unix

      master agentx

      agentXSocket unix:/var/run/agentx-master.socket

      agentXPerms 770 770 kluser klusers

      # acepte las solicitudes de SNMP de entrada en UDP

      agentAddress udp:127.0.0.1:161

      rouser <nombre de usuario> priv .1.3.6.1

      # comente la siguiente línea si no necesita reenviar capturas SNMP en la conexión SNMPv3

      trapsess -e <EngineID> -v3 -l authPriv -u <nombre de usuario> -a SHA -A <contraseña> -x AES -X <contraseña> udp:<dirección IP>:162

      Para <dirección IP>, indique la dirección IP que utilizará el servicio snmptrapd para aceptar las conexiones de red. Si desea guardar las capturas SNMP a nivel local en el servidor, introduzca 127.0.0.1.

    4. Añada las cadenas siguientes al archivo de configuración /etc/snmp/snmp.conf:

      mibdirs +/opt/kaspersky/ksmg/share/snmp-mibs/

      mibs all

      Si el archivo de configuración snmp.conf no existe en el directorio especificado, créelo.

    5. Inicie el servicio snmpd. Para hacerlo, ejecute el comando siguiente:

      systemctl start snmpd

    6. Compruebe la conexión de SNMP. Para hacerlo, ejecute los siguientes comandos:

      snmpwalk -mALL -v3 -l authPriv -u <nombre de usuario> -a SHA -A <contraseña> -x AES -X <contraseña> udp:127.0.0.1:161 .1.3.6.1.4.1.23668

      snmpget -v3 -l authPriv -u <nombre de usuario> -a SHA -A <contraseña> -x AES -X <contraseña> udp:127.0.0.1:161 KSMG-PRODUCTINFO-STATISTICS::applicationName.0

  4. Configure el servicio snmptrapd en el servidor donde desea recibir las capturas de SNMP. Para hacerlo:
    1. Detenga el servicio snmptrapd con el siguiente comando:

      systemctl stop snmptrapd

    2. Añada la siguiente línea al archivo /var/lib/net-snmp/snmptrapd.conf:

      createUser -e <EngineID> <nombre de usuario> SHA "<contraseña>" AES "<contraseña>"

      Si un archivo de configuración snmptrapd.conf no existe en el directorio especificado, créelo.

      Las credenciales de la cuenta de usuario (<nombre de usuario> y <contraseña>) deben ser las mismas para los servicios snmpd y snmptrapd.

    3. Añada las cadenas siguientes al archivo de configuración /etc/snmp/snmptrapd.conf:

      snmpTrapdAddr udp:<dirección IP>:162

      authUser log <nombre de usuario> priv

      disableAuthorization no

      Si un archivo de configuración snmptrapd.conf no existe en el directorio especificado, créelo.

    4. Inicie el servicio snmptrapd. Para hacerlo, ejecute el comando siguiente:

      systemctl start snmptrapd

      Asegúrese de que la contraseña que se indicó en texto sin formato en el archivo /var/lib/net-snmp/snmptrapd.conf se haya reemplazado por una secuencia de caracteres confusa. Para hacerlo, es posible que deba reiniciar el servicio snmptrapd varias veces mediante el uso del comando systemctl restart snmptrapd.

    5. Añada el servicio snmptrapd para el inicio automático. Para hacerlo, ejecute el comando siguiente:

      systemctl enable snmptrapd

    6. Compruebe la conexión SNMP mediante la ejecución del siguiente comando:

      snmptrap -e <EngineID> -v3 -l authPriv -u <nombre de usuario> -a SHA -A <contraseña> -x AES -X <contraseña> udp:<dirección IP>:162 0 KSMG-EVENTS-MIB::restartedBinary

      Asegúrese de que aparezca la siguiente cadena en el archivo /var/log/messages:

      <fecha y hora> <nombre de host> snmptrapd[7503]: <fecha y hora> localhost [UDP: [127.0.0.1]:26325->[<dirección IP>]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (0) 0:00:00.00#011SNMPv2-MIB::snmpTrapOID.0 = OID: KSMG-EVENTS-MIB::restartedBinary

    Para <dirección IP>, indique la dirección IP que utilizará el servicio snmptrapd para aceptar las conexiones de red. Si desea guardar las capturas SNMP a nivel local en el servidor, introduzca 127.0.0.1.

Ya se configuró el cifrado de conexiones de SNMP.

¿Le ha resultado útil este artículo?
¿Qué podemos mejorar?
¡Gracias por darnos su opinión! Nos está ayudando a mejorar.
¡Gracias por darnos su opinión! Nos está ayudando a mejorar.