SNMP Todo lo que Debes Saber
SNMP Todo lo que Debes Saber

SNMP (Simple Network Management Protocol): Todo lo que Debes Saber

El Protocolo de Gestión de Red Simple o Protocolo Simple de Administración de Red (SNMP) es un protocolo de nivel de aplicación que facilita el intercambio de datos entre dispositivos de red.

SNMP no es un producto en sí mismo, sino un conjunto de reglas. Está definido por el Consejo de Arquitectura de Internet (IAB) y es parte del conjunto TCP/IP. La gestión y el mantenimiento de SNMP están a cargo del Grupo de Ingeniería de Internet (IETF, por sus siglas en inglés).

Nota: Si estás interesado en conocer SNMP a nivel de CCNA, puedes consultar aquí: SNMP para CCNA R&S 200-125 y SNMP para CCNA 200-301. En este post, hablaremos todo acerca de SNMP a nivel general, sin involucrarnos tanto el el examen de certificación.

SNMP en Palabras Simples

Aprender sobre SNMP o Simple Network Management Protocol
Aprender sobre SNMP o Simple Network Management Protocol

Este protocolo permite al administrador del sistema monitorear, controlar el rendimiento de la red y cambiar la configuración de los dispositivos conectados. SNMP se utiliza en redes de cualquier tamaño; cuanto más grande es la red, mejor se aprovechan las ventajas del protocolo. Permite ver, controlar y administrar nodos a través de una interfaz unificada con funciones de comandos por lotes y notificaciones automáticas.

De esta manera, SNMP libera al administrador de la necesidad de ingresar comandos manualmente. Se han desarrollado y desplegado tres versiones en total. Todas ellas se utilizan hasta el día de hoy, y la segunda versión, SNMPv2c, se ha vuelto la más común.

Arquitectura SNMP

Arquitectura SNMP (crédito IBM)
Arquitectura SNMP (crédito IBM)

La arquitectura SNMP consta de varios componentes, y aquí te los presento:

Componentes que componen la arquitectura SNMP:

Network Management Station (NMS)

Definición: La NMS (Estación de Gestión de Red) supervisa de forma remota los dispositivos gestionados, recibe datos recopilados por los maestros agentes, realiza un seguimiento del rendimiento y presenta la información en forma gráfica.

Función: El NMS incorporado se encarga de la comunicación con los agentes.

Agentes

Definición: Estos son programas que residen en dispositivos gestionados y se comunican con la estación de gestión.

Función: Recopilan información y la envían al maestro agente.

Maestro Agente

Definición: Este programa actúa como intermediario entre los administradores de red y los subagentes. Analiza las solicitudes de la estación de gestión (NMS), las reenvía a los subagentes, recopila y forma respuestas de los subagentes, y las envía de vuelta a la estación de gestión. También notifica al administrador si la solicitud es incorrecta o la información solicitada no está disponible.

Función: Facilita la comunicación entre la estación de gestión y los subagentes.

Subagentes:

Definición: Estos programas son suministrados por el fabricante junto con el dispositivo de red. Cada componente gestionado tiene su propio subagente correspondiente.

Función: Envían información recopilada al maestro agente.

Componente Gestionado (Managed Component)

Definición: Dispositivo o software conectado a la red con un subagente incorporado. Esto incluye no solo enrutadores, conmutadores y servidores, sino también cámaras IP, impresoras multifunción (MFP) y teléfonos IP. El software con subagentes también abarca programas antivirus, sistemas de copia de seguridad y software para sistemas de alimentación ininterrumpida (UPS).

Management Information Base (MIB)

Definición: Una base de datos jerárquica que contiene información sobre un dispositivo. Cada tipo de dispositivo tiene su propia tabla MIB (Base de Información de Gestión), que almacena datos específicos de ese dispositivo.

Función: Permite al administrador saber qué información puede solicitar al agente del dispositivo.

Identificador de Objeto (OID)

Definición: Cada objeto en MIB tiene un OID único, que se presenta en formato numérico y tiene una estructura jerárquica. Es el equivalente numérico de una ruta de archivo y asigna valores a cada tabla en MIB, cada columna en la tabla y cada valor en la columna.

Por ejemplo, el OID 1.3.6.1.4.868.2.4.1.1.1.3.777.5 se traduce como iso.org.dod.internet.private.transition.products.chassis.card.slotCps. cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.777.5. Utilizando los primeros 6 dígitos de este OID, puedes navegar por el árbol en el esquema.

Representación esquemática de un árbol OID
Representación esquemática de un árbol OID

Algunos valores en el OID contienen información sobre el fabricante del dispositivo, lo que facilita obtener detalles específicos sobre el dispositivo de manera rápida.

