Cómo instalar vsftpd (servidor ftp) en CentOS 8 / RHEL 8

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

dnf-install-vsftpd-centos8

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.

Instalado con éxito vsftpd-centos8

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.

rpm-qi-vsftpd-centos8

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

vsftpd-servicio-estado-centos8

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.

ftp-comando-linux

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.

Certificados SSL-vsftpd-CentOS8

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 --relo­ad

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.

Conectar-ftpserver-filezilla

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.

Certificados SSL-vsftpd-filezilla

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.

Acceso-servidor-ftp-filezilla

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

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *