Monitoreo de equipos de red vía SNMPv3 en Zabbix

Este artículo está dedicado a las características de monitoreo de equipos de red utilizando el protocolo SNMPv3. Hablaremos sobre SNMPv3, compartiré mi experiencia en la creación de plantillas completas en Zabbix y mostraré lo que se puede lograr al organizar alertas distribuidas en una red grande. El protocolo SNMP es el principal a la hora de monitorear equipos de red, y Zabbix es excelente para monitorear una gran cantidad de objetos y resumir grandes volúmenes de métricas entrantes.

Algunas palabras sobre SNMPv3

Comencemos con el propósito del protocolo SNMPv3 y las características de su uso. Las tareas de SNMP son monitorear los dispositivos de red y la administración básica enviándoles comandos simples (por ejemplo, habilitar y deshabilitar interfaces de red o reiniciar el dispositivo).

La principal diferencia entre el protocolo SNMPv3 y sus versiones anteriores son las funciones de seguridad clásicas [1-3], a saber:

  • Autenticación, que determina que la solicitud se recibió de una fuente confiable;
  • cifrado (Cifrado), para evitar la divulgación de los datos transmitidos cuando sean interceptados por terceros;
  • integridad, es decir, una garantía de que el paquete no ha sido manipulado durante la transmisión.

SNMPv3 implica el uso de un modelo de seguridad en el que la estrategia de autenticación se establece para un usuario determinado y el grupo al que pertenece (en versiones anteriores de SNMP, la solicitud del servidor al objeto de monitoreo se comparaba solo con "comunidad", un texto cadena con una “contraseña” transmitida en texto claro (texto sin formato)).

SNMPv3 introduce el concepto de niveles de seguridad: niveles de seguridad aceptables que determinan la configuración del equipo y el comportamiento del agente SNMP del objeto de monitoreo. La combinación de modelo de seguridad y nivel de seguridad determina qué mecanismo de seguridad se utiliza al procesar un paquete SNMP [4].

La tabla describe combinaciones de modelos y niveles de seguridad SNMPv3 (decidí dejar las primeras tres columnas como en el original):

Monitoreo de equipos de red vía SNMPv3 en Zabbix

En consecuencia, utilizaremos SNMPv3 en modo de autenticación mediante cifrado.

Configuración de SNMPv3

El equipo de la red de monitoreo requiere la misma configuración del protocolo SNMPv3 tanto en el servidor de monitoreo como en el objeto monitoreado.

Comencemos con la configuración de un dispositivo de red Cisco, su configuración mínima requerida es la siguiente (para la configuración usamos la CLI, simplifiqué los nombres y contraseñas para evitar confusiones):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

