Pandora: Documentation es: ReconServer

From Pandora FMS Wiki
Jump to: navigation, search

Volver a Indice de Documentacion Pandora FMS

1 Descubrimiento de red automático con Recon Server

1.1 Introducción

Desde la introducción del servidor de reconocimiento (Recon) de Pandora FMS por primera vez en la versión 1.3, ha habido multitud de actualizaciones y mejoras.


ReconServer se utiliza para explorar la red, utilizando ICMP (Ping) por medio de tareas definidas por el usuario para encontrar nuevos sistemas identificados por una dirección IP.


Este componente rastrea y agrega estos sistemas como agentes en Pandora FMS. Utilizando las «Plantillas de componentes», asigna módulos automáticamente a los nuevos agentes detectados, y de esta forma, un nuevo sistema es catalogado y recibe un conjunto de módulos de red, de forma que podríamos decir que la monitorización se despliega automáticamente.


Es importante señalar que ReconServer utiliza las direcciones IP para identificar qué agentes están ya supervisados por Pandora FMS, y es la razón por la que, desde Pandora FMS 1.3, los agentes pueden tener más de una dirección IP.


ReconServer además implementa un sistema de detección de Sistema Operativo por medio de Xprobe2 (siempre que esté instalado) que, junto con la opción de detección de puertos abiertos (realizado con Nmap), permite identificar y reconocer determinados sistemas (p.e: Solaris con puerto 23, o Windows con el 139 y el 445 abierto).


ReconServer permite también detectar la topología de los equipos que localice en la red indicada, creando relaciones entre los diferentes agentes, la conexión se representará como una relación padre - hijo (concentrador - dispositivo). Esta relación se actualizará en cada ejecución de la tarea de reconocimiento, manteniendo al día el estado de las conexiones de los dispositivos detectados.



1.2 Tareas de reconocimiento

Template warning.png

Las tareas de reconocimiento utilizan una serie de tecnologías que pueden ser detectadas por sistemas de seguridad de red como intentos de ataque. Por favor, agregue su servidor Pandora FMS a las excepciones en sus sistemas de seguridad para evitar recibir falsos informes.

 


Las tareas Recon aparecen definidas en Servers > Recon task.



Primero.jpg



Una vez en la pantalla, puede crear una tarea nueva, pulsando el botón Create, o puede editar las existentes pulsando en el icono de la llave inglesa (editar):



Segundo.jpg




Nota: Antes de definir una nueva tarea, debe haber un ReconServer iniciado en el sistema. Para asignar nuevos agentes automáticamente a un servidor de red, también se necesita iniciar un NetworkServer.


Si decide editar o crear una nueva tarea de reconocimiento de red, deberá cumplimentar los campos, necesarios para que la tarea se pueda realizar:


Task name

Imprescindible, nombre de la tarea de reconocimiento, es puramente un valor descriptivo para diferenciar la tarea por si tiene varias con diferentes valores de filtrado o plantilla.

Recon server

Imprescindible, indica el servidor de reconocimiento asignado a la tarea. Si tiene varios servidores recon, aqui debe asignar cual de ellos quiere que realice la tarea de reconocimiento.

Mode

Imprescindible, modo de la tarea a escoger entre "Network sweep" y "Custom script". El primer modo es el modo convencional de tarea de reconocimiento de red, y la segunda es el modo en el que se asocia a la tarea un script personalizado cuyo funcionamiento junto a un ejemplo se verán en sucesivos apartados.

Network

Imprescindible, red sobre la que realizar la exploración. Utiliza el formato de red / mascara de bits. Por ejemplo 192.168.1.0/24 (red de clase C), escanearía las direcciones de 192.168.1.1 a 192.168.1.254.

Interval

Intervalo de repetición de la búsqueda de equipos. No utilice intervalos muy cortos ya que recon explora una red enviando un Ping a cada dirección, si utiliza redes de exploración muy amplias (por ejemplo una clase A) combinado con intervalos muy cortos (6 horas) estará provocando que Pandora FMS esté constantemente bombardeando la red con tráfico ICMP, cargándola innecesariamente y sobrecargando su Pandora.


