Cómo configurar el servidor FTP con VSFTPD en Ubuntu 20.04

Cómo configurar el servidor FTP con VSFTPD en Ubuntu 20.04

FTP (Protocolo de transferencia de archivos) es un estándar de transmisión de red que se utiliza para transferir datos del cliente al servidor y viceversa. Utiliza TCP (Protocolo de control de transmisión) que garantiza que los datos realmente lleguen a su destino. TCP es lo que hace que FTP sea confiable.

FTP es muy útil para las empresas, ya que les permite realizar funciones importantes como la transferencia de archivos grandes y voluminosos de forma rutinaria. Estas actividades no se pueden realizar por correo electrónico o mediante otros programas básicos de intercambio de archivos. También se usa para cargar y administrar archivos del sitio web en el servidor.

El FTP sigue siendo una forma muy popular para transferir archivos, pero debido a las regiones de seguridad, muchas personas prefieren SFTP. Use este artículo para crear usuarios solo SFTP sin acceso de shell.

En este artículo, nos centraremos en cómo configurar un servidor FTP con VSFTPD en Ubuntu 20.04.

Instalación de VSFTPD en Ubuntu

VSFTPD es el servidor FTP predeterminado para la mayoría de las distribuciones de Linux. Comenzaremos instalándolo en nuestro sistema. Use el comando que se proporciona a continuación para instalar VSFTPD.:

Actualización de sudo apto  sudo apt install vsftpd  

Ahora verifique la instalación exitosa de VSFTPD ejecutando el siguiente comando:

SUDO SYSTEMCTL ESTADO VSFTPD  

Cómo configurar VSFTPD en Ubuntu

Ahora configuraremos el VSFTPD recién instalado. Las reglas de configuración de VSFTPD se almacenan en /etc /vsftpd.confusión. Abra el archivo de configuración en cualquier editor de texto. Aquí usaremos Nano para abrir el archivo de configuración:

sudo nano /etc /vsftpd.confusión  

Actualizar la siguiente configuración de configuración:

  1. Acceso FTP

    Para permitir solo a los usuarios locales acceder al servidor FTP, asegúrese de que su archivo de configuración coincida con el que se proporciona a continuación:

    Anónimo_enable = no local_enable = sí 
  2. Conexiones pasivas FTP

    VSFTPD funciona en el modo activo de forma predeterminada. Para permitir que VSFTPD funcione en modo pasivo, copie las líneas dadas a continuación en su archivo de configuración:

    pasv_min_port = 40000 pasv_max_port = 45000 

    Puede dar cualquier rango de puertos al archivo de configuración. El sistema conectará un puerto aleatorio desde la gama que ha elegido.

    El servidor establece la conexión en modo activo, mientras que en el modo pasivo la conexión se establece por el lado del cliente.

  3. Habilitar cargas

    Para permitir que el usuario de FTP modifique el sistema de archivos, busque la siguiente línea en el archivo de configuración y desencadene eliminando el símbolo '#' (hash) desde el comienzo de la línea:

    write_enable = sí 
  4. Restringir el acceso FTP

    Para permitir que solo ciertos usuarios accedan a VSFTPD, copie las líneas dadas a continuación al final del archivo de configuración:

    userList_enable = sí userlist_file =/etc/vsftpd.user_list userList_deny = no 

Estos ajustes de configuración son muy básicos. Puede establecer las reglas de configuración de acuerdo con sus propias necesidades.

Presione Ctrl + X y luego presione Enter para guardar y salir del archivo de texto. Ahora ejecute el siguiente comando para reiniciar el servicio VSFTPD:

sudo systemctl reiniciar vsftpd  

Cómo configurar el firewall para FTP en Ubuntu

Ahora configuraremos el firewall para permitir el tráfico FTP. Abriremos los puertos 20 y 21, los puertos predeterminados/recomendados para FTP y los puertos 40000: 45000 para FTP pasivo. Pero primero, permitamos SSH usando el comando que se da a continuación, de lo contrario, podemos bloquearnos de nuestro servidor:

sudo UFW Permitir OpenSsh  

Si recibe un error "Error: no se pudo encontrar un perfil que coincida con 'OpenSSH'”, primero debe instalar OpenSSH antes de ejecutar el comando anterior. Use el siguiente comando para instalar OpenSSH en su sistema:

sudo apt install ssh 

Una vez que todo esté configurado, abra los puertos predeterminados 20 y 21 para FTP:

sudo UFW Permitir 20: 21/TCP 

Abra los puertos 40000: 45000 para FTP pasivo también:

sudo UFW Permitir 40000: 45000/TCP 

Ahora ejecute el firewall usando el siguiente comando. Ignorar, si da una advertencia sobre la interrupción de la conexión SSH. Presione Y y presione Enter:

sudo ufw habilitar 

El firewall ya está activo y habilitado en mi sistema.

Puede ejecutar el siguiente comando para verificar las reglas del firewall que se acaban de agregar:

estado de sudo UFW 

Cómo crear un usuario para FTP en Ubuntu

Use el comando "adduser" para crear un nuevo usuario. Usaremos este usuario para iniciar sesión en FTP.

sudo adduser test_user  

El terminal le pedirá que establezca la contraseña del nuevo usuario. También solicitará algunos otros detalles. Simplemente presione Entrar si no desea proporcionar estos detalles.

Puede restringir el acceso SSH de este usuario si solo desea que inicie sesión a través de FTP. Use el editor nano para abrir los archivos de configuración SSH:

sudo nano/etc/ssh/sshd_config  

Ahora copie la siguiente línea y péguela en el archivo de configuración para restringir el acceso de los usuarios:

Denyusers test_user 

(Recuerde reemplazar "test_user" con el nombre real de su usuario)

Guarde y salga del archivo de configuración y reinicie el servicio SSH utilizando el comando otorgado por debajo deja que los cambios entren en vigencia:

sudo systemctl reiniciar ssh 

Ahora agregue el usuario a la lista de usuarios de FTP ejecutando el siguiente comando:

echo "test_user" | sudo tee -a /etc /vsftpd.Lista de usuarios 

A continuación, haga un nuevo directorio para que el usuario use para cargar los archivos:

sudo mkdir -p/home/test_user/ftp/test_dir  

Ahora otorgue permisos al nuevo usuario de acuerdo con sus requisitos. Aquí estamos dando el siguiente permiso al test_user:

sudo chmod 550/home/test_user/ftp  sudo chmod 750/home/test_user/ftp/test_dir  sudo chown -r test_user:/home/test_user/ftp  

Aquí 550 da el permiso de "leer" y "ejecutar" de la siguiente manera:

Mientras que 750 también le da el permiso de "escribir" al propietario de la siguiente manera:

Eso es todo. Su servidor FTP ha sido completamente configurado.

Conclusión

FTP se usa para transferir archivos entre computadoras en una red. Es un protocolo que dicta (instruye) cómo se transfieren los datos entre las computadoras en la red. La gente todavía usa FTB pero no es tan segura como SCP o SFTP.

En este artículo, nos centramos en cómo instalar, configurar y configurar VSFTPD. Además, comprendimos cómo configurar firewalls y crear un nuevo usuario para FTP.

También puede gustarle otro tutorial, cómo descargar y cargar archivos utilizando la línea de comandos FTP.