¿Cómo configurar ProFTPD en CentOS 6?

Actualizado el 5 de agosto, 2016. Por BlueHosting.

ProFTPD es un servidor FTP popular. Debido a que fue escrito como un programa poderoso y configurable, no es realmente el servidor ftp más ligero que hay disponible. Sin embargo, es una solución muy estable y segura si se configura correctamente.

FTP es inherentemente inseguro. Si usted debe usar FTP, considere asegurar su conexión FTP con SSL/TLS. De lo contrario, es preferible usar SFTP, una alternativa segura de FTP.

Primer paso: Instalar ProFTPD

Antes de hacer cualquier otra cosa, necesitamos descargar el repositorio EPEL, el cual nos permite instalar ProFTPD en nuestro servidor virtual privado usando yum.

sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

El siguiente paso es instalar ProFTPD

sudo yum install proftpd

Finalmente, también debemos descargar un cliente ftp, para que podamos conectarnos a un servidor ftp desde la línea de comandos:

sudo yum install ftp

Una vez que los archivos terminen de descargarse, el servidor ProFTPD estará en su VPS. Sin embargo, aún tenemos que hacer algunos cambios de configuración.

Segundo paso: Configurar ProFTPD

Una vez que ProFTPD esté instalado, puede hacer los ajustes necesarios en la configuración. A diferencia de otras configuraciones ftp, ProFTPD deshabilita el inicio de sesión anónimo desde el principio y solo necesitamos realizar pequeños cambios en el archivo de configuración.

Abra el archivo de configuración:

sudo vi /etc/proftpd.conf

Cambie el "Server Name" o Nombre del servidor por su nombre de host.

ServerName                      "midominiodeejemplo.com"

Guarda el archivo y salga del editor (en vi usaría :wq).

Luego, para prevenir cualquier inconveniente, añada el nombre de su servidor y la dirección IP a su archivo de hosts:

sudo vi /etc/hosts

Agregue una línea similar a la siguiente al final del archivo y guárdelo:

12.34.56.789 nombreservidor

Reinicie el servicio después de haber hecho todos los cambios:

sudo service proftpd restart

Paso tres: Apertura de puertos FTP y otras consideraciones

Para que el servidor pueda transferir datos necesita un canal. El puerto 21 sirve para el establecimiento y control de la conexión FTP. El puerto 20 es el encargado propiamente de la transferencia de datos. Para habilitar la transferencia de datos en su herramienta favorita (software de su preferencia, línea de comandos o navegador), debe abrir dichos puertos y cargar un par de módulos para que las conexiones FTP no sean rechazadas. Siga los siguientes pasos sugeridos.

Cargue los siguientes módulos:

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

De forma muy general, el primer módulo modifica los paquetes para los computadores detrás de un firewall que ejecuta NAT y el segundo módulo permite que el firewall identifique los paquetes relacionados con ftp.

El siguiente paso es habilitar las conexiones entrantes y salientes en el puerto 21:

iptables -A INPUT  -p tcp -m tcp --dport 21 -m conntrack --ctstate ESTABLISHED,NEW -j ACCEPT -m comment --comment "Permitir conexiones ftp en el puerto 21"
iptables -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -m comment --comment "Permitir conexiones ftp en el puerto 21"

Luego permita las conexiones entrantes y salientes en el puerto 20:

iptables -A INPUT  -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Permitir conexiones ftp en el puerto 20"
iptables -A OUTPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "Permitir conexiones ftp en el puerto 20"

Finalmente permita el tráfico de entrada pasiva FTP

iptables -A INPUT  -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "Permitir conexiones entrantes pasivas"
iptables -A OUTPUT -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Permitir conexiones entrantes pasivas"

Los pasos anteriores son sugerencias generales, sin embargo, hay otras maneras de lograr el mismo objetivo. Lo exhortamos a investigar acerca de la configuración de reglas a través de iptables.

Paso 4: Ingrese a su servidor ProFTPD

Puede llegar a su servidor FTP en el navegador escribiendo el nombre del dominio en su barra de direcciones e iniciando sesión con el ID apropiado (puede utilizar cualquier usuario de su servidor). Tenga en cuenta, que solo será capaz de acceder al directorio /home del usuario. A continuación una captura de ejemplo utilizando el navegador Mozilla Firefox.
Anexo 1 Interfaz ProFTPD Firefox

ftp://midominiodeejemplo.com

De forma alternativa, puede llegar a su servidor FTP a través de la línea de comandos usando:

ftp midominiodeejemplo.com

Luego puede usar la palabra "exit" para salir del shell FTP.

Recursos adicionales

Puede consultar los siguientes recursos en busca de información adicional con respecto a este tema. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos dar fe de la actualidad o precisión de los contenidos externos.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...