Tutorial SNMP

Click here to load reader

  • date post

    06-Apr-2018
  • Category

    Documents

  • view

    220
  • download

    1

Embed Size (px)

Transcript of Tutorial SNMP

  • 8/2/2019 Tutorial SNMP

    1/25

    Tutorial de NET-SNMP2006 Luis Hernndez Acosta

    INDICE

    1. Sobre este tutorial

    2. Qu es SNMP?2.1. SNMPv12.2. SNMPv22.3. SNMPv3

    3. Qu es NET-SNMP?

    4. El agente SNMP (snmpd)4.1. Qu es?4.2. Cmo funciona?4.3. Configuracin del agente

    4.3.1. Ficheros de configuracin4.3.2. Especificando informacin sobre nuestro sistema4.3.3. Configuracin de acceso para SNMPv1 y SNMPv2c4.3.4. Configuracin de acceso para SNMPv34.3.5. Envo de notificaciones4.3.6. Configuracin de MIB extensible4.3.7. Configuracin de proxy4.3.8. Pasando el control a programas externos

    5. Recepcin de notificaciones5.1. Tipos de notificaciones5.2. Funcionamiento del mecanismo de notificaciones5.3. El demonio snmptrapd

    5.3.1. Ficheros de configuracin5.3.2. Ejecucin de programas para notificaciones entrantes5.3.3. Formateo de notificaciones5.3.4. Guardando notificaciones entrantes para consultas mediante SNMP5.3.5. Creacin de usuarios5.3.6. Reenvo de notificaciones

    5.3.7. Directivas adicionales

    Documento extrado del artculo:- Tutorial de NET-SNMP por Jorge Moreno Carreres

    1

  • 8/2/2019 Tutorial SNMP

    2/25

    1. Sobre este tutorial

    Este tutorial pretende ser una gua rpida de configuracin para los demonios incluidos en elpaquete de gestin de red NET-SNMP (snmpd y snmptrapd). No es una gua de utilidades paralnea de comandos, ni tampoco pretende entrar en aspectos demasiado tericos sobre elfuncionamiento interno del protocolo de gestin de red SNMP. Solamente es un documento que

    puede servir tanto para configurar los aspectos ms bsicos como los ms avanzados del agente(snmpd) y el demonio receptor de notificaciones (snmptrapd).

    El escenario de las pruebas ha sido una pequea red local, constituida por los siguientes hosts:

    Un servidor que acta como pasarela de red, ejecutando una distribucin Debian, cuyonombre en la red local es averia. Este es el host en el que se ejecuta el agente SNMP.

    Un cliente de red ejecutando una distribucin Debian, cuyo nombre en la red es truca.Aqu se ejecuta el demonio receptor de las notificaciones que manda averia.

    2. Qu es SNMP?

    SNMP son las siglas de Simple Network Management Protocol y es un protocolo muy extendidoque trabaja en el nivel de aplicacin. Mediante SNMP podemos realizar tareas de monitorizacinde red, configuracin de dispositivos, deteccin de problemas y otras muchas cosas ms.

    Para gestionar un dispositivo mediante SNMP, ste debe tener un agente que gestione lainformacin contenida en la MIB-II ( Management Information Base). El protocolo funcionamediante un mecanismo de peticin-respuesta, es decir, nosotros mandamos una peticin u ordenal agente que gestiona un dispositivo concreto y ste nos responde con la informacin requerida oel resultado de la orden, o con un mensaje de error si nuestra peticin fue incorrecta.

    Actualmente existen tres versiones de este protocolo: SNMPv1, SNMPv2 y SNMPv3; cada unacon sus propias caractersticas y limitaciones. Nuestro objetivo principal ser abordar lasdiferencias entre estas tres versiones respecto a la autenticacin de las peticiones y rdenes.

    2.1. SNMPv1

    Cuando se utiliza SNMPv1, el agente emplea un sencillo sistema de autenticacin para determinarqu gestor puede acceder a qu variables de la MIB. Este esquema implica la especificacin deunas determinadas polticas de acceso, relacionadas con los conceptos de comunidad, modo deacceso y vista de la MIB. Una comunidad es un conjunto de hosts relacionados mediante unnombre de comunidad, que debe ser incluido en la peticin. El modo de acceso especificalos accesos permitidos para una determinada comunidad, que suelen ser none, read-write,

    read-only o write-only. Una vista de la MIB define uno o ms subrboles de la MIB a los queuna determinada comunidad puede acceder.

    Cuando el agente recibe una peticin, verifica el nombre de comunidad junto con la IP del hostdesde el que se hizo la peticin para determinar que el host realmente pertenezca a esacomunidad. Si esta verificacin devuelve un resultado positivo, entonces comprueba que lacomunidad tenga acceso a las variables de la MIB solicitadas en la peticin. Si esto es correcto, elagente responder a la peticin. Si no, devolver el mensaje de error correspondiente al hostpeticionario.

    En esta versin tambin se define la estructura bsica que debe tener la MIB, incluyendo losidentificadores de objeto (tanto numricos como textuales) de los objetos y tablas de uso mscomn, como ifTable, tcpConnTable, ipAddrTable, etc. Adems, se definen tres operacionesbsicas para el acceso a la informacin de gestin contenida en la MIB: Get, GetNext y Set. Sedefine tambin la operacin Trap para el envo de notificaciones.

    2

  • 8/2/2019 Tutorial SNMP

    3/25

    2.2. SNMPv2

    SNMPv2 es una extensin de SNMPv1. La abstraccin de SNMPv2 que permite el uso de losmismos elementos descritos para SNMPv1, es decir, los conceptos de comunidad, vista de laMIB y modo de acceso, es llamada SNMPv2c (Community-based SNMPv2), y es la que el agentede NET-SNMP implementa.

    El formato de la PDU (mensaje) es el mismo, solo que se usa un nuevo nmero de versin. Encuanto a las operaciones de acceso a la MIB, adems de las definidas en SNMPv1, esta versindefine dos nuevas: GetBulk e Inform. GetBulk se usa para obtener de forma eficiente grandescantidades de datos, e Inform se usa para el envo de notificaciones con confirmacin por partedel receptor.

    En cuanto a la MIB, en esta versin se definen nuevos tipos de objetos para mejorar la semntica.

    2.3. SNMPv3

    SNMPv3 aade capacidades de seguridad y configuracin remota a las versiones previas. Se

    introduce la arquitectura del modelo de seguridad basado en usuarios o USM (User-basedSecurity Model), para aadir seguridad a los mensajes, y el modelo de control de accesobasado en vistas o VACM (View-based Access Control Model) para el control de acceso. Tambinintroduce la posibilidad de configurar remotamente el agente dando distintos valores a los objetosque representan la configuracin del agente.

    La arquitectura soporta el uso simultneo de distintos modelos de control de acceso, seguridad yproceso de mensajes, entre los cuales hay que resaltar la autenticacin de usuarios medianteprotocolos seguros (como MD5 o SHA) y la privacidad en la comunicacin usandoalgoritmos de encriptacin como DES.

    3. Qu es NET-SNMP?NET-SNMP es un conjunto de aplicaciones usado para implementar el protocolo SNMP usandoIPv4 e IPv6. Incluye:

    Aplicaciones de lnea de comandos para:

    tomar informacin de dispositivos capaces de manejar el protocolo SNMP,ya sea usando peticiones simples (snmpget, snmpgetnext) o mltiples(snmpwalk, snmptable, snmpdelta).

    manipular informacin sobre la configuracin de dispositivos capaces demanejar SNMP (snmpset).

    conseguir un conjunto de informaciones de un dispositivo con SNMP(snmpdf, snmpnetstat, snmpstatus).

    traducir entre OIDs numricos y textuales de los objetos de la MIB, ymostrar el contenido y estructura de la MIB (snmptranslate).

    Un navegador grfico de la MIB (tkmib), usando Tk/perl.

    Un demonio para recibir notificaciones SNMP (snmptrapd). Las notificacionesseleccionadas pueden guardarse en un log (como syslog o un archivo de texto plano),ser reenviadas a otro sistema de gestin de SNMP, o ser pasadas a una aplicacinexterna.

    3

  • 8/2/2019 Tutorial SNMP

    4/25

    Un agente configurable para responder a peticiones SNMP para informacin de gestin(snmpd). Incluye soporte para un amplio rango de mdulos de informacin de la MIB, ypuede ser extendido usando mdulos cargados dinmicamente, scripts externos ycomandos.

    Una biblioteca para el desarrollo de nuevas aplicaciones SNMP, con APIs para C y Perl.

    Si elegimos instalar el paquete correspondiente en un sistema basado en GNU/Linux, podemosinstalar el existente para nuestra distribucin. En las distribuciones basadas en Debiancorresponde con los paquetes llamados: snmp y snmpd.

    4. El agente SNMP (snmpd)

    4.1. Qu es?

    snmpd es un agente SNMP que escucha en el puerto 161 de UDP (por defecto), esperando lallegada de peticiones desde algn software de gestin SNMP. Cuando recibe una peticin,

    recopila la informacin y/o lleva a cabo las operaciones solicitadas, devolviendo la informacincorrespondiente al emisor de la peticin.

    4.2. Cmo funciona?

    El agente snmpd se ejecuta como demonio, permaneciendo en segundo plano durante toda suejecucin. Una vez instalado el paquete NET-SNMP, el agente se ejecutar al iniciar nuestro hostmediante el sistema de servicios estndar de GNU/Linux. Para iniciarlo, pararlo o recargarlomanualmente usaremos el comando:

    # /etc/init.d/snmpd {start|stop|restart|reload|forcereload}

    usando una opcin u otra dependiendo de lo que queramos hacer. En su arranque, buscar suarchivo de configuracin (/etc/snmp/snmpd.conf). Dicho archivo describe el comportamiento delagente durante la ejecucin, aunque no es imprescindible para que el agente funcione y respondaa peticiones, puesto que dispone de una configuracin por defecto.

    4.3. Configuracin del agente

    A pesar de que podemos arrancar el agente incluyendo varias opciones en la lnea de comandos(ejecutar snmpd --help para una descripcin ms precisa), llevaremos a cabo la configuracinmediante el fichero snmpd.conf, puesto que de esta forma las opciones que escojamos quedarngrabadas de forma persistente para posteriores ejecuciones.

    4.3.1. Ficheros de configuracin

    Existe un fichero llamado snmp.conf (usualmente en el directorio /etc/snmp) que contiene laconfiguracin referente al conjunto de programas que forman NET-SNMP. En l podemosespecificar aspectos como la localizacin fsica de los archivos de la MIB, los puertos por defectopara los demonios snmpd y snmptrapd, y el directorio don