Network Config Management (NCM)

Introducción

El Servidor NCM (Network Config Management) de Pandora FMS permite poder interactuar con cualquier dispositivo de red, mediante los protocolos Telnet y SSH, para gestionar su configuración, realizar backups, restaurar la configuración de los dispositivos a partir de los backups realizados e incluso poder realizar ejecuciones personalizadas con los mismos.

Para la realización de todas estas tareas se basa en un sistema de plantillas por Fabricante-Modelo que permitirá personalizar todas las ejecuciones que realizarán los dispositivos de red, teniendo el control y conocimiento de todas las ejecuciones que se realizarán en cada uno de dichos dispositivos de red.

Habilitar el servidor NCM

Para la activación de esta funcionalidad en Pandora FMS es necesario que esté habilitado el servicio NCM en el servidor de pandorafms.

Para ello deben estar los siguientes parámetros correctamente configurados dentro del fichero pandora_server.conf:

# Network manager configuration server.
ncmserver 1

# Threads for NCM server.
ncmserver_threads 1

# NCM utility to execute SSH and Telnet connections.
ncm_ssh_utility /usr/share/pandora_server/util/ncm_ssh_extension

Una vez habilitados y reiniciado el PFMS server aparecerá en la vista de servidores un nuevo servidor y se habilitarán en la consola todas las secciones correspondientes a esta funcionalidad.

Para que aparezcan los menús correspondientes a todo lo relacionado con NCM server cada usuario debe tener los derechos ACL correspondientes .

Enterprise Alternative Server packages

Si utiliza los Enterprise Alternative Server packages, para el correcto funcionamiento de esta funcionalidad se debe instalar libnsl y openssh-clients.

Definiendo vendedores y modelos

Antes de empezar a trabajar, se debe asegurar de que el sistema tiene definido el fabricante y el o los modelos de dispositivos que se van a utilizar. Para ello utilice el editor de Vendedor (Vendor) y Modelo (Model).

Encontrará estos editores en la sección ManagementConfigurationNetwork Config Manager.

Esta es solo una definición descriptiva. La lógica se aplica en las Plantillas de equipo de red.

Plantillas de equipo de red

Las plantillas se aplican sobre un Fabricante y uno o varios modelos. Las plantillas definen cómo se interactúa con un equipo de red. La conexión entre NCM y el equipo se puede hacer a través de Telnet o SSH. En ambos casos habrá que proporcionar uno o varios juegos de credenciales (en el caso del fabricante Cisco el usuario/contraseña de acceso y el password de modo enable). En otros dispositivos pueden ser dos pares de credenciales.

Para las credenciales utilice el sistema interno de Pandora FMS de credenciales que permite reutilizarlas sin conocer los detalles. De esta manera el administrador puede especificar diferentes “parejas” de usuario/contraseña con un identificador, y un operador puede emplearlas sin ver el contenido. En NCM estos usuarios y contraseñas se pasan al diálogo con el dispositivo a través de macros.

Macros en el diálogo con el dispositivo de red

  • _enablepass_ : Se sustituirá por el campo password de la clave avanzada asociada al agente.
  • _username_ : Se sustituirá por el campo username de la clave de acceso al agente.
  • _password_ : Se sustituirá por el campo password de la clave de acceso al agente.
  • _advusername_ : Se sustituirá por el campo username de la clave avanzada de enable.
  • _advpassword_ : Se sustituirá por el campo password de la clave avanzada de enable. Es un alias de _enablepass_ y se pueden usar ambos indistintamente en las plantillas ya que equivalen al mismo valor.
  • _applyconfigbackup_ : Expande en tantos comandos como líneas de configuración tenga el backup actual, se aplica línea por línea, tal y como se aplican en los dispositivos de Cisco®.
  • _SOURCE_FILE_NAME_: Se sustituirá por la ruta al último firmware subido para un fabricante y modelo concreto en el servidor de Pandora FMS, para poder ser descargado usando la dirección IP del servidor FTP (campo FTP server IP).
  • _TFTP_SERVER_IP_: Se sustituirá por la dirección IP configurada para el servidor FTP desde el que se podrán descargar los firmware a utilizar por dispositivos NCM. La dirección IP se puede indicar en la configuración general de Pandora FMS.

