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 (PANDORA FMS ENTERPRISE ONLY). ncmserver 1 # Threads for NCM server (PANDORA FMS ENTERPRISE ONLY). 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 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 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 Management → Configuration → Network 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 campopassword
de la clave avanzada asociada al agente._username_
: Se sustituirá por el campousername
de la clave de acceso al agente._password_
: Se sustituirá por el campopassword
de la clave de acceso al agente._advusername_
: Se sustituirá por el campousername
de la clave avanzada deenable
._advpassword_
: Se sustituirá por el campopassword
de la clave avanzada deenable
. 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®.
Creación de una plantilla NCM
Haga clic en el botón Define a NCM template (menú Management → Configuration → Network 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):
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/firmware/
Consulte la “Arquitectura de seguridad” de Pandora FMS.
Gestión de configuraciones en los dispositivos
Luego de haber configurado se podrá acceder a la vista del agente o bien a la sección Management → Configuration → Network Config Management para realizar toda la gestión posible en cada uno de ellos.
Inicialización de dispositivo
Se debe hacer clic sobre el botón Get running-config para comenzar a obtener toda esta información. Al hacer clic pedirá confirmación y al aceptar llevará a la vista general de dispositivos configurados, donde observará la tarea en curso hasta que finalice:
Desde esta misma vista, podrá realizar todas las interacciones definidas en el template, viendo su proceso. Una vez realice la obtención de toda la información, podrá visualizarla en la vista del agente.
En ese momento se habrán habilitado todas las opciones en la vista del agente para poder actualizar la configuración guardada, actualizar el backup e incluso restaurar la configuración actual del dispositivo de red por la del backup almacenado en Pandora FMS.
Diferencias en respaldos de firmware
En el caso de que la última versión descargada no coincida con la versión de backup, aparecerá una ventana con las diferencias entre ambas versiones:
Por cada una de las ejecuciones que se realicen de esta funcionalidad ya sean satisfactorias o no, se creará un nuevo evento en Pandora FMS indicando que tarea se ha realizado, si se ha completado o no y el fallo de la misma en el caso de que no haya terminado correctamente.
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.