Para explicar la monitorización, el protocolo SNMP y su evolución, tenemos que remontarnos a hace un par de décadas atrás, donde las primeras redes de datos empezaron a ser populares y extenderse por todo el mundo. En estos inicios, un par de administradores podían mantener de forma manual toda una infraestructura de red de una empresa. En estos años las redes estaban compuestas por pocos equipos, por lo que la complejidad de servicios y usuarios apenas existía.

A partir del año 2000 aproximadamente, los ordenadores, internet y toda la tecnología empezó a cambiar la manera de trabajar y relacionarnos. Multitud de servicios fueron desarrollados en lo que llamábamos redes convergentes (capaces de transportar datos, voz, video…). Estas infraestructuras pasaron de pocos usuarios y poca criticidad, a millones de usuarios y cada vez sistemas más críticos, donde no se podía permitir indisponibilidad.

 

Fue a partir de este momento donde los sistemas de monitorización empezaron a ser herramientas imprescindibles, que facilitaban el trabajo a los administradores, pudiendo anticiparse a incidencias criticas en el servicio e identificando cualquier fallo al momento.

 

Hoy en día administrar una infraestructura de red sin un buen sistema de monitorización, es algo casi impensable. La monitorización, aparte de notificarnos incidencias y caídas, nos aporta muchísima información útil para minimizar los tiempos de respuesta y poder identificar y corregir fallos, antes de que provoquen una caída a servicios o usuarios.

La mayoría de los sistemas de monitorización se basan en el protocolo SNMP (Simple Network Management Protocol), este protocolo ha perdurado durante muchos años, evolucionando de su primera versión hasta SNMPv3.

 

PROTOCOLO SNMP

 

Para intentar simplificar, SNMP es un protocolo que se desarrolla en la capa de aplicación y facilita el intercambio de información del estado de los equipos a un gestor SNMP (NMS). Utiliza dos puertos UDP (161 y 162).

Básicamente en SNMP existen dos tipos de dispositivo, el servidor y el agente:

  • Servidor (NMS). Es el equipo que recoge y guarda todos los datos SNMP de los agentes o dispositivos finales. Este equipo puede hacer un pool a los agentes, solicitándoles información de su estado. También es el encargado de recibir las alarmas o traps de los agentes.
  • Un agente es un servicio que se instala en los dispositivos finales y se encarga de atender las peticiones que realice el servidor o de enviar un trap cuando se produzca un evento.

 

Ilustración sobre el funcionamiento del protocolo SNMP (Simple Network Management Protocol) cliente-servidor

Ilustración funcionamiento SNMP

 

Debido a la gran cantidad de dispositivos que utilizan SNMP, podemos monitorizar desde PC’s, servidores, impresoras… hasta la ultima tecnología en sensores, dispositivos IoT y entornos industriales.

 

Para poder hacer frente a este gran reto, SNMP tiene que ser capaz de poder interpretar cualquier dato y hacerlo legible para los administradores. Por ejemplo, una impresora nos puede enviar un trap cuando se este quedando sin tinta o papel y un router puede enviarlo cuando una interface este teniendo errores o descartes; el gestor SNMP tiene que ser capaz de interpretar ambos datos.

SNMP utiliza unas pequeñas bases de datos donde se describen y detalla cada información que se puede enviar o recibir. Estas bases de datos se denominan MIB (Managment Information Base) y contienen información organizada jerárquicamente. Para que un gestor SNMP y un agente se puedan entender, ambos deben tener las mismas MIB’s.

Dentro de cada MIB, se definen los identificadores de objetos (OID). Estos identificadores definen qué valores e información pueden tener. Para entenderlo mejor, vamos a ver una MIB.

 

Ilustración ejemplo organización MIB (Managment Information Base) como bases de datos SNMP

Ilustración ejemplo organización MIB

 

En la ilustración podemos ver como se organiza una MIB; es una estructura jerárquica donde dentro de cada “carpeta”, tenemos una serie de directorios e identificadores. En esta MIB podemos ver qué datos vamos a obtener del equipo, por ejemplo la velocidad de la interface, el estado, la MTU, paquetes unicast…

Cada dato que podemos obtener es un OID y generalmente, tienen una descripción de qué tipo de dato es (numérico, texto), qué valores se pueden recibir, etc…

 

De esta forma, el gestor SNMP y el agente, pueden intercambiar información procesable que nos ayude a administrar y mantener una infraestructura compleja con multitud de servicios.

 

SNMP ha ido evolucionando con el paso de los años y mejorando funcionalidad y seguridad. Existen 3 versiones de SNMP:

  • SNMP v1: La primera versión de SNMP fue definida en 1988. Todavía está en uso de forma generalizada, principalmente porque es mucho más fácil de usar que las otras versiones. Sin embargo, esta versión no posee encriptación. Por lo tanto, se recomienda que SNMP v1 sólo se utilice en redes privadas que no estén conectadas a Internet.
  • SNMP v2c: Cuando la gente habla de la versión 2, por lo general significa SNMP v2c. Sin embargo, esta versión también carece de encriptado. Una característica de SNMP v2c es que soporta contadores de 64 bits, mientras que SNMP v1 utiliza sólo de 32 bits.
  • SNMP v3: la tercera y más reciente versión de SNMP que soporta encriptación, aumenta significativamente la seguridad de la monitorización vía SNMP. Sin embargo, la configuración del SNMP v3 es compleja y elaborada en comparación con sus predecesores.

SNMP v1 y v2c están muy extendidas por su facilidad de configuración. Utilizan un string en texto plano para autenticar, este string se llama community y tiene que ser igual en el gestor y el agente. Es muy fácil de interceptar ya que todo el intercambio de información se hace en texto plano.

 

SNMP v3 añade criptografía a su funcionamiento, por lo que el intercambio de datos se realiza encriptando la información y autenticando mediante usuario/password o certificado. Utiliza TLS/DTLS.

 

 

CONCLUSIÓN SOBRE LA MONITORIZACIÓN

 

La monitorización de la infraestructura se ha convertido en una herramienta imprescindible para cualquier empresa o negocio.  La criticidad de los servicios y aplicaciones actualmente, no pueden permitirse tener caídas o no estar disponible para los usuarios.

 

Los tiempos de caída de servicio son medidos en perdidas económicas y cuanto más tiempo tardemos en detectar y solucionar una incidencia, mayores pérdidas se ocasionan.

 

Un sistema de monitorización nos aporta las siguientes ventajas y beneficios, ya que son herramientas complejas con capacidad de realizar multitud de tareas:

  • Aprovechar los recursos HW al máximo y poder tener un plan de capacidad a largo plazo.
  • Prevención de incidencias y detección de problemas.
  • Ahorra costes y tiempo.
  • Inventariado de sistemas.
  • Graficas de rendimiento, tráfico, memoria, CPU…
  • Facilidad para la administración de grandes infraestructuras con menos plantilla.
  • Análisis detallado de tráfico usando Netflow.
  • Correlación de eventos y logs, mediante uso de syslog.

 

En Coreun tenemos una larga experiencia en implantación y configuración de distintos sistemas de monitorización, adaptados a las necesidades técnicas y económicas de cada cliente. Puedes consultar nuestros Servicios de NOC.