Pandora: QuickGuides ES: Configuracion de comunicacion segura con tentacle

From Pandora FMS Wiki
Jump to: navigation, search

Volver al Índice del protocolo Tentacle


1 Documentación

2 Guía de configuración de Tentacle con opciones de seguridad

Se explica paso a paso cómo configurar tanto los Agentes Software como los servidores Tentacle para una comunicación segura.

En primer lugar, es muy recomendable realizar pruebas a mano desde los terminales para asegurar que la configuración, parámetros y certificados son correctos.

Luego se podrá realizar una configuración permanente en los respectivos ficheros de configuración:

Servidores Tentacle
/etc/tentacle/tentacle_server.conf.
Agentes Software en Unix/Linux
/etc/pandora/pandora_agent.conf
Agentes Software en MS Windows®
%ProgramFiles%\pandora_agent\pandora_agent.conf
Servidores Satellite
/ect/pandora/satellite_server.conf
Servidores Tentacle Proxy
/etc/tentacle/tentacle_server.conf.

Recuerde reiniciar los servicios correspondientes luego de cualquier modificación. En el caso de Unix/Linux también puede utilizar la opción TENTACLE_EXT_OPTS ubicada en /etc/init.d/tentacle_serverd (puede consultar el resto de las opciones para dicho demonio en este enlace ).


2.1 Cifrado de la comunicación

Para cifrar la comunicación entre los clientes y el servidor de Tentacle, será necesario contar previamente con certificados y claves SSL. En esta guía veremos todas las opciones de configuración posibles, por lo que los certificados pueden ser tanto autofirmados como firmados por una CA válida.

Para evitar confusiones en este artículo los certificados y claves de cada lado están identificados con los siguientes nombres:

  • ca_cert: Certificado de la CA usada para la firma de los certificados.
  • tentacle_key: Clave generada para el servidor de tentacle.
  • tentacle_cert: Certificado generado para el servidor de tentacle.
  • tentacle_client_key: Clave generada para el cliente de tentacle.
  • tentacle_client_cert: Certificado generado para el cliente de tentacle.

Template warning.png

Es necesario SIEMPRE indicar en los parámetros las rutas absolutas donde se encuentren los certificados, por ejemplo /etc/ssl/tentaclecert.pem

 


Template warning.png

Para utilizar las opciones seguras de Tentacle, por favor, verifique que el paquete perl(IO::Socket::SSL) esté instalado en su sistema.

 




2.2 Configuración de certificados en el servidor de Tentacle aceptando cualquier certificado en el cliente

Para esta configuración debe indicar el certificado y la clave usados para el cifrado en la configuración del servidor de Tentacle.

Ejecute manualmente en el servidor con los parámetros -e y -k

$ su - pandora -s /bin/bash
# tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp

Ejecute manualmente en el cliente con el parámetro -c:

$ echo test > file.txt
$ tentacle_client -v -c -a 192.168.70.125 file.txt

Si esta ejecución manual funciona correctamente, puede hacer la configuración permanente en el respectivo fichero:

ssl_cert tentacle_cert
ssl_key tentacle_key
server_opts -c
server_opts -c

2.3 Configuración de certificados en el servidor de Tentacle y en el cliente verificando el certificado con una CA específica en el cliente

Para esta configuración debe indicar el certificado y la clave usados para el cifrado en la configuración del servidor de Tentacle y los certificados usados para el cifrado en los clientes.

Ejecute manualmente en el servidor con los parámetros -e y -k

# su - pandora -s /bin/bash
# tentacle_server -v -e tentacle_cert -k tentacle_key -s /tmp

Ejecute manualmente en el cliente con el parámetro -e y -f:

# echo test > file.txt
# tentacle_client -v -e tentacle_client_cert -f ca_cert -a 192.168.70.125 file.txt

Si esta ejecución manual funciona correctamente, puede hacer la configuración permanente en el respectivo fichero:

ssl_cert tentacle_cert
ssl_key tentacle_key
server_opts -e tentacle_client_cert -f ca_cert
server_opts -e tentacle_client_cert -f ca_cert

2.4 Configuración de certificados en el servidor de Tentacle y en el cliente verificando el certificado con una CA específica en el servidor

Para esta configuración debe indicar los certificados y las claves usados para el cifrado en la configuración del servidor de Tentacle y de los clientes.

Ejecute manualmente en el servidor con los parámetros -e, -k y -f

# su - pandora -s /bin/bash
# tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp

Ejecute manualmente en el cliente con los parámetros -e y -k (note el uso del conector de líneas \):

# echo test > file.txt
# tentacle_client -v \
           -e tentacle_client_cert \
           -k tentacle_client_key \
           -a 192.168.70.125 file.txt

Si esta ejecución manual funciona correctamente, puede hacer la configuración permanente en el respectivo fichero:

ssl_cert tentacle_cert
ssl_ca ca_cert
ssl_key tentacle_key
server_opts -e tentacle_client_cert -k tentacle_client_key
server_opts -e tentacle_client_cert -k tentacle_client_key

2.5 Configuración de certificados en el servidor de Tentacle y en el cliente verificando el certificado con una CA específica en ambos

Para esta configuración debe indicar los certificados y las claves usados para el cifrado en la configuración del servidor de Tentacle y de los clientes.

Ejecute manualmente en el servidor con los parámetros -e, -k y -f:

# su - pandora -s /bin/bash
# tentacle_server -v -e tentacle_cert -k tentacle_key -f ca_cert -s /tmp

Ejecute manualmente en el cliente con los parámetros -e, -k y -f:

# echo test > file.txt
# tentacle_client -v \
         -e tentacle_client_cert \
         -k tentacle_client_key \
         -f ca_cert \
         -a 192.168.70.125 file.txt

Si esta ejecución manual funciona correctamente, puede hacer la configuración permanente en el respectivo fichero:

ssl_cert tentacle_cert
ssl_ca ca_cert
ssl_key tentacle_key
server_opts -e tentacle_client_cert -k tentacle_client_key -f ca_cert
server_opts -e tentacle_client_cert -k tentacle_client_key -f ca_cert

2.6 Configuración segura de Tentacle

Tanto el servidor Tentacle como los Agentes Software pueden utilizar una comunicación segura con certificados y contraseña, bien sea comunicación directa entre ambos, o bien sea mediante un servidor Tentacle Proxy.

Template warning.png

Es necesario SIEMPRE indicar en los parámetros las rutas absolutas donde se encuentren los certificados, por ejemplo /etc/ssl/tentaclecert.pem

 


Template warning.png

Para utilizar las opciones seguras de Tentacle, por favor, verifique que el paquete perl(IO::Socket::SSL) esté instalado en su sistema.

 


En las secciones anteriores se explica de manera detallada las diversas combinaciones; en esta sección se agregan las opciones de contraseña, servidor Tentacle Proxy y el uso de TENTACLE_EXT_OPTS para fijar configuraciones. También revise en esta sección anterior los nombres de los certificados y las claves de cada lado. Se emplea una sintaxis simplificada solo con propósitos didácticos:

Transferencia simple con autenticación basada en contraseña:

Parámetro extra en el servidor para contraseña:

 -x password

Parámetro extra en el cliente para contraseña ( TENTACLE_EXT_OPTS ):

 -x password

Transferencia segura, sin certificado cliente:

Parámetros extra en el servidor:

 -e tentacle_cert -k tentacle_key

Transferencia segura con certificado de cliente

Parámetros extra en el servidor:

 -e tentacle_cert -k tentacle_key -f ca_cert

Parámetros extra en el cliente ( TENTACLE_EXT_OPTS ):

 -e tentacle_client_cert -k tentacle_client_key

Transferencia segura con certificado de cliente y autenticación adicional con contraseña:

Parámetros extra en el servidor:

 -x password -e tentacle_cert -k tentacle_key -f ca_cert

Parámetros extra en el cliente ( TENTACLE_EXT_OPTS ):

 -x password -e tentacle_client_cert -k tentacle_client_key


2.6.1 Caso práctico de configuración segura con Tentacle proxy

Se explica paso a paso cómo configurar tanto los Agentes Software como el servidor Tentacle para una comunicación segura, utilizando también un servidor Tentacle Proxy. Revise en esta sección anterior los nombres de los certificados y las claves de cada lado. Consulte los parámetros disponibles en esta otra sección.

Pruebas manuales:

1. Iniciar tentacle_server manualmente:

 sudo -u user tentacle_server \
           -x password \
           -e tentacle_cert \
           -k tentacle_key \
           -f ca_cert -s /tmp -v

2. Iniciar proxy manualmente:

 sudo -u user tentacle_server -b ip_server -g 41124

3. Iniciar tentacle_client manualmente:

 sudo -u user tentacle_client \
            -a ip_proxy/ip_server \
            -x password \
            -e tentaclecert.pem \
            -k tentaclekey.pem \
            -v file

Cuando haya comprobado que el envío del archivo ha tenido éxito, puede proceder a configurar permanentemente el tentacle_server y los clientes.

Para configurar el tentacle_server con las opciones de certificado, hay que editar script de arranque del servicio tentacle_serverd, comúnmente ubicado en /etc/init.d/tentacle_serverd, lo mismo para configurar un punto intermedio para que actúe como proxy. Para configurar los Agentes Software para que utilicen la comunicación segura de Tentacle, debe editar los ficheros de configuración pandora_agent.conf, comúnmente ubicados en /etc/pandora/pandora_agent.conf.

Configuración permanente:

1. Arrancar el server con SSL. Modificar el script de arranque /etc/init.d/tentacle_serverd. Buscar la línea TENTACLE_EXT_OPTS, y añadir:

-x password -e tentacle_cert -k tentacle_key -f ca_cert

La línea completa queda así:

TENTACLE_EXT_OPTS="-i.*\.conf:conf;.*\.md5:md5;.*\.zip:collections -x password -e tentacle_cert -k tentacle_key -f ca_cer"

2. Iniciar el proxy. Al igual que en el punto anterior número 1, modificar el script de arranque /etc/init.d/tentacle_serverd de la máquina que va a actuar como proxy. Igualmente buscar la línea TENTACLE_EXT_OPTS, y añadir:

-b ip_server -g 41121

Línea completa:

TENTACLE_EXT_OPTS="-i.*\.conf:conf;.*\.md5:md5;.*\.zip:collections -b 192.168.70.208 -g 41121"

3. Arrancar el Agente Software con las opciones correspondientes. Modificar el archivo pandora_agent.conf, buscar la línea server_opts y añadir:

-x password -e tentacle_client_cert -k tentacle_client_key

Recuerde que el token server_ip debe configurarlo apuntando a la IP del proxy en lugar de la del servidor principal. Quedaría así:

server_opts -x password -e tentacle_client_cert -k tentacle_client_key

Info.png

Si no se quiere utilizar alguna de las opciones, como por ejemplo la contraseña, basta con no utilizar el parámetro correspondiente.

 


2.7 Compresión de datos en Tentacle

Info.png

Versión NG 725 o superior.

 


Tentacle permite habilitar la compresión de datos en tránsito con la opción de línea de comandos -z, reduciendo el tamaño de los datos transferidos a expensas de la carga de CPU.

2.7.1 Pandora FMS Agent

Edite el fichero /etc/pandora/pandora_agent.conf y añada -z a server_opts:

server_opts -z

2.7.2 Satellite server

Edite el fichero /etc/pandora/satellite_server.conf y añada -z a server_opts:

server_opts -z

Volver al Índice del protocolo Tentacle