El Protocolo de transferencia de archivos (FTP) es una herramienta popular y ampliamente utilizada para transferir archivos entre un servidor y clientes a través de la red. El principal problema con la configuración predeterminada de FTP es el riesgo de seguridad asociado con la transmisión sin cifrar de credenciales de usuario y datos a través de la red. Esto podría comprometer los detalles de la cuenta de usuario.
Por lo tanto, es necesario instalar un servidor seguro que admita el cifrado. Hay varios servidores FTP de código abierto disponibles para Linux a su disposición. Los servidores más utilizados incluyen Vsftpd, PureFTPd y ProFTPD.
En este tutorial, describiremos cómo instalar y configurar el servidor VSFTPD, que es un demonio FTP muy seguro.
Instalación del servidor FTP en CentOS
Aquí vamos a utilizar la instalación mínima de Centos 7 para la demostración y el inicio de sesión raíz para ejecutar comandos.
Paso 1:instalar el paquete vsftpd
Generalmente, el paquete vsftpd está disponible en los repositorios predeterminados de CentOS. Ejecute el siguiente comando para instalar un servidor FTP.
yum install vsftpd
Después de la instalación, verifique el estado del servicio FTP.
systemctl status vsftpd
Si el servicio no se inicia, puede iniciar el servicio utilizando el siguiente comando.
systemctl start vsftpd
ahora deberíamos habilitar el servicio FTP en el arranque del sistema.
systemctl enable vsftpd
Paso 2:configurar el vsftpd
Archivo de configuración de VSFTPD ubicado en el directorio “/etc/vsftpd/”. Así que vamos a modificar “vsftpd.conf”. Antes de la modificación, haga una copia de seguridad del archivo original.
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origbackup
Ahora edite el archivo.
vi /etc/vsftpd/vsftpd.conf
Vamos a permitir el acceso al servidor FTP solo para los usuarios locales, por lo que editaremos los siguientes parámetros y los modificaremos.
anonymous_enable=NO local_enable=YES
Busque "write_enable" y descomente la configuración para permitir cambios en el sistema de archivos.
write_enable=YES
Busque y elimine el comentario de la directiva "chroot" para evitar que los usuarios de FTP accedan a cualquier archivo fuera de sus directorios de inicio.
chroot_local_user=YES
Aquí configuramos directorios FTP para permitir la carga cuando chroot está habilitado. Este es el método recomendado. Así que agregue las siguientes líneas al archivo "vsftpd.conf".
user_sub_token=$USER local_root=/home/$USER/ftp
Normalmente, vsftpd puede usar cualquier puerto para conexiones FTP pasivas. Aquí mencionamos un rango mínimo y máximo de puertos para vsftpd.
Agregue estas líneas al archivo
pasv_min_port=40000 pasv_max_port=41000
Para limitar el usuario, inicie sesión y agregue las siguientes configuraciones después de la línea "userlist_enable=YES".
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Ahora guarde y salga del archivo.
Reinicie el servicio VSFTPD.
systemctl restart vsftpd
Paso 3:configurar el cortafuegos
Permitir puertos FTP a través del cortafuegos.
firewall-cmd --permanent --add-port=20-21/tcp firewall-cmd --permanent --add-port=40000-41000/tcp
Ahora recarga el cortafuegos.
firewall-cmd --reload
Paso 4:crea un usuario de FTP
Agregar un usuario. Reemplace "darsh" con el nombre de usuario que desee.
adduser darsh
Establecer contraseña para el usuario.
passwd darsh
Ahora agregue el usuario a la lista de usuarios FTP permitidos. Para hacerlo, edite el archivo de configuración y agregue el nombre de usuario del credo.
vi /etc/vsftpd/user_list
Luego guarde y salga del archivo.
Cree un directorio de carga para el usuario.
mkdir -p /home/darsh/ftp/upload
Establecer permisos de directorio.
chmod 550 /home/darsh/ftp chmod 750 /home/darsh/ftp/upload
Cambiar la propiedad del directorio.
chown -R darsh: /home/darsh/ftp
Creamos un usuario con acceso de shell y, si lo desea, puede deshabilitar el acceso de shell del usuario.
usermod -s /sbin/nologin darsh
Paso 5:probar el servidor FTP
Ahora puede usar el cliente FTP y acceder al servidor. Si no tiene uno, le recomendaría usar la aplicación gratuita y de código abierto "FileZilla".
Puede navegar por el directorio de carga y crear un archivo para probar.
¡Eso es todo! Ha configurado con éxito un servidor FTP en CentOS. Háganos saber cómo fue su instalación y comparta el artículo con sus amigos en las plataformas sociales.