Configurar SNMP en Linux
Una de las múltiples tareas básicas del administrador es obtener toda información precisa acerca de los diferentes elementos presentes en nuestra red. Existen muchas herramientas que nos pueden facilitar la recolección y procesado de dicha información, un ejemplo sería SCOM del que ya hablaré en futuros artículos, las cuales se sirven de una tecnología llamada SNMP para obtener los datos necesarios.
SNMP (Simple Network Management Protocol) fue creado para obtener información de varios sistemas en de una manera consistente. Esta operación, será llevado por agentes instalados en los diferentes dispositivos con el objetivo de ofrecer toda la información posible utilizando el protocolo SNMP, según demanda, a partir de un archivo conocido como MIB, en el cual se indica toda la información que podremos recoger y/o cambiar en el dispositivo.
Actualmente existen tres versiones de dicho protocolo :
- V1 donde la información es intercambiada a través de mensajes (PDU) entre dos clientes cuya autenticación se realiza a partir de una cadena de caracteres conocida como community string en texto plano. Es la versión más utilizada por ser la más simple, con lo que la utilizaremos en este ejemplo.
- V2 donde se incorporan nuevos mecanismos de seguridad y se facilita el manejo de información.
- V3 donde se incorporan más mecanismos de seguridad como encriptación del mensaje así como refuerzo de su integridad además de mejorar los mecanismos de autenticación entre los clientes.
Ahora imaginemos que en nuestra infraestructura queremos monitorizar un dispositivo de red con Linux instalado (por ejemplo Ubuntu 14.04). Normalmente, en Linux , SNMP no viene implementado ni configurado por defecto, con lo que para poder obtener toda la información que necesitamos, es necesario ejecutar una serie de pasos que se detallan a continuación.
El primer punto a realizar es instalar el demonio de SNMP.
1 |
sudo apt-get install snmpd |
Una vez instalado, podremos consultar el archivo de configuración en /etc/snmp/snmpd.conf donde , para que el agente SNMP sea accesible en toda la red, deberemos cambiar la configuración de la community string , para facilitar la autenticación entre clientes sustituyendo la siguiente línea:
1 |
rocommunity public default -V systemonly |
por la línea
1 |
rocommunity public <red> |
donde <red> es la red donde está ubicado el dispositivo, restringiendo así el acceso a todos los ordenadores pertenecientes a nuestra red y public es la clave de autenticación que podemos cambiar si así lo deseamos.
Por otro lado, hay que hacer que el agente pueda escuchar las peticiones de otras máquinas para proveer información ya que por defecto, en la configuración, sólo atiende a peticiones de la propia máquina donde está instalado. Igual que la operación anterior , debemos modifcar el archivo de configuración /etc/default/snmpd cambiando la linea
1 |
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1' |
por la línea
1 |
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid' |
Finalmente, deberemos de reiniciar el proceso demonio para que los cambios se hagan efectivos :
1 |
/etc/init.d/snmpd restart |
Y con ello, ya tendríamos configurado de forma correcta el protocolo SNMP en un dispositivo de red con Linux. Comentar que en futuros artículos, hablaré de la herramienta SCOM, cómo monitorizar este tipo de dispositivo, así como reforzar la seguridad configurando SNMPv3.
¡Nos vemos!