VSFTPD - Cómo chroot a los usuarios de FTP a sus directorios de origen

VSFTPD - Cómo chroot a los usuarios de FTP a sus directorios de origen
Chroot es una característica de seguridad muy importante de los servidores FTP.

Cuando inicia sesión en un servidor FTP, no desea que los usuarios explore todo su sistema de archivos. Solo quiere que él/ella explore los archivos a los que puede acceder, generalmente sus directorios de origen. Esto es lo que hace Chroot. Bloquea a los usuarios en sus directorios de origen. Los usuarios solo pueden navegar por los archivos y directorios en su directorio de inicio. No importa cuánto lo intenten, no podrán salir de sus directorios de origen.

En este artículo, le mostraré cómo usar VSFTPD Chroot para bloquear a los usuarios en sus directorios de origen. Voy a considerar este artículo una extensión del artículo Administre Apache 2 Virtualhost con macro en Ubuntu 18.04 LTS o Cómo configurar Apache Virtualhost en Ubuntu 18.04 LTS. Asegúrese de leer estos artículos para configurar todos los usuarios de FTP y directorios de inicio. Entonces empecemos.

Cómo quiero configurar VSFTPD:

En los artículos de Apache VirtualHost anteriores, le he mostrado cómo configurar Apache VirtualHost y alojar múltiples sitios web en un solo servidor web.

Ahora, quiero que todos los propietarios de sitios web (usuarios) carguen los archivos requeridos a su servidor web usando FTP. Por lo tanto, voy a configurar VSFTPD de una manera que los usuarios puedan cargar los archivos requeridos a su servidor web usando FTP.

Instalación de VSFTPD en Ubuntu:

En Ubuntu, puede instalar fácilmente VSFTPD desde el repositorio oficial de paquetes de Ubuntu con el Administrador de paquetes APT.

Primero, actualice la memoria caché del paquete APT con el siguiente comando:

$ sudo apt actualización

Ahora, instale vsftpd con el siguiente comando:

$ sudo apt instalación vsftpd

VSFTPD debe instalarse.

Configuración de VSFTPD:

El archivo de configuración de VSFTPD es /etc/vsftpd.confusión.

Siempre es una buena idea mantener una copia de seguridad del archivo de configuración VSFTPD original.

Para crear un archivo de configuración de copia de seguridad VSFTPD /etc/vsftpd.confusión.respaldo, Ejecute el siguiente comando:

$ sudo mv -v /etc /vsftpd.conf /etc /vsftpd.confusión.respaldo

Ahora, crea un nuevo /etc/vsftpd.confusión Archivo con el siguiente comando:

$ sudo nano /etc /vsftpd.confusión

Ahora, escriba las siguientes líneas y guarde el archivo presionando + X seguido por Y y .

escuchar = si
escuchar_ipv6 = no
Connect_from_port_20 = sí
Anónimo_enable = no
local_enable = sí
write_enable = sí
chroot_local_user = sí
tOmod_writable_chroot = sí
seguro_chroot_dir =/var/run/vsftpd/vacío
pam_service_name = vsftpd
pasv_enable = sí
pasv_min_port = 40000
pasv_max_port = 45000
userList_enable = sí
userlist_file =/etc/vsftpd.Lista de usuarios
userlist_deny = no

Finalmente, el /etc/vsftpd.confusión El archivo de configuración se ve así.

Aquí, chroot_local_user La opción es responsable de bloquear a los usuarios en sus directorios de inicio.

tampable_writable_chroot La opción es responsable de los permisos de escritura en los directorios de inicio.

Ahora, reinicie el servicio VSFTPD con el siguiente comando:

$ sudo systemctl reiniciar vsftpd

Ahora, verifique si el servicio VSFTPD se ejecuta con el siguiente comando:

$ sudo systemctl status vsftpd

Excelente! El servicio VSFTPD se está ejecutando.

Ahora, debe agregar todos los usuarios que desea conectarse a sus directorios de inicio y cargar archivos a un archivo de configuración /etc/vsftpd.Lista de usuarios

Abre el /etc/vsftpd.Lista de usuarios Archivo de configuración con el siguiente comando:

$ sudo nano /etc /vsftpd.Lista de usuarios

Ahora, escriba todos los nombres de usuario que desea permitir el acceso a sus directorios de inicio a través de FTP aquí. Luego, guarde el archivo presionando + X seguido por Y y .

Acceder al servidor FTP:

Ahora, puede usar cualquier cliente FTP para conectarse a su servidor FTP. El cliente FTP más popular es FileZilla.

En Linux, también puede usar Nautilus File Manager para conectarse a su servidor FTP.

En Windows, puede agregar su servidor FTP como ubicación de red y cargar archivos allí.

Primero, debe conocer la dirección IP o el nombre de host de su servidor FTP.

Puede averiguar la dirección IP de su servidor FTP con el siguiente comando:

$ ip a | egrep "inet"

Como puede ver, la dirección IP de mi servidor FTP es 192.168.21.187. Debería ser diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

Uso de Nautilus para acceder al servidor FTP:

Si desea iniciar sesión en su servidor FTP usando Nautilus en Linux, primero, abra Nautilus y haga clic en Otros lugares. Luego, escriba ftp: // username@ip_addr o ftp: // username@domain_name en la sección Connect to Server. Entonces, haga clic en Conectar.

Ahora, escriba la contraseña para su usuario (en mi caso, Alicia) y haga clic en desbloquear. También puedes comprobar Recordar contraseña, Si desea que Nautilus recuerde las credenciales de inicio de sesión. De lo contrario, simplemente déjalo sin control.

Deberías iniciar sesión. Como puede ver, el directorio www está aquí.

Como puede ver, puedo avanzar en la cadena de directorio.

El índice.html El archivo también está dentro del public_html/ directorio.

Como puede ver, subí un archivo y funciona. También puedo acceder al archivo HTML desde el servidor Apache.

Agregar ubicación de red FTP en Windows:

Si desea iniciar sesión en su servidor FTP y usarlo en Windows agregando una ubicación de red, consulte el Acceder al servidor FTP Sección del artículo Cómo configurar un servidor FTP con VSFTPD en Ubuntu 18.04 LTS.

Entonces, así es como configuras VSFTPD y lo configuras en los usuarios de Chroot FTP en sus directorios de inicio. Gracias por leer este artículo.