Template warning.png

Sucesivas ejecuciones de una tarea recon pueden crear nuevos agentes o actualizar agentes y módulos ya existentes. Si no desea que esto ocurra, configure el intervalo a manual deje que la tarea de reconocimiento se ejecute cuando usted desee.

 



Module template

Plantilla de componentes que añadir a los equipos descubiertos. Cuando se detecte un dispositivo, se le asignarán todos los módulos incluidos en la plantilla de componentes definida.

OS

Filtro, si se selecciona uno en lugar de cualquiera (Any) sólo se añadirán los equipos con ese sistema operativo. Piense que en determinadas situaciones Pandora FMS utiliza la heurística de nmap para resolver un sistema operativo, lo que implica que tiene una cierta probabilidad de fallo, ya que este tipo de resolución se realiza con patrones estadísticos que en función de algunos factores ajenos pueden fallar (redes con filtrados, software de seguridad, versiones modificadas de los sistemas). Para poder utilizar con seguridad este método debe tener instalado Xprobe2 en su sistema.

Ports

Filtro, analiza puertos, puede definir puertos específicos o rangos, p.e: 22,23,21,80-90,443,8080. Si utiliza este campo, sólo aquellos hosts detectados que tengan al menos uno de los puertos aquí enumerados, será detectado y añadido al sistema. Si se detecta un host pero no tiene al menos uno de los puertos abiertos, será ignorado. Esto en combinación con el filtrado por tipo de OS permite detectar aquellos sistemas que nos interesan exclusivamente, p.e: detectando que es un router porque tiene los puertos 23 y 57 abiertos y el sistema lo detecta como de tipo "BSD".

Group

Es el grupo donde añadir los equipos descubiertos. Deberá asignar obligatoriamente los nuevos equipos a un grupo. Si ya dispone de un grupo especial para ubicar a los agentes no clasificados, puede ser una buena idea asignarlo ahí.

Incident

Indica si al descubrir equipos nuevos crea un incidente o no. Se creará un incidente por tarea de reconocimiento (no por máquina detectada) haciendo un resumen de todos los sistemas nuevos detectados. Se asignará al grupo establecido previamente.

SNMP default community

Comunidad SNMP con la que se intentará ampliar la información del objetivo. Puede agregar tantas como necesite separadas por comas.

Comments

Comentarios acerca de la tarea de reconocimiento de red.

Detección de SO

Al elegir esta opción la exploración detectará el SO.

Name resolution

Al elegir esta opción el agente se creará con el nombre del equipo, siempre y cuando esté configurado en el propio equipo, si no creará el agente con el nombre de la IP.

Parent detection

Al seleccionar esta opción detectará en la exploración si hay equipos conectados a otros y los asociará como hijos.

Parent recursion

Indica el numero máximo de recursión con la que se podrán generar los agentes como padres e hijos, después de realizar la exploración.

VLAN enabled

Habilita la detección de VLAN.



Ropts.png



Una vez que haya finalizado, pulse el botón Update si está editando una tarea ya creada, o bien el botón Create si está creando una.


Las plantillas de componentes y de grupos asignados a nuevos host en este barrido permiten desplegar un reconocimiento de red que explore grandes redes en minutos o en horas. Se podrán detectar y comenzar a monitorizar toda una red con sólo unos cuantos pasos.


Una vez definidas las tareas Recon se deben lanzar para poder obtener la información de los equipos de la red. Para ello, vaya al menú Servers -> Manage servers:

Cuarto.jpg



Para ver el estado de los servidores. También puede pulsar sobre el elemento de la cabecera All systems, que le llevará a la misma pantalla:



Quinto.jpg



La siguiente pantalla muestra el estado de los servidores de Pandora FMS:



Sexto.jpg



Busque en la consola los detalles de configuración del servidor Recon y pulse sobre él. Verá una pantalla con el estado de las tareas recon como la adjunta.



Septimo.jpg



Se debe pulsar el botón de la izquierda (el icono circular) para iniciar la tareas recon. Una vez hecho esto, llevará un tiempo la finalización de las mismas.

