Instalar y configurar el servidor VSFTPD en Ubuntu 18.04 LTS

Acceder al servidor por FTP

Vsftpd, también conocido como un demonio FTP muy seguro, es un servidor FTP para sistemas tipo Unix. FTP es el protocolo de red estándar más utilizado para cargar/descargar archivos entre dos computadoras a través de una red. De forma predeterminada, FTP no es seguro porque transmite datos junto con las credenciales de usuario sin encriptar.

En este tutorial, aprenderemos cómo instalar Vsftpd con soporte SSL/TLS en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Un usuario no root con privilegios sudo.
  • La dirección IP estática 192.168.0.102 está configurada.

Instalar vsftpd

De forma predeterminada, Vsftpd está disponible en el repositorio predeterminado de Ubuntu 18.04. Entonces puede instalarlo fácilmente simplemente ejecutando el siguiente comando:

sudo apt-get install vsftpd -y

Una vez que Vsftpd esté instalado, inicie el servicio Vsftpd y habilítelo para que se inicie en el momento del arranque:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Crear estructura de directorio para FTP

Antes de comenzar, deberá crear un usuario para el acceso FTP.

Puede crear un usuario con el siguiente comando:

sudo adduser vsftp

A continuación, cree un directorio ftp y establezca la propiedad con el siguiente comando:

sudo mkdir /home/vsftp/ftp
sudo chown nobody:nogroup /home/vsftp/ftp
sudo chmod a-w /home/vsftp/ftp

A continuación, cree un directorio donde se puedan cargar los archivos y otorgue la propiedad al usuario de vsftp:

sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test

Configurar vsftpd

A continuación, deberá realizar algunas configuraciones para configurar el servidor FTP.

Primero, cree una copia de seguridad del archivo de configuración original:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

A continuación, abra el archivo vsftpd.conf:

sudo nano /etc/vsftpd.conf

Agregue las siguientes líneas:

 listen=NO
 listen_ipv6=YES
 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 use_localtime=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 chroot_local_user=YES
 secure_chroot_dir=/var/run/vsftpd/empty
 pam_service_name=vsftpd
 pasv_enable=Yes
 pasv_min_port=10000
 pasv_max_port=11000
 user_sub_token=$USER
 local_root=/home/$USER/ftp
 userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO

Guarde y cierre el archivo. Puede cambiar la configuración anterior según sus necesidades.

A continuación, también deberá agregar el usuario vsftp al archivo /etc/vsftpd.userlist para permitir el acceso FTP:

sudo nano /etc/vsftpd.userlist

Agregue la siguiente línea:

vsftp

Guarde y cierre el archivo, luego reinicie el servicio Vsftpd para aplicar estos cambios:

sudo systemctl restart vsftpd

Ahora, abra su navegador web y escriba la URL ftp://192.168.0.102, se le pedirá que ingrese el nombre de usuario y la contraseña para acceder al FTP. Ingrese su nombre de usuario y contraseña de vsftp, luego haga clic en el OK botón. Deberías ver la siguiente página:

Acceder al servidor por FTP

Asegure Vsftpd usando SSL/TLS

A continuación, deberá habilitar SSL/TLS para cifrar los datos transferidos a través de FTP.

Para hacerlo, deberá crear un certificado para eso. Puede crear un certificado usando OpenSSL usando el siguiente comando:

sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

A continuación, deberá modificar el archivo vsftpd.conf y realizar algunos cambios:

sudo nano /etc/vsftpd.conf

Agregue las siguientes líneas:

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Guarde el archivo, luego reinicie Vsftpd usando el siguiente comando:

sudo systemctl restart vsftpd

Acceda a FTP sobre SSL/TLS

No puede acceder a su servidor FTP a través de SSL/TLS a través del navegador. Por lo tanto, deberá instalar el cliente FTP FileZilla para acceder a su servidor FTP. Porque FileZilla admite FTP sobre SSL/TLS.

Puede instalar el cliente FileZilla usando el siguiente comando:

sudo apt-get install filezilla -y

Una vez que FileZilla esté instalado, ábralo desde su tablero de Unity. Deberías ver la siguiente imagen:

Cliente FTP de FileZilla

Ahora, haga clic en el Archivo>Administrador de sitios. Deberías ver la siguiente imagen:

Agregar sitio en FileZilla

Aquí, agregue Nuevo sitio y proporcione el nombre del host/sitio, agregue la dirección IP, defina el protocolo a usar, el cifrado y el tipo de inicio de sesión. Luego haga clic en el Conectar botón. Deberías ver la siguiente imagen:

Aceptar certificado SSL

Ahora, verifique el certificado que se utiliza para la conexión SSL/TLS y haga clic en OK una vez más para conectarse al servidor FTP. Debería ver el contenido de su servidor FTP en la siguiente página:

Conexión FTP al servidor Vsftpd establecida

Deja una respuesta

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