Creación de una plantilla NCM

Haga clic en el botón Define a NCM template (menú ManagementConfigurationNetwork Config Manager) y haga clic en el botón Create.

Rellene los campos solicitados:

  • Vendors (Fabricantes): Separado por comas, una lista de proveedores compatible con scripts.
  • Models (Modelos): Separado por comas, una lista de modelos compatibles con scripts.
  • Script: Test (Prueba): Este script se utilizará para probar la disponibilidad de los dispositivos.
  • Script: Get configuration (Obtener configuración): Este script se utilizará para recuperar la configuración de los dispositivos.
  • Script: set configuration (Establecer la configuración): Este script se utilizará para aplicar la configuración, previamente respaldada, a los dispositivos.
  • Script: get firmware (Obtener firmware): Este script se utilizará para recuperar la versión del firmware de los dispositivos.
  • Script: set firmware (Fijar firmware): Este script se utilizará para reinstalar la versión de firmware de los dispositivos previamente almacenada.
  • Script: custom task (Tarea personalizada): Este script se ejecutará en los dispositivos al seleccionar la tarea CUSTOM.

Ejemplo de uso en un dispositivo Cisco 7200

Estos scripts solo funcionan si el usuario con el que va a hacer login (vía Telnet o SSH) funciona mediante user y password y no tiene enable habilitado por defecto.

Test

Se realiza una conexión de prueba al dispositivo y se finaliza la misma sin realizar ninguna operación.

enable
expect:Password:\s*
_enablepass_
exit

La conexión de prueba se utiliza para verificar que se puede conectar al dispositivo. Se puede modificar (expect:xxxx) para esperar una respuesta determinada, tal como Ready. Este solo es un ejemplo básico.

Recuperar configuración actual

Este bloque sirve para definir la manera de obtener la configuración del dispositivo activo. En este ejemplo (de Cisco®) se obtiene la configuración que se está ejecutando en el dispositivo mediante la ejecución del comando show running-config dentro del mismo:

enable
expect:Password:\s*
_enablepass_
sleep:2
term length 0
capture:show running-config
exit

capture:<comando> : Sirve para capturar como configuración activa lo que devuelve por pantalla.

sleep:2: (Versión 772 o posterior) Sirve para introducir un “tiempo de espera”, en segundos, entre dos comandos de una plantilla.

Recuperar versión de firmware

De manera similar al caso anterior, ejecutamos el comando show version | i IOS Software para obtener la versión del firmware del dispositivo, y al igual que en el caso anterior, se usa el comando capture para capturar la salida del comando.

enable
expect:Password:\s*
_enablepass_
term length 0
capture:show version | i IOS Software
exit

Restaurar el respaldo de configuración

En esta ejecución se hace uso de la macro _applyconfigbackup_ aplicando así toda la configuración almacenada en el Backup que previamente se haya almacenado en Consola.

enable
expect:Password:\s*
_enablepass_
term length 0
config terminal
_applyconfigbackup_
exit

Script personalizado de ejemplo

Ejemplo de script personalizado en el que se cambia el valor máximo de intentos de autentificación por SSH del dispositivo. Se puede aplicar cualquier modificación o ejecución de comandos que sea necesaria.

enable
expect:Password:\s*
_enablepass_
conf term
ip ssh authentication-retries 4
end
exit

Todo cambio registrado en el dispositivo quedará grabado al realizar un respaldo de firmware y se tendrá control de los cambios realizados, tanto por informes como por pantalla (Consola web PFMS).

Plantillas de datos de agentes

Estas plantillas permiten obtener datos de un dispositivo NCM y actualizar la información del agente para el que se ejecutan con dichos datos. El funcionamiento y configuración es idéntico al de las plantillas de equipo de red, pero indicando en este caso el campo del agente que actualizará el resultado de cada script. Los campos que se pueden actualizar en un agente son:

  • OS version.

Creación de una plantilla de datos de agente

