Pandora: Documentation es: Anexo Configurando SSHyFTP

From Pandora FMS Wiki
Jump to: navigation, search

Volver al índice de documentación de Pandora FMS

Configuración SSH para recibir datos en Pandora FMS

En ocasiones, no podemos utilizar el método de transferencia standard en Pandora FMS para transmitir ficheros (Tentacle) porque podemos estar usando un sistema Unix que no tiene Perl (p.e: Sistemas ESX) y tenemos que usar el agente antiguo en shellscript. Cuando esto ocurre las alternativas son usar FTP o SSH para transferir el Archivo.

Pandora FMS puede usar el protocolo SSH para copiar los paquetes de datos XML generados por los agentes, hacia el servidor. Para ello tiene que hacer los siguientes pasos:

1. Crear un usuario "pandora" en el host donde está su servidor Pandora FMS, que va a recibir los datos por SSH. Si ya ha instalado un servidor Pandora, ya tendra seguramente ese usuario creado. Establezca una contraseña robusta para ese usuario con el comando:

 passwd pandora

2. En el servidor, crear un directorio /home/pandora/.ssh con permisos 750 y usuario pandora:root

3. Crear, en cada máquina donde tenga un agente que quiera usar SSH, una pareja de llaves. Para ello ejecute el comando siguiente con el mismo usuario con el que se ejecutará el agente de Pandora:

# ssh-keygen 

Saldrá una serie de preguntas a las que tendrá que contestar simplemente pulsando Enter. Ya ha creado una llave publica/privada para ese usuario en la máquina. Ahora tiene que copiarla a la máquina de destino, que es el servidor de Pandora a donde quiere mandar los datos.

4. Copiar la llave publica al servidor de Pandora. La llave publica que acaba de generar se puede copiar de dos maneras.

Manualmente, incluyendo el contenido del fichero de llave publica que se encuentra en la maquina donde esta el agente, sobre el fichero de llaves remotas que se encuentra en el servidor de Pandora, ubicado en /home/pandora/.ssh/authorized_keys (que debe tener ownership pandora:root y permisos 600).

El fichero de llave publica generado en la maquina donde está el agente es /root/.ssh/id_rsa.pub. Este fichero tendrá un contenido similar a este:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzqyZwhAge5LvRgC8uSm3tWaFV9O6fHQek7PjxmbBUxTWfvNbbswbFsF0esD3COavziQAUl3rP8DC28vtdWHFRHq+RS8fmJbU/VpFpN597hGeLPCbDzr2WlMvctZwia7pP4tX9tJI7oyCvDxZ7ubUUi/bvY7tfgi7b1hJHYyWPa8ik3kGhPbcffbEX/PaWbZ6TM8aOxwcHSi/4mtjCdowRwdOJ4dQPkZp+aok3Wubm5dlZCNLOZJzd9+9haGtqNoAY/hkgSe2BKs+IcrOAf6A16yiOZE/GXuk2zsaQv1iL28rOxvJuY7S4/JUvAxySI7V6ySJSljg5iDesuWoRSRdGw== [email protected]

De forma automática, con el siguiente comando:

ssh-copy-id [email protected]_del_host_del_servidor

Le preguntará la password del usuario "pandora" del servidor y una vez que lo confirme, le mostrará un mensaje similar al siguiente:

Now try logging into the machine, with "ssh [email protected]_del_host_del_servidor'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Realice ese prueba para verificar que la conexion automática al servidor de pandora con el usuario "pandora" desde la maquina del agente, con el usuario root es posible. Hasta que esto no sea posible, el agente no podrá mandar datos por SSH.

Este método será empleado por los agentes para copiar datos en el directorio del servidor de Pandora FMS /var/spool/pandora/data_in.

Asegúrese igualmente de que el directorio /var/spool/pandora/data_in existe y el usuario «pandora» tiene permisos de escritura, pues de lo contrario no funcionará.

Por último, modifique la configuracion del agente para especificarle que el metodo de copia es ssh y no tentacle. Esto se modifica en el fichero /etc/pandora/pandora_agent.conf, en el token de configuracion transfer_mode.

Securización del servidor SSH

Pandora FMS emplea, entre otros, sftp/ssh2 (scp) para copiar ficheros de datos desde los agentes al servidor. Debido a esto, necesitará al menos un servidor de datos con un servidor SSH2 a la escucha del usuario «pandora». Esto podría resultar un riesgo significativo en una red que necesita estar estrictamente securizada. OpenSSH2 es muy seguro, pero respecto a seguridad informática no existe nada que resulte absolutamente seguro, por tanto, se deben tomar medidas para hacerlo «más» seguro.

Para securizar SSH se recomienda usar scponly, una pequeña herramienta que prohíbe que los inicios de sesión remotos empleen SSH para usos concretos. De este modo, se pueden prohibir accesos por SSH para el usuario «pandora», y permitir únicamente sftp/scp en este sistema.

¿Qué es scponly?

Scponly es un 'shell' alternativo para administradores de sistemas que desean proporcionar acceso a usuarios remotos para leer y escribir ficheros sin proporcionar ningún privilegio de ejecución remoto. Funcionalmente, se podría describir como un sistema intermedio entre el sistema y las aplicaciones del sistema SSH.

