Monitorización SNMP vs SSH en equipos Linux

Una de las consultas más recurrentes que recibimos es: ¿es mejor la monitorización de equipos Linux mejor mediante SNMP o SSH?

¿Qué es SNMP?

Simple Network Management Protocol (o comúnmente SNMP) es un protocolo que permite la administración de dispositivos. Este protocolo se ideo inicialmente para la gestión de equipos de red como switchs o routers. Su sencillez y fácil integración ha permitido que la mayoría de los equipos que en la actualidad cuentan con gestión TCP/IP lo incorporen (desde routers a impresoras, pasando por sistemas operativos como Windows o distribuciones Linux a incluso aplicaciones como Oracle).

Básicamente existen 3 versiones: 1, 2c i 3. La diferencia entre ellas es que la 2c incluye el concepto de “tabla” respeto a la 1, y la 3 nos permite la creación de usuarios para la gestión al acceso del protocolo.

Si utilizamos las versiones 1 o 2c (las más comunes) se configuran una serie de “comunidades” que tienen la propiedad de escritura o lectura. Su autentificación se limita a mirar la coincidencia del nombre de la comunidad configurada con la que mandamos en la petición de información.

No entraremos más en detalles, aunque puntualizaremos que para que el equipo y/o sistema disponga de SNMP debe de estar corriendo un demonio o servicio.

¿Qué es SSH?

Secure Shell o SSH es un protocolo de comunicaciones entre equipos con cifrado. Dispone de un sistema de cifrado basado en certificados que lo hace realmente seguro.

No todos los equipos incorporan este protocolo, aunque en sistemas operativos Linux o Unix es el acceso más recurrente (lo usan los administradores de sistemas). Es un servicio que en la mayoría de los casos dispondremos habilitado por defecto.

¿Qué es mejor? ¿SSH o SNMP para monitorizar equipos Linux?

Disponibilidad

Empezaremos por la disponibilidad de servicio. En la mayoría de las ocasiones los equipos basados en distribuciones Linux/Unix (Fedora, CentOS, Debian, Ubuntu, Suse…) el servicio SSH lo tendremos habilitado, pues lo van a usar los propios administradores.

SNMP por su contra, es un servicio que sin ser muy complicado de instalar y activar en mayoría de casos no lo tendremos activo, y por lo tanto tendremos que “trabajar” para activarlo.

Seguridad

Desde un punto de vista de seguridad, SSH por si solo ya usa una conexión encriptada. Si añadimos a eso la posibilidad de usar certificados (en lugar de usuarios), nos garantizamos fortificar un punto de acceso.
Con el protocolo SNMP, solo la versión 3 nos permite cifrar y utilizar usuarios. Las versiones 1 o 2c quedan expuestas a un simple “sniffer”.

Scripting: ¿Y si tengo que escribir un script para mi software de monitorización?

Aquí tendremos un poco más de facilidad en la parte SNMP. La mayoría de las distribuciones utilizan las mismas OID (identificador de objeto) en SNMP, de forma que la una distribución Ubuntu o RedHad son idénticas. Así pues, la memoria, CPU o la ocupación de un filesystem se miran consultado el mismo OID SNMP.

No pasa así con SSH, donde debemos acceder a ficheros o comandos que pueden variar entre distribuciones. También la salida (output) del propio comando también puede ser distinto entre versiones de la misma distribución (probar si no el comando “free” en un CentOS 6 o un CentOS 7). Sin duda la creación de scripts en SSH es más compleja que para SNMP.

Profundidad: ¿Y qué podemos monitorizar?

Aquí otra vez ganamos con SSH. En SNMP nos limitamos a las MIBs que configuremos en nuestro demonio (las MIBs son las colecciones de OIDs del protocolo SNMP). SSH por su parte, tiene la limitación en los permisos que queramos darle al usuario que accede. Si creamos un usuario y lo ponemos en el grupo de administradores, podremos ejecutar y obtener cualquier valor de cualquier aplicación que corra en equipo. Así que resumiendo que es mejor:

  • Disponibilidad del servicio sin tener que hacer nada: SSH
  • Seguridad del protocolo: SSH
  • Facilidad de hacer scripting (plugins): SNMP
  • Profundidad de monitorización: SSH

Como podemos comprobar, es evidente que SSH ofrece muchas más seguridades, posibilidades y menos trabajo en el momento de activarlo, aunque es un poco más laborioso la elaboración de scripts.

Los próximos hablaremos en detalles de estos protocolos.

¿Se te ocurren otros argumentos a favor de SSH o SNMP? ¿Tienes una opción diferente? No dudes en dejar tu comentario.

Añadir Comentario

* Información necesaria
1000
Captcha Imagen
Powered by Commentics

Comentarios (0)

No hay comentarios todavía. Sé el primero!
Ver más noticias