Difference between revisions of "Pandora: Documentation es: Tentacle es: UserGuide"

From Pandora FMS Wiki
Jump to: navigation, search
(Tentacle Proxy: Estilo.)
(Tentacle Proxy: Fe de erratas.)
Line 202: Line 202:
 
El servidor de Tentacle puede funcionar como ''proxy'' comunicando muchos clientes Tentacle hacia un servidor Tentacle inaccesible.
 
El servidor de Tentacle puede funcionar como ''proxy'' comunicando muchos clientes Tentacle hacia un servidor Tentacle inaccesible.
  
El siguiente diagrama muestra como el servidor ''proxy'' de Tentacle funciona:
+
El siguiente diagrama muestra cómo funciona el servidor ''proxy'' de Tentacle:
  
 
  +-----------------+              +-----------------+            +-----------------+
 
  +-----------------+              +-----------------+            +-----------------+

Revision as of 20:59, 9 March 2021

Volver al Índice de Documentación Pandora FMS


1 ¿Qué es Tentacle?

Tentacle, una herramienta cliente/servidor de transferencia de ficheros, es:

  • Segura por diseño.
  • Fácil de usar e integrar con otras herramientas.
  • Versátil, flexible y multi-plataforma.

Tentacle ha sido creada para reemplazar herramientas más complejas como SCP/SSH y FTP para realizar transferencias simples de ficheros, y dejar de usar mecanismos de autenticación poco seguros como .netrc, así como inicios de sesión interactivos automatizados con expect y el mecanismo de claves SSH, para pasar a usar una autenticación basada en el estándar X.509, utilizando certificados.

El cliente y el servidor han sido diseñados para ejecutarse desde línea de comandos, o llamados desde un shellscript. Tentacle es desde 2008 el método de transferencia por defecto para Pandora FMS, sustituyendo a SCP.

Tentacle está implementado en Perl y en Ansi C (ambas plataformas incluidas en Windows®).

Puede descargarlo y obtener más información en el sitio Web oficial del proyecto en SourceForge.


1.1 Documentación

2 Guía de usuario de Tentacle

2.1 Instalación de Tentacle

2.1.1 Instalación de la versión de Perl

2.1.1.1 Instalación desde el SVN

