Instale Vsftpd con SSL/TLS en Ubuntu 20.04 | Ubuntu 20.10

Instale Vsftpd con SSL/TLS en Ubuntu 20.04 | Ubuntu 20.10

 

Vsftpd (es decir, un demonio FTP muy seguro) es un software de servidor FTP para Linux y otros sistemas similares a Unix. Un software de servidor FTP facilita la transferencia de archivos desde una computadora cliente al servidor y viceversa.

En este tutorial, aprenderá cómo instalar Vsftpd en Ubuntu 20.04 y habilitar la transferencia segura de archivos (FTPS) a través de SSL/TLS.

Requisitos previos

  • Un sistema Ubuntu 20.04 Linux
  • Un usuario con capacidad sudo
  • Un cliente FTP habilitado para SSL como FileZilla

Instalar Vsftpd en Ubuntu

Vsftpd está disponible en el repositorio de paquetes predeterminado de Ubuntu. Puede comenzar actualizando los paquetes disponibles con el siguiente comando.

$ sudo apt update

A continuación, ejecute el siguiente comando para instalar Vsftpd.

$ sudo apt install vsftpd

Ingrese y si se le solicita continuar con la instalación.

Una vez que Vsftpd se haya instalado correctamente, puede verificar la versión con el siguiente comando.

$ vsftpd -v

Además, verifique el estado del servidor Vsftpd de la siguiente manera.

$ sudo systemctl status vsftpd
Instale Vsftpd con SSL TLS en Ubuntu 20.04

El servicio vsftpd ya debería estar activo. Pulse q para volver a la línea de comandos.

Si el servicio vsftpd aún no está activo, puede iniciarlo con el siguiente comando.

$ sudo systemctl start vsftpd

Configurar vsftpd

Hay muchas opciones que puede configurar para vsftpd, pero solo examinaremos los conceptos básicos en este tutorial. Abra el archivo de configuración vsftpd con el siguiente comando.

$ sudo nano /etc/vsftpd.conf

Verá que las diversas opciones de vsftpd están bien explicadas en el archivo de configuración. Solo necesita leer las instrucciones para comprender lo que desea habilitar o deshabilitar. Abajo hay algunos ejemplos.

Configurar el acceso FTP anónimo

De forma predeterminada, el FTP anónimo está deshabilitado. Le recomendamos que deje esta configuración predeterminada como está. Sin embargo, si por alguna razón desea habilitar el acceso FTP anónimo con fines de prueba, cambie el valor de la opción anonymous_enable de NO a SÍ.

Por ahora, déjalo como está.

Instale Vsftpd con SSL TLS en Ubuntu 20.04

Permitir que los usuarios locales inicien sesión

Los usuarios locales pueden iniciar sesión de forma predeterminada. Si desea evitar que los usuarios locales inicien sesión en el servidor Vsftpd, cambie el valor de local_enable de SÍ a NO.

Instale Vsftpd con SSL TLS en Ubuntu 20.04

También puede permitir que solo usuarios locales específicos inicien sesión en el servidor Vsftpd. Para hacerlo, asegúrese de que local_enable esté establecido en SÍ.

Después de eso, agregue las siguientes líneas debajo.

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

Guarde y cierre el archivo vsftpd.conf.

A continuación, cree el archivo de lista de usuarios con el siguiente comando e ingrese los usuarios permitidos uno por línea.

$ sudo nano /etc/vsftpd.userlist

Guarde y cierre el archivo de lista de usuarios.

Reinicie vsftpd con:

$ sudo systemctl restart vsftpd

Habilitar el comando de escritura FTP

Para permitir que los usuarios de FTP creen, eliminen, cambien el nombre y guarden archivos, descomente la opción write_enable y asegúrese de que esté configurada en SÍ.

Instale Vsftpd con SSL TLS en Ubuntu 20.04

Antes de continuar, iniciemos sesión en el servidor Vsftpd para confirmar que funciona. Por ahora, guarde los cambios y cierre el archivo de configuración de vsftpd.

Iniciar sesión en el servidor Vsftpd

Para esto, vamos a crear un usuario de prueba y asignarle una contraseña de la siguiente manera.

$ sudo useradd -m myftpuser
$ sudo passwd myftpuser

Nota: Si habilitó la lista de usuarios de vsftpd anteriormente , no olvide agregar el usuario de ftp a /etc/vsftpd.userlist según corresponda. Por defecto, los usuarios tienen acceso ssh, recomendado para deshabilitar el acceso shell para usuarios de FTP.

Ahora, inicie un cliente FTP habilitado para SSL como FileZilla y luego inicie sesión con el usuario de prueba recién creado.

En mi caso, FileZilla me notificó que el servidor no es seguro ya que no admite FTP sobre TLS.

Instale Vsftpd con SSL TLS en Ubuntu 20.04

Cancele la conexión. Arreglemos esto en la siguiente sección.

Habilite SSL/TLS para la transferencia segura de archivos

Para habilitar la transferencia segura de archivos a través de TLS, proceda de la siguiente manera.

En primer lugar, abra el archivo de configuración de vsftpd con el siguiente comando.

$ sudo nano /etc/vsftpd.conf

A continuación, busque las opciones rsa_cert_file y rsa_private_key_file y actualice los valores como se muestra a continuación.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

Además, busque ssl_enable y cambie el valor a SÍ.

ssl_enable=YES
Instale Vsftpd con SSL TLS en Ubuntu 20.04

Guarde y cierre el archivo de configuración vsftpd.

Generar una clave privada y un certificado

Ahora, necesitaría crear una clave privada y generar un certificado TLS/SSL con openssl. Puede usar el certificado SSL gratuito de Let’s Encrypt si tiene un dominio que apunta al servidor FTP.

Para generar una clave privada, ejecute:

$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key

A continuación, genere una solicitud de firma de certificado con el siguiente comando. Se le pedirá que proporcione cierta información, como su país, ciudad, dirección de correo electrónico, etc. Lea las instrucciones detenidamente.

$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr

Ahora, genere y firme el certificado que tendrá una validez de 365 días de la siguiente manera.

$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem

Reinicie vsftpd con:

$ sudo systemctl restart vsftpd

Intente conectarse de nuevo al servidor Vsftpd.

Instale Vsftpd con SSL TLS en Ubuntu 20.04

Seguramente, FileZilla pudo conectarse de forma segura a través de TLS esta vez. Puede elegir con seguridad la opción de confiar siempre en este certificado en futuras sesiones. Luego haga clic en Aceptar para continuar con la conexión.

Instale Vsftpd con SSL TLS en Ubuntu 20.04

Si intenta conectarse al servidor FTP a través de la línea de comando que no admite FTP sobre TLS, obtendrá un error. Por ejemplo:

$ ftp 192.168.100.168
Instale Vsftpd con SSL TLS en Ubuntu 20.04

Esta es otra prueba de que su servidor Vsftpd está realmente habilitado para la transferencia segura de archivos a través de TLS.

Conclusión

En este tutorial, le mostramos cómo instalar un servidor Vsftpd en Ubuntu 20.04. También describimos cómo habilitar la transferencia segura de archivos a través del protocolo TLS. Solo cubrimos las opciones básicas de Vsftpd en este artículo, pero puede explorar más opciones en la página del manual de opciones de configuración de vsftpd .

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.