SNMP (Simple Network Management Protocol) SNMP es un protocolo de la capa de aplicación del modelo de protocolos TCP/IP diseñado para el intercambio de información de administración de los dispositivos de la red, es decir entre los agentes y una entidad administradora. Agente SNMP, es el dispositivo que deseamos efectuar tareas de gestión. Administrador SNMP, es la plataforma desde la que pretendemos efectuar la gestión MIB II RFC1213 Objetos/variables sysUPTime sysContact ifNumber ifType ifMtu ipDefault ipInReceives ipInAddrErrors Categoría system system interface interface interface TTLip ip ip ipAddrTable ipRouteTable ip ip Función Tiempo desde el último arranque Persona de contacto -administradorNúmero de interfaces de red Tipo de interfaceEther/Tring/RDSI/SDLC/etc Tamaño máximo de trama en interfaces Valor de Time ToLive Número total de datagramasrecibidos Número de datagramasdescartados por errores en la dirección Ip destino Tabla de direcciones Ip Tabla de rutas Otras categorías de MIB II: addresstrans, icmp, tcp,udp, egp, cmot, transmis y snmp Para definir cada objeto dentro de una MIB se emplea un estándar conocido como SMI (Structure of Management Information); que establece las reglas para: nombrar cada objeto, naturaleza de su valor, control de acceso al objeto, tipo de respuesta a una pregunta vertical y descripción. Estas definiciones se realizan empleando un lenguaje de programación de ISO llamado AbstractSyntaxNotation1 (ASN.1) La ISO define una estructura jerárquica, donde se identifican los objetos. En esta estructura podemos identificar niveles. Cada nivel tiene una autoridad superior de la cual depende y a su vez tiene subniveles a los que gestiona. La MIB y los objetos contenidos en estas son situados en este árbol siguiendo las normas determinadas. Cada nivel, subnivel y objeto son representados con un nombre y un número dentro del árbol. De esta forma podemos hacer referencia a un objeto determinado empleado una secuencia de nombres o de números. Esta secuencia de nombres o números contiene la ruta que se sigue desde la “raiz” del árbol hasta la “hoja”. La hoja hace referencia al objeto que es la última entidad posible. Objetos árbol OID (Object identifier) se define a cada objeto de acuerdo a la posición que ocupa dentro del árbol ISO. Siguiendo la secuencia desde la raíz es localiza e identifica a cada objeto. Hay dos formas expresar un OID: la utilizada por administradores y usuarios, efectuando la composición textual de la localización del objeto, la que emplean los dispositivos, donde se compone el OID del objeto numéricamente. Ejemplo: para hacer referencia al objeto sysName iso.org.dod.internet.mgmt.mib.system.sysName 1.3.6.1.2.1.1.5 Comunicación SNMP es un protocolo que permite al Administrador SNMP interactuar sobre los objetos de un dispositivo a través de un Agente SNMP: Opera sobre la capa de Aplicación Es un modelo de comunicación: Cliente Administrador / / Servidor Agente Define la forma y el significado de los mensajes intercambiados entre cliente y servidor SNMP define un conjunto de operaciones sobre los objetos Agente: Implementa el protocolo SNMP Atiende peticiones del Usuario para consultar y modificar el estado de objetos según MIBs Capacidad de comunicar asíncronamente con el Usuario para notificarle un evento Administrador: Implementa el Protocolo SNMP Pide información al Agente sobre el estado de los objetos según MIB Envía al Agente modificaciones en el estado de los objetos Reconoce mensajes asíncronos enviados por el Agente En el mensaje SNMP podemos diferenciar claramente tres campos: SNMP Versión: Nivel de revisión del protocolo SNMP, v.1 o v.2 Comunity: La función de este campo es enviar junto con la tarea que se pretende llevar a cabo una identificación básica del usuario. Su fin es controlar el acceso no autorizado a un dispositivo SNMP. Protocol Data Unit (PDU): En el espacio PDU son anotadas las peticiones que el usuario quiere efectuar sobre un dispositivo (operaciones SNMP) y los mensajes desde el Agente hacia administrador. Primitivas SNMP Operación Funcionamiento get-request Solicita el valor de una variable específica. get-next-request Solicita el valor de una variable sin conocer su nombre, se emplea en búsqueda secuencial en tablas. get-bulk-request Solicita bloques grandes de datos, por ejemplo varias filas de una tabla. get-response Es la respuesta a una petición get-request, get-nextrequest o set-request. inform-request Permite la comunicación entre administradores SNMP. trap Se refiere a los mensajes no solicitados enviados por los agentes al administrador SNMP si ocurre algún evento inesperado. Puertos SNMP, reservados Utiliza TCP y UDP como protocolo de capa de transporte: Operaciones SNMP Get Request consulta el estado/valor de un objeto dentro del dispositivo. Get Response devuelve la respuesta del getRequest con el estado/valor de un objeto Operaciones SNMP GetNextRequest, consulta el estado/valor del objeto consecutivo al que hace referencia nuestra petición. Esta operación es empleada para moverse dentro de tablas de objetos Operaciones SNMP SetRequest, modifica el valor de un objeto dentro del dispositivo, tras estamodificación el Agente SNMP confirma la operación con un GetResponse. Trap: es una comunicación asíncrona que parte desde el Agente hacia el Administrador SNMP. Tiene como emitir una alertar al administrador ante un evento sucedido en el dispositivo. Hay seis tipos de trap estandarizados y se ha reservado un espacio para poder definir nuevos traps de carácter propietario. Tipo genérico de trap: Cold start (0): Indica que el agente ha sido inicializado o reinicializado; Warm start (1): Indica que la configuración del agente ha cambiado; Link down (2): Indica que una interfaz de comunicación se encuentra fuera de servicio (inactiva); Link up (3): Indica que una interfaz de comunicación se encuentra en servicio (activa); Authentication failure (4): Indica que el agente ha recibido un requerimiento de un NMS no autorizado (normalmente controlado por una comunidad); EGP neighbor loss (5): Indica que en sistemas en que los routers están utilizando el protocolo EGP, un equipo colindante se encuentra fuera de servicio; Enterprise (6): En esta categoría se encuentran todos los nuevos traps incluidos por los vendedores. SNMP v1 Definido en 1988. Sólo utiliza mensajes get y set. Los mensajes se intercambian en texto plano. Los agentes y la entidad administradora se asocian utilizando una definición de grupo denominado "comunidad", e identificada por un nombre de comunidad. Hay dos tipos de comunidades: read-only (sólo permiten monitorear), read-and-write (permiten monitorear y configurar). SNMP V2 Definido en 1993 y revisado en 1995 (SNMPv2c). Introdujo la utilización de mensajes get-bulkrequest que permiten solicitar información de múltiples variables de modo simultáneo. Sigue utilizando mensajes en texto plano y un sistema de identificación por comunidades. SNMP v3 Desarrollado en 1998. Introduce importantes mejoras de seguridad: incorpora mecanismos de autenticación, encriptación y control de integridad. Mecanismos de autenticación: Username, HMAC-MD5 o HMAC-SHA. Mecanismos de encriptación: DES, 3DES, AES128, AES192, AES256. Modelos de seguridad: noAuthNoPriv, authNoPriv, authPriv Administración con MG-SOFT MIB Browser Professional Edition Monitoreo con MRTG y SNMP