1.2.1 Topología de red

ReconServer no solo permite detectar los host de una organización, sino que puede detectar como están relacionados entre si. Eso supone, que bien implementado, Pandora FMS puede detectar, monitorizar y representar con exactitud su red, independientemente del número de sistemas que tenga su red.

Esta es una captura de los sistemas monitorizados por Pandora FMS en uno de nuestros servidores de desarrollo que monitoriza cerca de 1000 sistemas:



Cool network map sample.jpg



Para poder hacer esto con éxito necesita planificar la monitorización, por niveles, como si fuera una cebolla, de forma que se detecten primero los niveles más cercanos a Pandora, para que este los conozca cuando detecte a los sistemas que hay detrás de ellos y así pueda asociarlos a los nodos ya detectados.

Para ello cree primero tareas de red para los equipos de comunicaciones mas inmediatos, y luego para los siguientes. Una vez que ya tenga detectados los sistemas mas básicos, cree tareas de reconocimiento más complejas basadas en arquitecturas y/o sistemas (por aplicación o por SO), asignándoles plantillas predefinidas de red, adaptadas lo mejor posible a los sistemas que encuentre: P.e: creando una plantilla para servidores web que monitorice el estado del servidor mediante un chequeo avanzado TCP, verificando tiempo de latencia y respuesta de red, y monitorizando puertos de servicio como el SSH o el FTP, si ha definido chequeos WMI o Plugin aplicables, también puede añadirlos.

Si a un sistema detectado por primera vez se le aplica una plantilla que contiene un módulo que no es aplicable, este permanecerá "no inicializado" debido a que nunca obtendrá datos (no aplica al objetivo).

Si ha configurado correctamente los parámetros de mantenimiento de pandora, pandora_db se encargará de eliminar el módulo inválido del sistema automáticamente.


1.2.2 Ejemplo de uso

Si hay cuatro clases C para servidores de red, y una clase B con muchas estaciones de trabajo, se podrá definir una «Plantilla de componentes» para cada una de esas cinco redes.

Por ejemplo:

  • Plantilla número #1: Se emplea para un servidor Windows. Este puede tener cinco módulos:

WMI para saber el uso de CPU en el servidor Windows. WMI para saber la memoria disponible en el servidor Windows. WMI para saber la entrada de datos de la interfaz de red. WMI para saber la salida de datos de la interfaz de red. ICMP comprobar que sigue en funcionamiento.

  • Plantilla número #2: Se emplea para comprobar los servidores UNIX HTTP:

ICMP comprueba si está en funcionamiento. TCP comprueba si el puerto 80 está operativo y responde a los comandos HTTP. TCP comprueba si el puerto 22 está operativo y responde a SSH. SNMP para saber el uso de la CPU. SNMP para saber la entrada de datos de la interfaz de red. SNMP para saber la salida de datos de la interfaz de red.

  • Plantilla número #3: Empleado para comprobar servidores UNIX Oracle:

ICMP comprueba si está en funcionamiento. TCP comprueba si un puerto específico TCP está funcionando y respondiendo a los comandos Oracle. TCP comprueba si un puerto específico está abierto. SNMP para saber el uso de la CPU. SNMP módulo para saber la memoria disponible.

  • Plantilla número #4: Empleado para comprobar servidores Windows CIFS:

ICMP comprueba si está en funcionamiento. SNMP para saber el uso de la CPU. SNMP módulo para saber la memoria disponible. Varios TCP para comprobar la disponibilidad CIFS. SNMP para saber la entrada de datos de la interfaz de red. SNMP para saber la salida de datos de la interfaz de red.

  • Plantilla número #5: Empleado para comprobar la actividad de todas las estaciones de trabajo:

ICMP comprobar que funcione. TCP comprueba que los puertos específicamente «prohibidos» estén cerrados, como el 21, 22, 80, 8080, 5900, P2P etc.

