Cómo configurar copias de seguridad a un FTP externo en PLESK (puertos pasivos)

Cómo ya hemos mencionado varias veces, SIEMPRE hay que hacer copias de seguridad de nuestras webs fuera del servidor en el que están alojadas. Un simple fallo del disco duro (lo cual pasa muchas más veces de las que a todos nos gustaría) hace que se pierda la web y si la copia de seguridad está en el mismo sitio, tampoco podremos recuperar un backup.

Las copias de seguridad en PLESK: Opciones

Hay dos opciones para hacer copias de seguridad en PLESK:

  1. Con la extensión de DROPBOX para PLESK que permite hacer copias de seguridad en DROPBOX del servidor. Lo malo es que siempre hace la copia de seguridad con el mismo nombre, o sea, que va sobrescribiendo las copias de seguridad cada día. Esto si tenemos una versión PROFESSIONAL de DROPBOX (199 EUR/año en agosto 2018 para 2TB de espacio) es muy útil porque nos da un «Historial de versiones de 120 días». Así la extensión de DROPBOX sobreescribe cada día la copia de seguridad y tenemos 120 copias de seguridad diarias disponibles por el historial de versiones. Con la versión PLUS no tenemos historial de versiones y siempre solo tendremos la última copia de seguridad disponible.
  2. La otra opción es hacer la copia de seguridad a un FTP. Esa es la opción que solemos utilizar nosotros (en combinación con la primera). Copiamos a diario todos los datos de todos los servidores y webs a un NAS a través de un servicio FTP. Y de esta opción vamos a hablar hoy.

OJO: Que hay una tercera opción que es guardar las copias de seguridad en el servidor, pero esto no debería ser nunca una opción.

Copias de seguridad a través de FTP en PLESK

Si configuramos copias de seguridad a través de FTP en PLESK:

Puede darnos el siguiente error si hacemos muchas copias de seguridad distintas desde muchos servidores y siempre con el mismo usuario y contraseña:

Error: The backup process failed: Transport error: unable to list directory: Curl error: (8) Weird server reply: Last FTP request: LIST -a Last FTP response: 226 Transfer complete

P.D. Lamentablemente Linux y los NAS tienen algunos problemas para crear más de un usuario de FTP y lo más cómodo es usar el mismo usuario de FTP para todos los backups.

La solución al error de «Weird server reply» es usar la opción USE PASSIVE MODE:

OJO: Para el modo pasivo tenemos que tener en el servidor FTP los puertos pasivos configurados:

Teniendo los puertos configurados y en la conexión del servidor FTP todo ese rango de puertos en la conexión a Internet, permitirá usar el modo pasivo. Básicamente lo que hace el servidor FTP es ante la petición de conexión asignar uno de los 1023 puertos de forma aleatoria para establecer la conexión definitiva; por eso tienen que estar habilitados.

Si al darle a guardar nos va a dar un error hay que ver porqué no se puede acceder al servidor FTP; primero probando sin los puertos pasivos y luego con los puertos pasivos.

El modo pasivo de las conexiones FTP

En modo pasivo es siempre el programa cliente quien inicia la conexión con el servidor (en este caso el BACKUP MANAGER de PLESK).
Al abrir una conexión ftp, se abre primero una conexión de control desde un puerto inferior a 1024 de la máquina local al puerto 21 del servidor (o si tenemos otro puerto para el FTP configurado en servidor, el puerto que sea).
PLESK pasa a modo pasivo enviando el comando PASV y pidiendo un puerto abierto al servidor FTP.
El servidor FTP responde con un puerto disponible.
Tras recibir la respuesta del servidor FTP, PLESK establece la conexión de datos con el servidor FTP a través del puerto que le ha sido enviado.

 

Configuración del PASSIVE MODE de las conexiones FTP de PLESK

Para poder usar el modo pasivo en PLESK y el servicio FTP de PROFTPD hay que configurar los puertos que debe usar. Los puertos dinámicos (también llamados privados) son los puertos del 49152 a 65535. Por defecto y con instalaciones nuevas de Plesk Onyx ya estarán configurados todos esos puertos para el uso de las conexiones FTP pasivas.

Esto normalmente no suele interesar y lo que vamos a hacer es seleccionar un rango de mínimo 1023 puertos para el FTP pasivo. Por ejemplo: 60000 a 61023.

Esos puertos en PLESK ONYX se configura en:

vi /etc/proftpd.d/55-passive-ports.conf

Y el contenido del archivo tiene que ser los puertos que abrimos para el FTP pasivo:

<Global> 
PassivePorts 60000 61023
</Global>

Guardamos con !:wq

Ahora ya podemos conectarnos por FTP en modo pasivo al servidor PLESK.

 

Hay más información sobre el tema aquí: How to configure passive ports range for ProFTPd on a server behind a firewall? y Troubleshooting connections to the server via FTP in the passive mode (configurar el FIREWALL de PLESK para conexiones FTP pasivas entrantes).

Salir de la versión móvil