La primera línea grupo de servidores snmp: define el grupo de usuarios SNMPv3 (snmpv3group), el modo de lectura (lectura) y el derecho de acceso del grupo snmpv3group para ver ciertas ramas del árbol MIB del objeto de monitoreo (snmpv3name luego en el La configuración especifica a qué ramas del árbol MIB puede acceder el grupo (snmpv3group podrá acceder).

La segunda línea usuario del servidor snmp: define el usuario snmpv3user, su membresía en el grupo snmpv3group, así como el uso de la autenticación md5 (la contraseña para md5 es md5v3v3v3) y el cifrado des (la contraseña para des es des56v3v3v3). Por supuesto, es mejor usar aes en lugar de des; lo pongo aquí sólo como ejemplo. Además, al definir un usuario, puede agregar una lista de acceso (ACL) que regule las direcciones IP de los servidores de monitoreo que tienen derecho a monitorear este dispositivo; esta también es una buena práctica, pero no complicaré nuestro ejemplo.

La vista del servidor snmp de tercera línea define un nombre de código que especifica las ramas del árbol MIB snmpv3name para que puedan ser consultadas por el grupo de usuarios snmpv3group. ISO, en lugar de definir estrictamente una única rama, permite que el grupo de usuarios snmpv3group acceda a todos los objetos en el árbol MIB del objeto de monitoreo.

Una configuración similar para equipos Huawei (también en la CLI) se ve así:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Después de configurar los dispositivos de red, debe verificar el acceso desde el servidor de monitoreo a través del protocolo SNMPv3; yo usaré snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Una herramienta más visual para solicitar objetos OID específicos utilizando archivos MIB es snmpget:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Ahora pasemos a configurar un elemento de datos típico para SNMPv3, dentro de la plantilla Zabbix. Por simplicidad e independencia de MIB, utilizo OID digitales:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Utilizo macros personalizadas en campos clave porque serán las mismas para todos los elementos de datos de la plantilla. Puede configurarlos dentro de una plantilla, si todos los dispositivos de red en su red tienen los mismos parámetros SNMPv3, o dentro de un nodo de red, si los parámetros SNMPv3 para diferentes objetos de monitoreo son diferentes:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Tenga en cuenta que el sistema de monitoreo solo tiene un nombre de usuario y contraseñas para autenticación y cifrado. El grupo de usuarios y el alcance de los objetos MIB a los que se permite el acceso se especifican en el objeto de supervisión.
Ahora pasemos a completar la plantilla.

Plantilla de encuesta de Zabbix

Una regla simple al crear plantillas de encuestas es hacerlas lo más detalladas posible:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Presto mucha atención al inventario para que sea más fácil trabajar con una red grande. Más sobre esto un poco más adelante, pero por ahora – desencadenantes:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Para facilitar la visualización de los activadores, las macros del sistema {HOST.CONN} se incluyen en sus nombres para que no solo los nombres de los dispositivos, sino también las direcciones IP se muestren en el panel de control en la sección de alertas, aunque esto es más una cuestión de conveniencia que de necesidad. . Para determinar si un dispositivo no está disponible, además de la solicitud de eco habitual, utilizo una verificación de indisponibilidad del host utilizando el protocolo SNMP, cuando se puede acceder al objeto a través de ICMP pero no responde a las solicitudes SNMP; esta situación es posible, por ejemplo , cuando las direcciones IP están duplicadas en diferentes dispositivos, debido a firewalls configurados incorrectamente o configuraciones SNMP incorrectas en los objetos de monitoreo. Si utiliza la verificación de disponibilidad del host solo a través de ICMP, al momento de investigar incidentes en la red, es posible que los datos de monitoreo no estén disponibles, por lo que se debe monitorear su recepción.

Pasemos a la detección de interfaces de red; para los equipos de red, esta es la función de monitoreo más importante. Dado que puede haber cientos de interfaces en un dispositivo de red, es necesario filtrar las innecesarias para no saturar la visualización ni la base de datos.

Estoy usando la función de descubrimiento SNMP estándar, con más parámetros reconocibles, para un filtrado más flexible:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Con este descubrimiento, puede filtrar las interfaces de red por tipos, descripciones personalizadas y estados de puertos administrativos. Los filtros y expresiones regulares para filtrar en mi caso se ven así:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Si se detectan, se excluirán las siguientes interfaces:

  • deshabilitado manualmente (adminstatus<>1), gracias a IFADMINSTATUS;
  • sin descripción en texto, gracias a IFALIAS;
  • teniendo el símbolo * en la descripción del texto, gracias a IFALIAS;
  • que son de servicio o técnicos, gracias a IFDESCR (en mi caso, en las expresiones regulares IFALIAS e IFDESCR se verifican mediante un alias de expresión regular).

La plantilla para recopilar datos mediante el protocolo SNMPv3 está casi lista. No nos detendremos en más detalles sobre los prototipos de elementos de datos para interfaces de red; pasemos a los resultados.

Resultados del seguimiento

Para empezar, haga un inventario de una red pequeña:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Si prepara plantillas para cada serie de dispositivos de red, puede lograr un diseño fácil de analizar de datos resumidos sobre el software actual, números de serie y notificación de un limpiador que llega al servidor (debido al bajo tiempo de actividad). A continuación se muestra un extracto de mi lista de plantillas:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Y ahora, el panel de seguimiento principal, con activadores distribuidos por nivel de gravedad:

Monitoreo de equipos de red vía SNMPv3 en Zabbix

Gracias a un enfoque integrado de plantillas para cada modelo de dispositivo en la red, es posible garantizar que, en el marco de un sistema de monitoreo, se organizará una herramienta para predecir fallas y accidentes (si están disponibles los sensores y métricas adecuados). Zabbix es muy adecuado para monitorear infraestructuras de redes, servidores y servicios, y la tarea de mantener equipos de red demuestra claramente sus capacidades.

Lista de fuentes utilizadas:1. Guía oficial de certificación SWITCH 300-115 de enrutamiento y conmutación de Hucaby D. CCNP. Prensa de Cisco, 2014. págs. 325-329.
2. RFC 3410. herramientas.ietf.org/html/rfc3410
3. RFC 3415. herramientas.ietf.org/html/rfc3415
4. Guía de configuración SNMP, Cisco IOS XE versión 3SE. Capítulo: SNMP Versión 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Fuente: habr.com

Añadir un comentario