Se hace clic en el botón Create (menú Management → Configuration → Network Config Manager → NCM Agents data templates y se rellenan los campos solicitados:

  • Vendors (Fabricantes): Separado por comas, una lista de proveedores compatible con scripts.
  • Models (Modelos): Separado por comas, una lista de modelos compatibles con scripts.
  • Script OS version: Este script se utilizará para actualizar el campo OS versión del agente.

Setup en Agentes

Dentro de cada uno de los agentes cuya configuración remota se deba administrar, es necesario asociar un modelo al mismo.

Esta asociación la tendrá que realizar en la sección NCM del agente:

  • Device manufacturer: Fabricante del dispositivo.
  • Device model: Modelo del dispositivo.
  • Connection method: Tipo de conexión a realizar ( Telnet o SSH ). Si utiliza SSH con pares de clave, es importante que mantenga actualizado,borrando o agregandocada dirección IP y su respectiva clave en el fichero/etc/.ssh/known_hosts .
  • Port: Puerto a utilizar en la conexión Telnet o SSH.
  • Credentials to access device: Credenciales almacenadas dentro de la sección Credential Store de Pandora FMS, que servirán para hacer la conexión inicial por Telnet o SSH. Es necesario que el usuario a la hora de conectarse necesite ambos parámetros.
  • Credentials to admin device: Credenciales almacenadas dentro de la sección Credential Store de Pandora FMS, y que se identificarán dentro de la plantilla o template seleccionada en NCM template to be used, con las macros _advusername_ para el usuario y _enablepass_ o _advpassword_ para la contraseña.
  • NCM template to be used: De haber alguna plantilla definida, escoja una compatible con el modelo escogido.
    • Si la plantilla elegida tiene configurado Script: Get configuration se podrá respaldar periódicamente mediante la opción Backup schedule (if defined). Para crear un evento si hay cambios entre respaldos de la configuración, marque la opción justo al lado derecho de la lista de selección de períodos (diario, semanal, mensual o no agendado).

Para cargar los ficheros que contengan firmware y crear respaldos de los mismos con FTP, debe hacerlo de manera cifrada para tener la mayor seguridad posible. Consulte la sección “Configuración FTP para recibir datos en Pandora FMS” y el uso de vsFTPd. Debe usar SFTP con chroot exclusivo en:

/var/spool/pandora/data_in/firmware/

Consulte la “Arquitectura de seguridad” de Pandora FMS.

  • NCM Agents data templates to be used: De haber alguna plantilla que actualice datos de agente definida, escoja una compatible con el modelo escogido. Se podrá programar la ejecución de dicha plantilla con la opción Agents data templates schedule (if defined). Para crear un evento si hay cambios entre los datos obtenidos y los actuales, marque la opción justo al lado derecho de la lista de selección de períodos (diario, semanal, mensual o no agendado).

Esta configuración se puede realizar de forma masiva para varios agentes que cumplan las mismas características desde el menú Management → Configuration → Network Config Manager → Manage NCM devices.

Gestión de configuraciones en los dispositivos

Después de haber configurado los dispositivos NCM se podrá acceder a la vista del agente o bien a la sección Management → Configuration → Network Config Manager → NCM Devices para realizar toda la gestión posible en cada uno de ellos.

Desde ambas vista se podrán encolar todas las tareas definidas en el template, descargar la configuración actual, visualizar los backups generados para el dispositivo y compararlos con el último backup obtenido.

Ejecución de snippets

También se podrán ejecutar snippets en cualquier dispositivo NCM, es decir, scripts que no estarían definidos en las plantillas y que permiten ejecutar bloques de código bajo demanda. Estos son scripts de una sola ejecución que no se almacenan.

ACL

Para la funcionalidad NCM existen tres bits de ACL distintos en los que podrá definir los diferentes usuarios a partir de los siguientes bits definidos:

View NCM data → Solo podrá visualizar la vista del agente y ver la información reflejada en ella sin poder aplicar ningún cambio sobre la misma.

Operate NCM → Podrá además de visualizar la vista, realizar las ejecuciones que quiera sobre los agentes y en la vista NCM.

Manage NCM → Con este permiso se podrán generar plantillas, modelos y nuevos fabricantes a parte de las ejecuciones que ya realiza Operate NCM.

Volver al índice de documentación de Pandora FMS