Planificación y administración de redes SNMP Jesús Moreno León Raúl Ruiz Padilla jesus.moreno.edu@ juntadeandalucia.es Mayo 2012 © Jesús Moreno León, Mayo de 2012 Algunos derechos reservados. Este artículo se distribuye bajo la licencia“ReconocimientoCompartirIgual 3.0 España" de CreativeCommons, disponible en http://creativecommons.org/licenses/by-sa/3.0/es/deed.es Este documento (o uno muy similar) está disponible en (o enlazado desde) http://informatica.gonzalonazareno.org Un repaso histórico ● ¿Cómo era la gestión de dispositivos antes de SNMP? ● ● ● ● Estaciones dedicadas de gestión, quizás con varias ventanas para diferentes tipos de información (estadísticas, actividad, etc) que eran específicas de cada fabricante. De hecho, era raro que un fabricante tuviera una estación de gestión común para todos sus dispositivos. No existía un protocolo común, sino una gran cantidad de protocolos propietarios. SNMP, Simple Network Management Protocol, se desarrolló para tratar de resolver este problema SNMP ● ● ● ● SNMP ofrece un protocolo de gestión de la red estandarizado Se puede emplear una tecnología común para intercambiar información de forma consistente entre los diferentes dispositivos de la red Desde que se publicó el primer RFC de SNMP hace más de 20 años, SNMP ha sido actualizado varias veces y se ha convertido en un estándar que se implementa en prácticamente todos los dispositivos de red También puede usarse para gestionar sistemas software Componentes y arquitectura ● Hay 4 componentes básicos en SNMP: ● Nodos gestionados o elementos de la red, que cuentan con un agente (agent). ● Como mínimo, una estación de gestión de la red (NMS) ● Información de gestión ● Un protocolo de gestión de la red, que usan el NMS y los agentes para intercambiar la información de gestión Componentes y arquitectura ● Nodos gestionados ● ● Puede ser cualquier sistema, incluyendo un sistema software, que tiene algún tipo de conectividad de red. En 1989, con el objetivo de demostrar la versatilidad de SNMP, la compañía Epilogue mostró cómo se podía usar SNMP para gestionar una tostadora. Fuente: The Internet Toaster http://www.livinginternet.com/i/ia_myths_toast.htm Componentes y arquitectura ● El agente que contiene cada nodo gestionado ● ● ● ● El agente implementa el protocolo SNMP y es capaz de enviar, recibir y parsear mensajes SNMP. El agente interactúa con el dispositivo físico y obtiene la información necesaria para responder las consultas del NMS y para enviar mensajes trap (mensajes de notificación). El agente también es capaz de realizar cambios en la configuración del dispositivo, siguiendo las instrucciones de las peticiones del NMS. Tienen que contar con una configuración de control de acceso para gestionar los privilegios de lectura y escritura. Componentes y arquitectura ● Estación de gestión de la red (NMS) ● ● Es un host que es capaz de enviar peticiones SNMP y de recibir y parsear respuestas SNMP y mensajes de notificación (trap) hacia/desde los nodos gestionados. Existen muchos NMS software comerciales que ofrecen muchas funcionalidades, como la capacidad de descubrir los nodos gestionables de la red, mostrar gráficamente los nodos en un mapa de la red, usar iconos para cada tipo de nodo, mostrar información del estado, estadísticas, etc. Componentes y arquitectura ● La información de gestión ● Es la información que intercambian los agentes y el NMS. ● Un objeto gestionado es una unidad de información de gestión. ● ● Los objetos gestionados son un concepto abstracto, son la definición de algún tipo de información, y tienen valores asignados para representarlos. Por ejemplo, supongamos que tenemos un dispositivo que puede cambiar de color; podríamos definir un objeto gestionado llamado "color", su definición correspondiente sería "el color del dispositivo" y su valor asignado podría ser 0 para negro, 1 para rosa, 2 para gris, etc. En este caso, el objeto sería un entero, y el valor del entero representaría el color. Componentes y arquitectura ● La información de gestión ● A una colección de objetos gestionados relacionados, que se definen en un documento, se le llama módulo MIB (Management Information Base). – Módulos MIB estándar, MIBs, que todos los dispositivos SNMP deben soportar. – Módulos MIB estándar que deberían ser soportados sólo por dispositivos para los que el MIB es relevante. – MIB privados, específicos para un determinado fabricante, que contienen definiciones de objetos gestionados para sus equipos. Componentes y arquitectura ● La información de gestión ● Como los MIBs contienen los objetos gestionados que representan los recursos, la configuración, el estado, etc, de un sistema, podríamos decir que los ficheros MIB forman el conjunto de consultas que un NMS puede realizar a un agente. Componentes y arquitectura ● El protocolo de gestión de la red ● ● El protocolo de intercambio de mensajes entre los nodos gestionados y el NMS, incluyendo el tipo de los mensajes y los formatos, es a lo que se llama protocolo de gestión de la red. Existen diferentes tipos de mensajes SNMP, que permiten al NMS leer y/o escribir información, y permiten a los agentes enviar mensajes trap para notificar o alarmar de una cierta situación. Arquitectura de gestión Fuente: Debby Koren, RAD University http://www3.rad.com/networks/applications/snmp/main.htm El árbol de información de gestión ● ● ● Toda la información de gestión está definida de forma que cada objeto gestionado en cualquier módulo MIB, ya sea estándar o privado, tiene un identificador único, llamado identificador del objeto (object identifier, OID). El OID es un string de enteros, separados por puntos, que coloca el objeto en un nodo de un árbol lógico conocido como el árbol de información de gestión. Los enteros representan los nodos en el camino desde la raíz hasta el propio objeto. Cada nodo tiene una etiqueta, que es el entero asociado al propio nodo, y una breve descripción. El árbol de información de gestión Fuente: Essential SNMP http://oreilly.com/catalog/esnmp/chapter/ch02.html MIB Browsers Mensajes ● La versión inicial tenía 5 operadores: ● ● ● ● ● Get, para obtener o leer el valor de una o más instancias de un objeto. GetNext, muy similar a Get, se diferencia en que esta operación obtiene el valor del siguiente OID del árbol Set, para escribir o establecer el valor de una o más instancias de un objeto. Trap, que son mensajes enviados por los agentes a los NMS para informar de que se ha producido un cierto evento Response, son las respuestas desde los agentes a los NMS que contienen los valores solicitados. Mensajes ● SNMPv2 introdujo 2 operadores nuevos: ● ● GetBulk, se introdujo como una mejora de las peticiones Get Next, cuando hay que obtener datos de una tabla (como la información de las interfaces de red de un equipo o su tabla de encaminamiento). Inform, un mensaje muy similar a trap pero que incluye una confirmación desde el NMS al recibir el mensaje. Ver para creer... ● ● ● ● Veamos el funcionamiento de SNMP en acción. Como NMS usaremos Blackowl MIB browser, y como dispositivo gestionado SNMP usaremos una máquina Windows XP Realizaremos operaciones GET con una comunidad pública y operaciones SET con una comunidad privada Capturaremos todo el tráfico para ser conscientes de los problemas de seguridad de SNMPv2 Ver para creer... Configuramos una Comunidad public (ro) y una Privada (rw) y establecemos los valores de Contacto y Ubicación Ver para creer... Desde el NMS realizamos operaciones GET para obtener los valores Contacto y Ubicación de la máquina monitorizada Ver para creer... Para hacer operaciones SET debemos configurar la Comunidad adecuada. Ahora podemos realizar una operación SET en los objetos con acceso readwrite, como Ubicación Ver para creer... El valor del objeto Ubicación se ha modificado con el contenido de la operación SET realizada Ver para creer... Ver para creer... Dispositivos SNMP public en Internet ● ● Los problemas de seguridad derivados de conectar a Internet un dispositivo con un agente SNMP configurado con una comunidad public (o una privada por defecto) son tremendos. Por tanto, como el mundo está lleno de buenos administradores, no debe haber ni un sólo dispositivo así configurado conectado a Internet... ¿o se ha escapado alguno? Dispositivos SNMP public en Internet Fuente: Shodan y agentes SNMP: Administrando el mundo http://www.elladodelmal.com/2011/05/shodan­y­agentes­snmp­ administrando­el.html Dispositivos SNMP public en Internet Fuente: Shodan y agentes SNMP: Administrando el mundo http://www.elladodelmal.com/2011/05/shodan­y­agentes­snmp­ administrando­el.html Dispositivos SNMP public en Internet Fuente: Shodan y agentes SNMP: Administrando el mundo http://www.elladodelmal.com/2011/05/shodan­y­agentes­snmp­ administrando­el.html Bibliografía ● Artículo sobre SNMP de Debby Koren, RAD University ● ● Essential SNMP, O'REILLY ● ● http://www3.rad.com/networks/applications/snmp/main.htm http://oreilly.com/catalog/esnmp/chapter/ch02.html Newsletter de Jeffrey Case, uno de los padres de SNMP ● http://www.simple-times.org/