¿Cómo configurar ProFTPD en CentOS 6?
Actualizado el 5 de agosto, 2016. Por OpenCloud.
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.
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.
- Para entender mejor el concepto de FTP visite nuestro tutorial: ¿Qué es FTP y cómo se utiliza?
- Puede complementar la información en el paso 3, con nuestro tutorial de configuración de un firewall básico.