Crear cinco tareas de supervisión, cuatro para cada tipo de servidor en cada red o subred asignada a este tipo de servidores. Asignar cada tarea a un grupo diferente y asignar su perfil de red. La última, para la estación de trabajo, asigna a toda la clase B y a otro grupo diferente. Use un intervalo más corto de análisis (medio día, un día) para las estaciones de trabajo y más largo para los servidores (2-3 días o una semana).

Los servidores de supervisión utilizan un analizador ICMP interno para comprobar si la máquina funciona. Cuando se crea un agente, intenta resolver la dirección IP para poner «hostname» como nombre del agente.

1.3 Recon Scripts

1.3.1 Introducción

La nueva funcionalidad "ReconScripts" permite hacer algo mucho más flexible que la monitorización de red y el descubrimiento automático que hacía el ReconServer clásico. Los scripts del recon se desarrollan de forma individual con objetivos totalment específicos, como puedan serlo los plugins de red o los plugin de agente. Cada ReconScript es diferente y tiene un propósito.

Info.png

La tarea de reconocimiento de barrido (Network sweep) se ha mejorado en Pandora 7, incluyendo detección de padres, análisis SNMP, y detección de VLAN.

 



Su idea básicamente consiste en "detectar" cosas dentro del sistema que reconoce y dar de alta automáticamente una monitorización (de red, plugin, wmi...) de forma que de una forma totalmente personalizada podemos dar de alta automáticamente instancias en una base de datos oracle, nuevos host virtuales dentro de un VmWare gestionado con VirtualCenter, o podemos detectar nuevas instancias en un servidor de aplicaciones WebLogic. Puede desarrollarse un script o aplicacion que realice las tareas que quiera realizar y programar su ejecución mediante el Recon Server.


Cada ReconScript es personalizado y muy específico, para una única tecnología. Nosotros hemos desarrollado uno completamente OpenSource, lo hemos llamado SnmpDevices. Este script se puede encontrar en /usr/share/pandora_server/util/plugin_reconserver/snmpdevices.pl.


Este sistema permite rastrear un intervalo de IPs dado y crear agentes por cada sistema SNMP que le responda (dada una comunidad SNMP), además creará automáticamente ciertos módulos de red (SNMP) según los resultados que obtenga, de forma que por cada host que reconoce creará cuatro módulos SNMP:

  • SysUptime: Uptime del sistema (nº de segundos desde que se inició el sistema)
  • SysName: Nombre del sistema.
  • Local InReceives: Bytes recibidos en el sistema /seg.
  • Local OutRequests: Bytes transmitidos desde el sistema /seg.


Y por cada interfaz reconocida (automáticamente detectará el nombre de la interfaz) en un host se crearán otros tres módulos SNMP:

  • Status: Estado (operativa o no operativa).
  • Inbound bps: Bytes de entrada en la interfaz / seg.
  • Outbound bps: Bytes de salida en la interfaz / seg.

1.3.2 Ejemplos de utilización

Este script se puede utilizar de dos maneras: desde la consola de Pandora FMS y desde la shell.


1.3.2.1 Utilización desde la consola de Pandora FMS

El primer paso para utilizar un recon script desde la consola de Pandora es acceder a la sección Servers > Recon script. En este apartado asociaremos todos los scripts que deseemos utilizar añadiendo de una en una las rutas absolutas de los scripts.


Recon script1.png


Una vez añadido el script de ejemplo, procederemos a crear una tarea recon asociada al mismo.

Si en el formulario de creación de la tarea recon seleccionamos el modo "Custom script" deberemos escoger algunos datos comunes con una tarea de reconocimiento normal, como son el servidor asociado, el intervalo de ejecución de la tarea, el grupo al que pertenecerán los agentes que se creen, si se crearán o no incidentes y comentarios adicionales.

Además de esta información, deberemos configurar una serie de parámetros propios del script, como son el script que queremos utilizar de los añadidos con anterioridad (en nuestro caso Snmpdevices) y los campos personalizados que pasaremos a dicho script (hasta un total de 4).

A nuestro script se le pasa automáticamente desde la consola el Id del task creado y respecto a los controles del formulario de creación el grupo seleccionado y el flag que determina si se crearán o no incidentes.