Aunque la jerarquía en árbol de MIB y OID en SNMP puede parecer complicada, tiene sus ventajas. Esta es una sistema organizativo simple y flexible para dispositivos de red, independientemente del tamaño de la red.

Teoría y Lógica de Funcionamiento del Protocolo SNMP

Propósito: En un principio, el protocolo tenía la intención de proporcionar a los administradores del sistema una herramienta para gestionar Internet. Sin embargo, la arquitectura flexible de SNMP permitió la supervisión y gestión de todos los dispositivos de red desde una única consola, lo que contribuyó a su amplia adopción.

PDU (Protocol Data Unit)

Los administradores y agentes intercambian datos a través del protocolo UDP, aunque también se puede utilizar TCP, IPX o el protocolo a nivel de MAC. El intercambio de datos se basa en la Unidad de Datos de Protocolo (PDU, por sus siglas en inglés).

En total, SNMP tiene siete PDU:

  1. GET: Solicitud del administrador NMS para obtener datos del dispositivo.
  2. GETNEXT: Solicitud similar a GET, pero el administrador solicita datos en el siguiente nivel de jerarquía OID en MIB.
  3. SET: El administrador utiliza esta solicitud para cambiar o asignar nuevos datos al dispositivo.
  4. RESPONSE: Mensaje del agente enviado en respuesta a una solicitud de datos.
  5. TRAP: Notificación de un evento o error. El agente lo envía inmediatamente después de que ocurre el evento sin esperar una solicitud del administrador. El administrador no confirma la recepción del mensaje, lo que puede ser un problema.
  6. GETBULK: Solicitud al agente para extraer un conjunto de datos del dispositivo. Es una variante mejorada de la solicitud GETNEXT.
  7. INFORM: Mensaje similar a TRAP, pero con confirmación de recepción. El agente seguirá enviando la notificación hasta que el administrador confirme que la ha recibido.

Las PDU INFORM y GETBULK solo están presentes en la segunda y tercera versión del protocolo SNMP.

Esquema PDU

Encabezado IPTCP/IPTCP/IP
Encabezado UDPTCP/IPTCP/IP
Versión SNMPv1/v2/v3PDU
Cadena de comunidadPública, PrivadaPDU
Tipo de PDUGet, GetNext, Response, Set, Trap, GetBulk, InformPDU
ID de solicitudIdentificador de solicitudPDU
Estado de error0, 1, 2, 3, 4, 5PDU
Índice de error0, 1PDU
Variables relacionadasUna o varias variables en la solicitudPDU

Aplicaciones Estados de error y sus descripciones:

  • 0 — noError — El proceso se completó exitosamente.
  • 1 — tooBig — El objeto es demasiado grande y no cabe en el mensaje de respuesta.
  • 2 — noSuchName — Para solicitudes GET y SET: la variable solicitada no existe en la base MIB. Para solicitudes GETNEXT: la variable no tiene un sucesor en el árbol MIB.
  • 3 — badValue — Para solicitudes SET: hay un error en la sintaxis o se especifica un valor no válido.
  • 4 — readOnly — Error no definido.
  • 5 — genErr — Otros errores, como intentar asignar un valor que excede los límites de implementación.

Puertos de Red SNMP

Por defecto, SNMP utiliza los puertos UDP 161 y 162. El administrador envía solicitudes al puerto 161 del agente. El agente envía respuestas al administrador desde el puerto 161. Al enviar una solicitud, el administrador agrega un ID, y el agente inserta este ID en la respuesta para que el administrador pueda vincular su solicitud con la respuesta del agente.

Traps

El agente envía traps al puerto 162 del administrador. Si se utiliza DLTS o TLS, el agente envía mensajes al puerto 10162, y el administrador, al puerto 10161. El administrador puede cambiar los puertos SNMP predeterminados a cualquier otro.

Traps: Una Trap es una forma crucial de comunicación en SNMP. El administrador es responsable de muchos dispositivos, y muchos de ellos pueden tener varios componentes gestionados. El agente envía una trap por iniciativa propia cuando es necesario informar al administrador sobre un evento. Por ejemplo, una trap puede enviar un informe de sobrecalentamiento de la máquina o que se agotaron los cartuchos de tinta.

Al recibir la notificación, el administrador elige la acción necesaria, como interrogar al agente para obtener una visión completa de lo que ha sucedido. La lista de notificaciones que envía una trap:

  • 0 — coldStart — Inicio en frío del dispositivo.
  • 1 — warmStart — Inicio en caliente del dispositivo.
  • 2 — linkDown — Interfaz desconectada.
  • 3 — linkUp — Interfaz conectada.
  • 4 — authenticationFailure — El administrador envió un mensaje con una cadena de comunidad incorrecta.
  • 5 — egpNeighborLoss — El agente perdió la conexión con el host a través del protocolo Exterior Gateway Protocol (EGP).
  • 6 — enterpriseSpecific — Se produjo un evento específico del fabricante de este dispositivo.