El proceso consiste en descargar el código fuente mediante Apache® Subversion® (svn) y compilarlo. Usted necesitará tener derechos de administrador o root (en esta documentación son las líneas que comiencen con el carácter numeral # ). Usted es el único responsable de dicha clave.

Para instalar la versión cliente y el servidor, ambos, ejecutar:

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/ tentacle
$ cd tentacle
$ perl Makefile.PL
$ make
# make install

Para instalar sólo la parte cliente ejecute:

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/client
$ cd client
$ perl Makefile.PL
$ make
# make install

Para instalar solo la parte del servidor ejecute:

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/trunk/perl/server
$ cd server
$ perl Makefile.PL
$ make
# make install

Si quiere instalar en un directorio concreto, sustituya:

$ perl Makefile.PL

por:

$ perl Makefile.PL PREFIX=/ubication

2.1.1.2 Instalación manual

Si make no está disponible en su sistema, puede hacer la instalación manualmente, copiando los ficheros tentacle_client y tentacle_server al directorio apropiado (por ejemplo, /usr/local/bin).

En este caso, si el binario de Perl no está situado en /usr/bin/perl, edite ambos ficheros de tentacle y cambie la primera línea de forma que apunte a la ruta correcta donde se encuentre su binario de Perl. Así, por ejemplo, sustituya ubication por la ubicación de Perl en el sistema a instalar:

#!/ubication/perl

2.1.2 Instalando la versión de C

2.1.2.1 Instalando desde SVN

Teniendo en cuenta el preámbulo de instalación de la sección anterior, para instalar el cliente de Tentacle ejecute:

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/c/ tentacle
$ cd tentacle
$ ./configure
$ make
# make install

Asegúrese de que la salida del comando configure no genera ningún error, dependencias incompletas de cabeceras, etc.

Para desactivar el soporte de OpenSSL, activado por defecto, sustituya:

$ ./configure

por:

$ ./configure --disable-ssl

2.2 Ejemplos de uso de Tentacle

Para visualizar las opciones disponibles ejecute con el parámetro -h, tanto en la versión cliente como la versión servidor:

$ tentacle_client -h
Usage: tentacle_client [options] [file] [file] ...

Tentacle client v0.4.0. 

Options:
       -a address      Server address (default 127.0.0.1).
       -b localaddress Local address to bind.
       -c              Enable SSL without a client certificate.
       -e cert         OpenSSL certificate file. Enables SSL.
       -f ca           Verify that the peer certificate is signed by a ca.
       -g              Get files from the server.
       -h              Show help.
       -k key          OpenSSL private key file.
       -p port         Server port (default 41121).
       -q              Quiet. Do now print error messages.
       -r number       Number of retries for network operations (default 3).
       -t time         Time-out for network operations in seconds (default 1s).
       -v              Be verbose.
       -w              Prompt for OpenSSL private key password.
       -x pwd          Server password.
       -y proxy        Proxy server string (user:[email protected]:port).
$ tentacle_server -h
Usage: tentacle_server -s <storage directory> [options]

Tentacle server v0.5.0.

Options:
       -a ip_addresses IP addresses to listen on (default 0,0.0.0.0).
                       (Multiple addresses separated by comma can be defined.)
       -c number       Maximum number of simultaneous connections (default 10).
       -d              Run as daemon.
       -e cert         OpenSSL certificate file. Enables SSL.
       -f ca_cert      Verify that the peer certificate is signed by a ca.
       -h              Show help.
       -i              Filters.
       -k key          OpenSSL private key file.
       -m size         Maximum file size in bytes (default 2000000b).
       -o              Enable file overwrite.
       -p port         Port to listen on (default 41121).
       -q              Quiet. Do now print error messages.
       -r number       Number of retries for network opertions (default 3).
       -S (install|uninstall|run) Manage the win32 service.
       -t time         Time-out for network operations in seconds (default 1s).
       -v              Be verbose.
       -w              Prompt for OpenSSL private key password.
       -x pwd          Server password.
       -b ip_address   Proxy requests to the given address.
       -g port         Proxy requests to the given port.
       -T              Enable tcpwrappers support.
                       (To use this option, 'Authen::Libwrap' should be installed.)

Los valores predeterminados para todas opciones también se mostrarán en la ayuda.

Para todos los ejemplos mostrados a continuación, el servidor se encuentra en la dirección 192.168.1.1 y la clave privada del cliente no está protegida con contraseña.

  • Transferencia simple de un fichero limitado a un tamaño máximo de 1 megabyte y depositado sobre /tmp:
$ tentacle_server -m 1048576 -s /tmp -v
$ tentacle_client -a 192.168.1.1 -v /home/user/myfile.dat
  • Transferencia simple en el puerto 65000 con el modo de sobreescritura activado:
$ tentacle_server -o -p 65000 -s /tmp -v
$ tentacle_client -a 192.168.1.1 -p 65000 -v /home/user/myfile.dat
  • Transferencia simple con autenticación basada en contraseña:
$ tentacle_server -x password -s /tmp -v
$ tentacle_client -a 192.168.1.1 -x password -v /home/user/myfile.dat
  • Transferencia segura, sin certificado cliente:
$ tentacle_server -e cert.pem -k key.pem -w -s /tmp -v
$ tentacle_client -a 192.168.1.1 -c -v /home/user/myfile.dat
  • Transferencia segura con certificado de cliente:
$ tentacle_server -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v
$ tentacle_client -a 192.168.1.1 -e cert.pem -k key.pem -v /home/user/myfile.dat
  • Transferencia segura con certificado de cliente y autenticación adicional con contraseña (note el uso del conector \ para facilitar la escritura de varios parámetros):
$ tentacle_server -x password -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v
$ tentacle_client \
  -a 192.168.1.1 \
  -x password \
  -e cert.pem \
  -k key.pem \
  -v /home/user/myfile.dat

El servidor de Tentacle permite su configuración mediante un fichero de texto plano. Todas las opciones de línea de comandos están disponibles a través de este archivo. Si se especifica una misma opción de configuración en el fichero y en línea de comandos, tendrá preferencia el valor indicado en esta última. La ruta completa al fichero de configuración se indica con la opción -F.

$ tentacle_server -F /etc/tentacle/tentacle_server.conf

2.3 Tentacle Proxy

El servidor de Tentacle puede funcionar como proxy comunicando muchos clientes Tentacle hacia un servidor Tentacle inaccesible.

El siguiente diagrama muestra cómo funciona el servidor proxy de Tentacle:

+-----------------+              +-----------------+            +-----------------+
| Tentacle client |              | Tentacle Proxy  |            | Tentacle server |
+-----------------+              +-----------------+            +-----------------+
  |                                      |                                      |
  +------'SEND <file> SIZE size\n'---->>>+------'SEND <file> SIZE size\n'---->>>+
  |                                      |                                      |
  +<<<----------'SEND OK\n'--------------+<<<----------'SEND OK\n'--------------+
  |                                      |                                      |
  +----------------data--------------->>>+----------------data--------------->>>+
  |                                      |                                      |
  +----------------data--------------->>>+----------------data--------------->>>+
  |                                      |                                      |
  +----------------data--------------->>>+----------------data--------------->>>+
  |                                      |                                      |
  +<<<----------'SEND OK\n'--------------+<<<----------'SEND OK\n'--------------+
  |                                      |                                      |
  +--------------'QUIT\n'------------->>>+--------------'QUIT\n'------------->>>+
  |                                      |                                      |
  .                                      .                                      .


El proxy no posee ninguna información, sino que únicamente envía la información desde los clientes hasta el servidor Tentacle.

Por ejemplo, para lanzar el servidor Tentacle en modo proxy utilice los siguientes parámetros:

$ tentacle_server -b 192.168.200.200 -g 65000

Estos nuevos parametros son dirección IP (-b) y puerto (-g) del servidor tentacle innaccesible.

Por supuesto se puede poner la dirección IP y el puerto para la información recibida de una manera normal:

$ tentacle_server -a 192.168.100.100 -p 45000 -b 192.168.200.200 -g 65000

*NOTA: El tentacle en modo proxy ahora soporta parámetros de autenticación y encriptación!!