logo Host

Implicaciones a nivel de sistema operativo

En el sistema operativo Windows, el proceso de instalación del servidor central instala tres servicios de sistema que funcionan en modo background atendiendo a las peticiones de los sistemas cliente, los tres servicios se instalan con modo de inicio automático por lo que se inician automáticamente en el arranque del sistema operativo.

Por un lado están los servicios principales CYGWIN sshd (puerto por defecto 22) y EpsilonServerTomcat (puerto por defecto 8080); por otro lado un servicio secundario para los logs del servicio ssh: CYGWIN syslog-ng, no atiende a ninguna petición exterior. En consecuencia, son imprescindibles dos puertos dedicados (22 y 8080 por defecto) que son totalmente reconfigurables.

El servicio CYGWIN sshd se ejecuta con un usuario local de sistema especial cuyo nombre es cyg_server. Este usuario se crea en el proceso de instalación. Este usuario pertenece al grupo administradores. El servicio sshd es el encargado de gestionar la transmisión de datos; tanto de subida en los procesos de copia, como de descarga en los procesos de restauración. Utiliza el protocolo ssh/sftp siendo para ello necesario dar de alta a un usuario en paralelo tanto en el envoltorio cygwin (se almacenan en el fichero path_instalacion/cygwin/etc/passwd) como a nivel de usuario de sistema operativo, el nombre de este usuario será el mismo que el id del usuario de backup.

Como se ha mencionado anteriormente, el puerto ssh por defecto es el 22 pero existe la posibilidad de modificarlo en el fichero de configuración ubicado en path_instalacion/cygwin/sshd_config. Si se abre una consola cygwin (path_instalacion/cygwin/cygwin.bat) y se ejecuta el comando "ls -l /etc/sshd_config" se puede ver que los permisos de este fichero son rw-r-r y que su propietario es cyg_server. Antes de editarlo es necesario modificar los permisos de este fichero con el comando "chmod 777 /etc/sshd_config", después editarlo con el editor Wordpad o similar, finalmente buscar la cadena "Port 22" y sustituir 22 por el puerto deseado. Una vez guardado el fichero, hay que reestablecer los permisos mediante el comando "chmod 644 /etc/sshd_config" y reiniciar el servicio. ¡Atención! Hay que recordar que este mismo puerto modificado hay que especificarlo en las preferencias básicas del servidor, en el registro de Dominio Servidor sFTP. Además si hay usuarios existentes dados de alta previamente en el sistema de backup, hay que modificar el apartado Dominio servidor sFTP del recuadro Localización de datos de la pestaña Datos uno por uno en cada cliente del árbol de clientes.

Hay maneras alternativas de cambiar el puerto por defecto sin modificar el fichero de configuración local, una de ellas es realizar una redirección de puertos (o NAT) en el firewall/router perimetral, de modo que internamente funcione con el puerto por defecto (22) pero de cara al exterior trabaje con el puerto alternativo.

El segundo servicio en escucha a los sistemas cliente externos es el EpsilonServerTomcat el cual está basado en la infraestructura de Apache Tomcat. La finalidad de este servicio es gestionar el diálogo de control con los sistemas cliente, para ello se ejecutan en el servidor central los servlets del lenguaje de programación Java, de esta manera, mediante éste, el usuario de backup solicita permiso para hacer la copia, comunica cuanto volumen desea transferir, informa sobre la actividad realizada por el programa cliente etc.

El puerto por defecto en este caso es el 8080, no obstante, es configurable desde el fichero path_de_instalacion/Tomcat/conf/Server.xml. Para ello, hay que editarlo (con el editor Wordpad o similar) y buscar la cadena port="8080", es ahí donde estableceremos el puerto alternativo deseado, finalmente hay que reiniciar el servicio. ¡Atención! Hay que recordar que este mismo puerto modificado hay que especificarlo en las preferencias básicas del servidor, en el/los registros de Servlets URL vista desde los clientes/Servlets URL vista desde este Server. Además de las modificaciones realizadas en el servidor central, los sistemas cliente que estén trabajando contra este equipo tienen que asumir el nuevo puerto de servlets del servidor central. Para ello existe la posibilidad de reimportar el nuevo fichero de configuración generado desde la opción de preferencias del sistema cliente o programar una tarea de Reconfigurar Cliente desde las Tareas programadas asociadas a este cliente en el servidor central.

Como en el caso del anterior servicio esta modificación en el puerto se puede realizar externamente a la aplicación, realizando una redirección de puertos en el firewall/router perimetral.