En SNMP hay dos tipos de traps: Trap e Inform. La diferencia entre ellas es que después de recibir Inform, el administrador confirma la recepción de la trap. De lo contrario, el agente seguirá enviando Inform hasta que reciba la confirmación. Después de recibir Trap, el administrador no envía una confirmación. Si el mensaje no llega al administrador, el agente no lo sabrá.

Versiones del Protocolo SNMP

SNMPv1 La primera versión del protocolo fue creada en la década de 1980. Es fácil de configurar, solo requiere una cadena de comunidad. Esta versión se utiliza ampliamente hasta el día de hoy.

SNMPv2c La segunda versión del protocolo SNMP se introdujo en 1993. Los desarrolladores agregaron una nueva solicitud GetBulk y una trap Inform, además de mejorar la seguridad.

Esta versión tiene dos formas de comunicarse con dispositivos que admiten SNMPv1: un sistema de gestión de red bilingüe y agentes proxy. Los agentes proxy actúan como agentes maestros, y en el sistema de gestión bilingüe, el administrador determina qué versión de SNMP admite el agente y se conecta a él a través de SNMPv1 o SNMPv2c.

SNMPv3 La tercera versión se lanzó en 1998. Los desarrolladores agregaron protección criptográfica a SNMP, facilitaron la configuración remota y la administración de objetos. Esto se logró mediante la definición de un conjunto de objetos de gestión estandarizados, llamados objetos MIB de monitoreo remoto de red (RMON MIB).

Seguridad

Inicialmente, la seguridad no fue la principal preocupación de los desarrolladores. La primera versión de SNMP se creó para la administración remota en una época en la que la amenaza de acceso no autorizado era mínima. Por lo tanto, SNMPv1 tiene una seguridad débil y los intrusos podían usarla para infiltrarse en la infraestructura de red.

En el desarrollo de la segunda versión del protocolo, los desarrolladores propusieron varias soluciones. La versión SNMPv2c se hizo popular: no es la más segura, pero es fácil de usar.

El problema principal con la seguridad es que casi todo el hardware es compatible con la versión SNMPv1. Solo una parte trabaja con las versiones SNMPv2c y SNMPv3. Es por eso que SNMPv2c se ha vuelto tan popular; puede funcionar con dispositivos que admiten las versiones SNMPv1 o SNMPv2.

Modelos de Seguridad SNMP por Versiones

SNMPv2cSeguridad basada en comunidades
SNMPv2uSeguridad basada en usuarios
SNMPv2Seguridad basada en partes
SNMPv3Seguridad basada en usuarios

Seguridad basada en comunidades (Community-based Security)

  • Es un modelo de seguridad que utiliza una cadena de comunidad como base. Básicamente, esta cadena actúa como un identificador de usuario o una contraseña que se envía junto con la solicitud. Si la cadena de la comunidad no es correcta, el agente ignora la solicitud.
  • La cadena de la comunidad depende del fabricante del dispositivo. A menudo, los fabricantes eligen “PUBLIC” como contraseña de forma predeterminada, por lo que lo primero que debes hacer en nuevos dispositivos es cambiar la cadena de la comunidad para proteger la red contra intrusos.
  • Existen tres tipos de cadenas de comunidad:
  • Solo lectura — permite obtener datos del dispositivo.
  • Lectura/escritura — permite obtener datos y cambiar la configuración del dispositivo.
  • Cadena de comunidad SNMP Trap — permite recibir trampas SNMP.

Seguridad Basada en Partes (Party-based Security Model):

Es un modelo basado en entidades llamadas “partes”. Para la comunicación entre el administrador y los agentes, se elige una entidad lógica llamada “parte”. Esta entidad establece los protocolos de autenticación y cifrado, y el remitente y el destinatario acuerdan el método de cifrado y descifrado de datos. La complejidad de usar este modelo ha obstaculizado su adopción entre los usuarios.

  • Utiliza entidades lógicas llamadas “partes” para la comunicación entre el administrador y los agentes.
  • La parte selecciona protocolos de autenticación y cifrado.
  • La complejidad de uso limitó su adopción.

Seguridad Basada en Usuarios (User-based Security Model):

  • Utiliza nombres de usuario y contraseñas en lugares un modelo de seguridad basado en usuarios. Los niveles de autenticación, seguridad y confidencialidad de los protocolos y las claves se configuran en el agente y el administrador. de cadenas de comunidad.
  • Proporciona cifrado para la privacidad de los datos.
  • La mejor implementación de seguridad se encuentra en la tercera versión de SNMP gracias a USM y VACM. De manera simplificada, VACM (View-based Access Control Model) se puede describir como un modelo con diferentes niveles de acceso para grupos de administradores. Cuando se recibe una solicitud, el agente decide si se permite a un grupo específico de administradores acceder para leer, escribir o recibir notificaciones.