Además de los cuatro posibles campos personalizados, utilizará los dos primeros, siendo el primero la red en la que rastreará y el segundo la community SNMP de los dispositivos de los que se esperan resultados.


Recon script2.png


Una vez rellenados estos dos campos personalizados y opcionalmente los comentarios pertinentes, se habŕa creado la tarea recon asociada al script de prueba Snmpdevices, por lo que comenzará el rastreo y se irán creando los agentes y módulos anteriormente explicados.

1.3.2.2 Utilización desde la shell

No es necesario lanzarlas desde la shell, recomendamos que utilice esta herramienta desde la consola de Pandora FMS.

Sintaxis de utilización:

./snmpdevices.pl <task_id> <group_id> <create_incident_flag> <netmask> <snmp_community> [<-a>]


Ejemplo de utilización:

./snmpdevices.pl 3 8 0 192.168.100.0/24 community2010

- Habiendo un recon task con ID 3 al que se asociará. - Los agentes creados se asignarán al grupo con Id 8 (Databases). - Se ha desactivado la creación de Incidentes con el tercer parámetro a 0. - Se rastreará en la red 192.168.100.0 con máscara 24, por lo que se buscará desde la dirección 192.168.100.1 hasta 192.168.100.254. - Este rastreo se hará con la community SNMP "community2000". - Existe un tercer parámetro opcional (-a), el cual si es utilizado, obligará a procesar y generar módulos para el estado de todas las interfaces, independientemente de si se encuentran caídas o no. (Por defecto el script recon solo procesa el estado y devuelve información de rendimiento de las interfaces activas)

1.3.3 Script de Recon SNMP L2

Este script, presente en las versiones 5.1 y superiores, está ubicado en /usr/share/pandora_server/util/recon_scripts, y se apoya en consultas SNMP para llevar a cabo un escaneo de la red de nivel 2. A través de SNMP se obtiene información de nivel 2 de routers y switches. Los hosts que después del escaneo de nivel 2 sigan desconectados se conectan a través de traceroute.

Para llevar a cabo un escaneo de SNMP nivel 2, seleccione el script personalizado SNMP L2 Recon y configure los siguientes parámetros:

  • Network: Una lista de redes a escanear separadas por comas (eg. 192.168.1.0/24,192.168.2.0/24).
  • Community: Una lista de comunidades SNMP separadas por comas que se utilizarán para realizar las consultas.
  • Router (opcional): La IP de un router de la red. No es obligatorio, pero facilita el escaneo.
  • Optional parameter (opcional): Si se configura a -a se añadirán todas las interfaces de red (por defecto sólo se añaden las interfaces que están arriba).



Snmp l2 recon task.png

Para mostrar la red descubierta vaya a Operación -> Vista Network -> Mapa de red y marque la casilla Interfaces de red L2.



Snmp l2 network map.png



Template warning.png

Si la mayoría de hosts no responden a consultas SNMP el escaneo será muy lento. Por cada comunidad SNMP, cada host es sondeado con un timeout de snmp_timeout segundos y snmp_checks reintentos (ambos definidos en /etc/pandora/pandora_server.conf). Con valores por defecto y dos comunidades SNMP esto significa un retardo de 30 minutos para una red de clase C en la que ningún host responde a consultas SNMP (2comunidades x 1reintentos x 4segundos x 254 hosts). Puede bajar estos valores para hacer el escaneo más rápido, pero esto afectará también a otros módulos SNMP.

 


1.3.4 Script de Recon WMI

Este script busca en la red hosts que respondan a consultas WMI y crea módulos por defecto para estos hosts.

Para llevar a cabo un escaneo de red WMI cree una nueva tarea recon, seleccione el script personalizado WMI Recon Script y configure los siguientes parámetros:

  • Network: Lista de redes a escanear separadas por comas (eg. 192.168.1.0/24,192.168.2.0/24).
  • WMI auth: Lista de pares de autenticación WMI en el formato usuario%password separados por comas (e.g. Administrator%pass).



Wmi recon task.png



Volver a Indice de Documentacion Pandora FMS