Instale VSFTP en Ubuntu 20.04. En esta guía, aprenderá cómo configurar un servidor FTP y proporcionar acceso a un directorio particular como chroot para un usuario.
Esta configuración se prueba en una instancia de VM de Google Compute Engine con Ubuntu 20.04 LTS.
Por lo tanto, esta configuración funciona bien para cualquier máquina virtual en la instancia AWS EC2 o DigitalOcean o cualquier otro servidor de alojamiento en la nube o VPS o dedicado.
Requisitos previos para Google Cloud
Si está utilizando Google Cloud Platform para configurar FTP, debe realizar los siguientes pasos.
- Compute Engine en ejecución, consulte Configuración de la instancia de Compute Engine con Ubuntu 20.04.
- Completó la configuración inicial del servidor Ubuntu.
Pasos para configurar FTP
- Configura tu instancia de máquina virtual
- Completar la configuración inicial del servidor
- Configurar las reglas del cortafuegos
- Crear un nuevo usuario
- Instalar servidor FTP VSFTP
- Configurar FTP
- Verificar la configuración
Supongo que tiene instalado y configurado su servidor.
Configurar reglas de cortafuegos
Puede configurar FTP en cualquier puerto que desee, ahora lo configurará en el puerto predeterminado 21, por lo que debe crear una regla de firewall para proporcionar acceso a estos puertos.
También abrimos los puertos 40000 – 50000 para conexiones en modo pasivo.
Ve a Red de VPC>> Reglas de firewall y haz clic en Crear reglas de firewall.
En Nombre ingresa ftp
En Objetivos selecciona All instances in the network
En filtro de fuente selecciona IP ranges
En intervalos de IP de origen ingresa 0.0.0.0/0
En Protocolos y puertos comprueba TCP e ingresa 20, 21, 990, 40000-50000
.
Haz clic en Crear .
Permitir puertos FTP en UFW
Si está utilizando UFW en su servidor, asegúrese de abrir el puerto para permitir las conexiones a su servidor; de lo contrario, no podrá conectarse.
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
Crear un nuevo usuario
Ahora puede crear un nuevo usuario usando el siguiente comando para probar el FTP.
sudo useradd -m -c "Name, Role" -s /bin/bash username
Configure una contraseña para ese usuario.
sudo passwd username
Instalar servidor VSFTP
VSFTP es un protocolo de transferencia de archivos muy seguro para sistemas basados en Linux. De forma predeterminada, AWS o Google Cloud no permitirán la autenticación basada en contraseña para las instancias de la máquina virtual.
Con VSFTP puede ejecutar su propio servidor FTP y crear usuarios y asignarlos a cualquier directorio y evitar el acceso a otros directorios usando chroot también.
Ahora puede instalar VSFTP usando el siguiente comando.
sudo apt install vsftpd
Una vez completada la instalación, puede configurar VSFTP.
Configurar VSFTP
Comience por crear una copia de seguridad del archivo de configuración VSFTP original.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Edite el vsftpd.conf
archivo y realice los siguientes cambios.
sudo nano /etc/vsftpd.conf
Modificar las siguientes directivas.
listen=YES listen_ipv6=NO
Descomentar las siguientes directivas.
write_enable=YES local_umask=022 chroot_local_user=YES
Agregar estas configuraciones a la última.
seccomp_sandbox=NO allow_writeable_chroot=YES userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/user_config_dir pasv_min_port=40000 pasv_max_port=50000
Aquí has configurado un userlist_file
que contiene la lista de usuarios de FTP y user_config_dir
para mantener las configuraciones específicas del usuario.
Añade el usuario que has creado antes en el userlist
archivo.
echo "username" | sudo tee -a /etc/vsftpd.userlist
Este comando creará un archivo con el nombre vsftpd.userlist
y agregue el usuario a él y genere el usuario agregado en la terminal.
Crea un directorio con el nombre user_config_dir
para mantener las configuraciones específicas del usuario.
sudo mkdir -p /etc/vsftpd/user_config_dir
Cree un nuevo archivo con el mismo nombre que el nombre de usuario dentro de este directorio.
sudo nano /etc/vsftpd/user_config_dir/username
Agregue la siguiente línea a ese archivo.
local_root=/path/to/your/directory
Guarde el archivo y salga del editor.
Finalmente reinicie VSFTP.
sudo systemctl restart vsftpd
Evitar el acceso SSH
Ahora debe evitar el acceso SSH al usuario recién creado agregando el DenyUsers
directiva en su sshd_config
.
sudo nano /etc/ssh/sshd_config
Agregue la siguiente línea al final del archivo.
DenyUsers username other-user
Puede agregar varios usuarios separados por un espacio.
Reinicie SSH.
sudo systemctl restart ssh
Prepárese para un puesto de trabajo como profesional de tecnología de la información con sistema operativo Linux
Verificar la configuración
Ahora abra su cliente FTP e ingrese la dirección IP externa de su servidor como nombre de host, Puerto como 21, nombre de usuario con el nombre de usuario que creó antes y con la contraseña.
Ahora iniciará sesión en el servidor y solo podrá acceder a la carpeta que se le haya asignado.
Conclusión
Ahora ha aprendido a configurar FTP en su instancia de VM en Ubuntu 20.04.
Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.