Problemas Comunes de Seguridad

  1. Perímetro de Red No Seguro: Si se permiten las solicitudes SNMP a través de firewalls y filtros de paquetes, puede haber riesgos.
  2. Cadena de Comunidad Predeterminada: Algunos dispositivos vienen con la cadena de comunidad predeterminada como “PUBLIC”, lo que podría ser explotado por hackers.
  3. Desactivación de Traps SNMP: Modificar la configuración para dejar de enviar trap SNMP puede ocultar actividades maliciosas.
  4. Intercepción Remota de Paquetes: El uso de sniffer para interceptar el tráfico SNMP puede comprometer la seguridad.
  5. Control de Acceso Débil: La cadena de comunidad de lectura-escritura permite cambios no autorizados si no se supervisa adecuadamente.

Si el administrador del sistema no utiliza SNMP, deberá desactivarlo en los dispositivos.

Aplicaciones Prácticas de SNMP

Utilizando SNMP, el administrador gestiona aplicaciones y servicios en la nube, administra la red local y monitorea el estado del servidor desde una consola.

Capacidades del protocolo SNMP:

Gracias al protocolo, el administrador puede:

  • restablecer contraseñas de forma remota y reconfigurar direcciones IP;
  • recopilar información sobre la carga de ancho de banda de la red;
  • enviar solicitudes para monitorear dispositivos de red;
  • recibir notificaciones sobre quedarse sin espacio en disco;
  • monitorear la carga en la CPU del servidor y recibir mensajes sobre exceder el umbral permitido;
  • recibir notificaciones sobre el mal funcionamiento de un dispositivo conectado a la red;
  • recibir notificaciones en tiempo real sobre errores en los dispositivos;
  • recopilar información de errores.

Usando software de terceros también puedes:

  • gestionar servicios en la nube;
  • escanear por rango de direcciones IP;
  • agregar datos a través de OID personalizados.

ManageEngine Site24x7

Site24x7 es una solución de monitoreo todo en uno con una impresionante variedad de funciones, que incluyen monitoreo de sitios web, monitoreo de servidores, monitoreo en la nube, monitoreo de red, monitoreo del rendimiento de aplicaciones y monitoreo de usuarios reales, por nombrar algunas.

Diagrama que muestra las características de la herramienta de monitoreo SNMP de Site24x7: monitoreo SNMP, descubrimiento automático, umbrales y alertas, y visibilidad del rendimiento del dispositivo.
Monitoreo SNMP eficiente y efectivo con Site24x7.

Site24x7 puede descubrir automáticamente dispositivos SNMP conectándose a su MIB (Base de información de administración) dentro de un rango de IP e iniciar el monitoreo del ancho de banda, la interfaz, la memoria, la CPU y otras métricas. Puedes agregar más de 100 contadores de rendimiento y mostrar gráficos de estadísticas clave, con informes y alertas personalizables sobre el tiempo de inactividad.

Site24x7 es SaaS y utiliza un agente de monitoreo que admite Windows Server (versiones 2008, 2008 R2, 2012, 2012 R2, 2016 y 2019), Windows 10 1803 o superior, todas las principales distribuciones de Linux (Debian, Ubuntu, CentOS, RedHat, Fedora), FreeBSD (9 o superior) y macOS (10 “Yosemite” o superior).

IPv4 a IPv6 en SNMP

El protocolo predeterminado debería funcionar con IPv4 o IPv6. En la práctica, IPv6 crea ciertos problemas para el funcionamiento de SNMP. Estos problemas están relacionados con objetos MIB que contienen direcciones de red. Los OID en la MIB almacenan información para múltiples capas TCP/IP, y las diferencias entre IPv4 e IPv6 se reflejarán en el OID.

La falta de soporte IPv6 en las MIB existentes se manifiesta de dos maneras:

  • Los objetos MIB sólo admiten IPv4, no IPv6;
  • Las direcciones IPv4 contenidas en el OID no representan necesariamente una dirección IP.

Estos problemas también se pueden solucionar de dos formas:

  • creación de nuevas MIB que admitan únicamente IPv6 o versión de protocolo independiente (PVI);
  • Modificación de la MIB para agregar OID nuevos o actualizar los existentes con soporte IPv6.

Conclusión

SNMP, a pesar de sus limitaciones, sigue siendo una herramienta efectiva para la recopilación y el intercambio de información entre dispositivos de red diversos. Su simplicidad, gratuidad y amplio soporte hacen que sea una opción valiosa para la supervisión y administración de redes. A pesar de tener 30 años, SNMP sigue siendo relevante debido a sus características únicas y a la falta de alternativas con un nivel comparable de apoyo y uso.