Un uso típico de scponly es crear una cuenta semi-pública que no es similar al concepto de inicio de sesión anónimo para FTP. Esto permite a un administrador compartir ficheros de la misma manera que lo haría un FTP, sólo que empleando toda la protección que proporciona SSH. Esto es especialmente significativo si considera que las autenticaciones FTP cruzan redes públicas en un formato de texto plano.

Usar scponly para securizar el usuario «pandora» es muy fácil:

Instalar scponly (para sistemas basados en Debian):

 	apt-get install scponly 

O utilizar yum install scponly con los repositorios adecuados, o instalar manualmente rpm -i scponly.

Remplazar el shell del usuario «pandora» para scponly:

 	usermod -s /usr/bin/scponly pandora

Ya está hecho. Con esto, se podrá usar el usuario «pandora» para copiar ficheros con scp, pero no se podrá acceder al servidor con el usuario «pandora».

Más información en la página web de scponly.

Configuración para recibir datos en el servidor mediante FTP

Lea el apartado anterior referente a SSH. La configuracion en el cliente para enviar datos por FTP permite especificar el usuario y el password que se va a enviar, con lo que es bastante sencillo implementar la copia por FTP al agente, en vez de tentacle. El inconveniente es que el envio de datos por FTP, es menos seguro ya que al tener un FTP funcionando en el servidor de Pandora, esto lo hace mas vulnerable a fallos inherentes al diseño de seguridad del sistema FTP, vea los apartados posteriores para saber como securizar minimamente su servidor.

Además de configurar los agentes de Pandora para el envío de datos con FTP, tendrá que configurar un servidor de FTP en el servidor de Pandora, establecer una password para el usuario "pandora" (que será la que usará en los agentes de pandora) y permitir acceso de escritura al usuario "pandora" al directorio /var/spool/pandora/data_in y directorios inferiores.

Esto supone que deberá configurar el servidor FTP para adecuarlo a estas necesidades, en los puntos siguientes podrá ver como hacerlo para los servidores ProFTPD y VsFTP, dos de los más usados en Linux.

Securización del servidor FTP (proftpd)

Proftpd.png

Desde su versión 1.3, Pandora FMS también soporta todas las plataformas de su agente, el uso de FTP para transferir ficheros de datos XML, y a causa de esto, se necesita, como mínimo, un servidor de datos con un servidor FTP preparado para el usuario «pandora». Esto podría suponer un riesgo significativo en una red que necesita estar estrictamente securizada.

Éstas pequeñas recomendaciones para hacer un FTP seguro, son para el demonio proftpd, un software de servidor de FTP, con licencia GPL, altamente configurable, que incluye varias opciones para restringir el acceso.

Se recomienda configurar estos parámetros en proftpd.conf

 Umask                 077  077
 MaxInstances	        30
 DefaultRoot /var/spool/pandora/data_in pandora

La directiva DefaultRoot usa pandora como grupo, así que debe crear el grupo «pandora» que incluya al usuario «pandora».

Otro fichero que controla el acceso al nivel usuario es /etc/ftpusers, este fichero contiene todos los usuarios que no tienen permiso para conectarse a este servidor.

   [[email protected]]# cat /etc/ftpusers

   root
   bin
   daemon
   adm
   lp
   sync
   shutdown
   halt
   mail
   news
   uucp
   operator
   games
   guest
   anonymous
   nobody

Intente iniciar sesión con el usuario «pandora» en el FTP y acceder a otros directorios diferentes de /var/spool/pandora/data_in (este debería ser el único directorio visible para este usuario bajo el alias).

Securización de vsftpd

Vsftpd tiene diferentes parámetros para securizar una cuenta FTP, pero esto puede entrar en conflicto con scponly. Se recomienda implementar algunos cambios para reforzar la seguridad en la cuenta «pandora», para poder utilizar los sistemas de transferencia FTP y SSH de forma simultánea:

  1. Cambiar el directorio home del usuario «pandora» por /var/spool/pandora/data_in
  2. Mantener scponly como shell por defecto.
  3. Copiar o mover el directorio /home/pandora/.ssh a /var/spool/pandora/data_in. No olvide comprobar que el directorio /.ssh tiene como propietario al usuario «pandora» y los permisos adecuados.
  4. Modifique el fichero de configuracion de vsftpd: /etc/vsftpd.conf y añada los siguientes parámetros:
check_shell=NO
dirlist_enable=NO
download_enable=NO
deny_file=authorized_keys
deny_file=.ssh
chroot_local_user=YES

Esta configuración establece el directorio home del usuario «pandora» a /var/spool/pandora/data_in, y no permite al usuario «pandora» conectarse remotamente para establecer una sesion de comandos interactiva, y además permite transferencias FTP con el mismo usuario, «pandora», para enviar ficheros —pero solo permite acceder al directorio de entrada de datos— y no permite acceder a otros directorios ni listar el contenido de ningún fichero.

Volver al índice de documentación de Pandora FMS