FTP, corto para Protocolo de transferencia de archivos, es un protocolo que proporciona acceso a archivos que residen en un servidor. Es uno de los primeros protocolos que permitió a los usuarios descargar archivos a través de Internet. Con el protocolo FTP, los usuarios pueden descargar y cargar archivos en los servidores con facilidad.
Vsftpd, corto para Demonio FTP muy seguro, es un demonio FTP seguro que es una actualización del protocolo FTP. Hace cumplir las conexiones seguras a los servidores FTP cifrando el tráfico enviado hacia y desde el servidor, y al hacerlo, la transferencia de archivos se mantiene segura y protegida de los piratas informáticos.
En este tema, destacamos la instalación de vsftpd en CentOS 8/RHEL 8.
Paso 1) Instale vsftpd usando el comando dnf
De inmediato, vamos a instalar vsftpd. Para lograr esto, ejecutaremos el siguiente comando:
$ sudo dnf install vsftpd
Imprenta ‘y‘ y presione ENTER para comenzar con la instalación. La instalación tarda unos segundos y se completará en poco tiempo. El siguiente resultado confirma que vsftpd se instaló correctamente.
El resultado indica que hemos instalado vsftpd versión 3.0.3-31.el8.x86_64. Para confirmar esto, ejecute el siguiente comando:
[[email protected] ~]$ rpm -q vsftpd vsftpd-3.0.3-31.el8.x86_64 [[email protected] ~]$
La salida debe coincidir con la versión impresa en el terminal luego de una instalación exitosa. Para recuperar información más detallada sobre Vsftpd, agregue el indicador -i al final como se muestra:
$ rpm -qi vsftpd
Esto imprimirá información adicional en la pantalla, como la arquitectura, la fecha de instalación, la licencia y la firma, por mencionar algunos.
Con vsftpd instalado, necesitamos que se ejecute para facilitar el acceso a los archivos compartidos.
Para iniciar el servicio vsftpd, ejecute el comando:
$ sudo systemctl start vsftpd
También es posible que desee habilitarlo para que se inicie automáticamente al reiniciar. Para lograr esto, ejecute el comando
$ sudo systemctl enable vsftpd --now
Para verificar el estado de vsftpd en su sistema, ejecute:
$ sudo systemctl status vsftpd
Si ves el «activo: (corriendo)” en verde como se indica en la terminal, entonces el servicio vsftpd está activo y funcionando.
Paso 2) Crea un usuario ftp y su directorio
A continuación, crearemos un usuario que usaremos para acceder al servidor FTP. En este caso, el usuario será ftpuser pero no dude en darle a su usuario un nombre de su elección.
$ sudo adduser ftpuser $ sudo passwd ftpuser
Con el usuario FTP en su lugar, procederemos y crearemos el directorio FTP y asignaremos los siguientes permisos y propiedad del directorio.
$ sudo mkdir -p /home/ftpuser/ftp_dir $ sudo chmod -R 750 /home/ftpuser/ftp_dir $ sudo chown -R ftpuser: /home/ftpuser/ftp_dir
También necesitamos agregar el usuario FTP a la /etc/vsftpd/lista_usuario archivo para permitir el acceso del usuario al servidor vsftp.
$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'
Paso 3) Configure vsftpd a través de su archivo de configuración
Hasta ahora, hemos logrado instalar y confirmar que vsftpd está funcionando. Se necesitan más ajustes para que Vsftpd permita a los usuarios acceder al servidor.
El archivo de configuración predeterminado para vsftpd es el archivo /etc/vsftpd/vsftpd.conf. El archivo está repleto de directivas que ayudan a fortalecer la seguridad de su servidor FTP.
En esta sección, haremos algunos ajustes al archivo de configuración y permitiremos que los usuarios accedan al servidor.
Para permitir que los usuarios locales accedan al servidor FTP de forma remota y bloquear a los usuarios anónimos, asegúrese de tener las directivas que se muestran a continuación:
anonymous_enable=NO local_enable=YES
Para otorgar a los usuarios derechos para ejecutar cualquier comando FTP y realizar cambios, como cargar, descargar y eliminar archivos, tenga la siguiente línea en su lugar.
write_enable=YES
Por motivos de seguridad, puede optar por restringir el acceso de los usuarios a archivos y directorios fuera de sus directorios de inicio. Por lo tanto, tenga la siguiente directiva en vigor.
chroot_local_user=YES
Para otorgar a los usuarios acceso de escritura a sus respectivos directorios de inicio, asegúrese de tener esta directiva.
allow_writeable_chroot=YES
A continuación, vamos a definir puertos personalizados para habilitar conexiones FTP pasivas. En este caso especificaremos los puertos 30000 y 31000. Posteriormente los abriremos en el firewall.
pasv_min_port=30000 pasv_max_port=31000
A continuación, vamos a permitir solo a los usuarios definidos en el /etc/vsftpd/lista_usuario acceder al servidor y bloquear el resto. Para lograr esto, tenga las líneas a continuación.
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Finalmente, guarde y cierre el archivo. Para que los cambios persistan, reinicie el servicio Vsftpd.
$ sudo systemctl restart vsftpd
En este punto, puede probar la conectividad FTP ejecutando
$ dirección IP ftp
Especifique el nombre de usuario del usuario ftp y luego proporcione la contraseña. Debería obtener la salida como se muestra.
Aunque hemos establecido conectividad con el servidor vsftpd. La conexión no es segura y la información enviada es en texto sin formato y no está encriptada. Por lo tanto, debemos tomar medidas adicionales para cifrar las comunicaciones enviadas al servidor.
Paso 4) Configurar SSL/TLS para vsftpd
Para cifrar las comunicaciones entre el servidor y un sistema cliente, necesitamos generar un certificado TLS y luego configurar el servidor para usarlo.
Para generar el certificado, ejecute el siguiente comando:
$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
A esto le seguirá una serie de indicaciones en las que se le pedirá que proporcione algunos detalles, como el nombre del país, el estado o la provincia, y el nombre de la organización, por mencionar algunos. Rellene todos los detalles en consecuencia como se muestra.
También debemos decirle al servidor dónde se almacenan los archivos del certificado. Entonces, regrese al archivo de configuración /etc/vsftpd/vsftpd.conf y especifique la ruta a los archivos del certificado.
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd.pem
Y luego, indique al servidor que active SSL.
ssl_enable=YES
Guarde y salga del archivo de configuración. Para hacer los cambios anteriores en el efecto, reinicie el servicio vsftpd,
$ sudo systemctl restart vsftpd
Paso 5) Permitir puertos de servidor ftp (vsftpd) en el firewall
Si está ejecutando un firewall, debe permitir estos puertos destacados”
- 20 – para permitir el tráfico FTP
- 21 – Puerto de datos FTP
- 30000-31000: para permitir la comunicación pasiva con el servidor FTP.
Por lo tanto, ejecute los siguientes comandos:
$ sudo firewall-cmd --permanent --add-port=20-21/tcp $ sudo firewall-cmd --permanent --add-port=30000-31000/tcp
A continuación, vuelva a cargar el cortafuegos para que los cambios surtan efecto.
$ sudo firewall-cmd --reload
Paso 6) Pruebe su servidor vsftpd o FTP
Con todas las configuraciones hechas, es hora de probar nuestra conectividad. En este ejemplo, estamos utilizando un cliente FTP conocido como FileZilla, que es un cliente FTP gratuito tanto para sistemas de cliente como de servidor. Admite FTP simple y FTP sobre TLS, que es lo que vamos a probar.
Cuando se inicia, la interfaz se ve como se muestra. Proporcione la dirección IP del host (vsftpd), el nombre de usuario y la contraseña del usuario ftp y luego haga clic en ‘Conexión rápida‘ botón.
Poco después, aparecerá una ventana emergente que muestra el certificado del servidor FTP y los detalles de la sesión. Para continuar con la conexión, haga clic en «Confiar siempre en este certificado en una sesión futura» y luego presione Intro.
Si todas sus configuraciones son correctas, debería poder ingresar sin ningún problema, como se muestra. En el panel inferior derecho, el directorio de inicio del servidor remoto como se muestra. Ahora puede cargar, descargar y editar los archivos como mejor le parezca.
Con esto concluye nuestro tema sobre la instalación de vsftpd en CentOS 8. Esperamos que ahora pueda configurar cómodamente su propio servidor vsftpd (ftp seguro). Compártalo entre sus amigos técnicos y también comparta sus valiosos comentarios y comentarios.
Leer también : Cómo rotar y comprimir archivos de registro en Linux con Logrotate
Leer también: Cómo instalar Memcached (servidor de almacenamiento en caché) en CentOS 8