GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale Vsftpd con SSL/TLS en Ubuntu 20.04

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 habilite la transferencia segura de archivos (FTPS) a través de SSL/TLS.

Requisitos

  • 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

Introduzca y si se le solicita que continúe 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

El vsftpd El servicio ya debería estar activo. Presiona 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. A continuación se muestran algunos ejemplos.

Configurar 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 anonymous_enable. opción de NO a SI.

Por ahora, déjalo como está.

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.

También puede permitir que solo usuarios locales específicos inicien sesión en el servidor Vsftpd. Para ello, asegúrese de que local_enable es establecer 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 comando de escritura FTP

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

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 habilitaste la lista de usuarios de vsftpd anteriormente, no olvide agregar el usuario de ftp a /etc/vsftpd.userlist según corresponda. De manera predeterminada, los usuarios tienen acceso ssh, se recomienda deshabilitar el acceso shell para los 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.

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 el rsa_cert_file y rsa_private_key_file opciones 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

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 utilizar 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 será válido por 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.

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. A continuación, haga clic en Aceptar. para continuar con la conexión.

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

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.


Ubuntu
  1. Cómo instalar un servidor FTP en CentOS 7 con VSFTPD

  2. Cómo instalar y configurar un servidor FTP (vsftpd) con SSL/TLS en Ubuntu 20.04

  3. Instalar Vsftpd con SSL/TLS en Ubuntu 20.04:¿el mejor procedimiento?

  4. Instalar VSFTPD en Ubuntu 16.04

  5. Instale Vsftpd con SSL/TLS en Ubuntu 20.04

Cómo instalar el servidor VsFTPD con TLS en Ubuntu 18.04 LTS

Cómo instalar ProFTPD con TLS en Ubuntu 20.04 LTS

Cómo instalar y configurar Apache con Let's Encrypt TLS/SSL en Ubuntu 20.04

Cómo instalar Nginx con Let's Encrypt TLS/SSL en Ubuntu 20.04

Cómo instalar Vsftpd en Ubuntu 16.04

Cómo instalar Vsftpd en Ubuntu 18.04 LTS