Aislamiento de usuario FTP

El aislamiento de usuario FTP es una de las opciones más importantes en la configuración de un servidor FTP.

aislamiento usuarios ftp servidor iis

 

El aislamiento de usuarios FTP consiste en que cada usuario está aislado (enjaulado) dentro de su directorio personal, y no puede moverse a otros directorios por encima del suyo. Se trata de una medida de seguridad.

opciones configurar servidor ftp windows iis
 

En este artículo:

 

Tenemos varias opciones posibles al configurar el aislamiento de los usuarios FTP:

 

  • Directorio de nombres de usuario (deshabilitar los directorios virtuales globales)
  • Directorio físico de nombres de usuario (habilitar los directorios virtuales globales)
  • Directorio particular de FTP en Active Directory

 

opciones aislamiento usuarios ftp
 

 

Diferencias de los modos de aislamiento del usuario FTP

 

Estos 3 modos usan el aislamiento FTP, pero tienen algunas diferencias:

  • Directorio de nombres de usuario (deshabilitar los directorios virtuales globales). Los ficheros del usuario y su sesión están aislados en un directorio físico/virtual. Los usuarios solo pueden ver su propio directorio (el cual es su directorio raíz). En esta opción no se aplican los directorios virtuales globales (aunque existan, no funcionan).
  • Directorio físico de nombres de usuario (habilitar los directorios virtuales globales). La sesión del usuario está aislada en un directorio físico que tiene el mismo nombre que el usuario ftp. En esta opción el usuario tampoco puede ver directorios por encima del suyo. Pero en esta opción todos  los directorios virtuales sí se aplican y están activos (disponibles para el usuario).
  • Directorio particular de FTP en Active Directory : el usuario ftp está aislado dentro de su directorio de inicio,  especificado en este caso en la configuración de su cuenta de Active Directory. Lo haremos con las propiedades FTPRoot y FTPDir.

 
Importante. Si los directorios virtuales globales están activos, todos los usuarios pueden acceder a todos los directorios virtuales establecidos en la raíz del sitio FTP (si tienen los permisos NTFS adecuados).
 

 

Estructuras de directorios necesarias para que funcione el aislamiento de usuarios en FTP

 
Dependiendo del tipo de cuenta que se esté usando para acceder al directorio ftp (cuenta anónima, cuenta local, cuenta de dominio)  es necesario configurar una estructura de directorios concreta para que funcione correctamente el aislamiento de usuarios.


 

Las 3 opciones más usadas son:

 

  • Usuario anónimo : Debemos crear un directorio llamado LocalUser dentro del directorio físico raíz del sitio FTP. Y dentro de este directorio tenemos que crear otro directorio llamado “Public“.

 

  • Usuario Local: Debemos crear un directorio llamado LocalUser dentro del directorio físico raíz del sitio FTP. Y dentro de este directorio, estarán los directorios personales de los usuarios (los directorios tendrán el nombre del usuario).

 

  • Cuenta de dominio Windows: Debemos crear un directorio cuyo nombre será el nombre NETBIOS del dominio, dentro del directorio físico raíz del sitio FTP. Y dentro de este directorio, estarán los directorios personales de los usuarios (los directorios tendrán el nombre del usuario).

 

 

 

Ejemplos de estructura de directorios para FTP: usuario anónimo, cuenta de usuario local, y cuenta de usuario de dominio Windows

 

–> Usuario FTP anónimo

%FtpRoot%\LocalUser\Public

 

 

–> Cuenta de usuario local

 
La primera sería un Windows Server sin ser controlador de dominio, que utiliza usuarios locales.

en tal caso tenemos que crear esta estructura de directorios en la raíz física del sitio FTP:

%FtpRoot%\LocalUser\%UserName%

Primero creamos el directorio LocalUser

y dentro de él, tenemos que crear un directorio con el nombre de cada uno de los usuarios locales creados en el sistema, con permisos para utilizar el servidor ftp.

 

Vemos un ejemplo:

Accedemos al servidor, que en este caso no es un controlador de dominio, sino simplemente un servidor ftp, y esos usuarios usarán cuentas locales del servidor.

Accedemos con el usuario ftp1

Y tras acceder, al listar los ficheros del directorio vemos que aparece el fichero que ese usuario tiene en su directorio aislado para usuarios locales:

 

Aquí vemos la estructura de directorio en el servidor:

Podemos ver que la estructura de directorios ftp en este caso es

%FtpRoot%\LocalUser\%UserName%

estructura directorios en server aislamiento de usuarios localuser ftp

 

 

Y cuando se trata de usuarios de dominio:

estructuras directorios aislamiento de usuarios FTP-usuarios dominio

 

 

–> Cuenta de usuario de Dominio en Windows

 

Si el servidor es un controlador de dominio (en nuestro caso es dom1.server, y su nombre netbios es dom1) :

iis controlador dominio

servidor ftp iis controlador de dominio

 

 

tenemos que elegir una carpeta de inicio para el ftp, que será por ejemplo  C:\inetpub\ftproot\

Debajo de este directorio tenemos que crear un nuevo directorio con el nombre netbios del servidor ,en nuestro caso dom1

estructura directorios server ftp controlador dominio
 
Usando esta estructura:

%FtpRoot%\UserDomain\%UserName%

 

y después debajo de este directorio dom1, creamos carpetas con el nombre de los usuarios del dominio (aquí vemos que hay directorios para 2 usuarios, usuario “dav” y usuario “ftp1“).

estructura directorio usuarios ftp iis controlador dominio

 

Y en las opciones de ISOLATE USER (Aislamiento de usuarios ftp), funciona tanto con la primera como con la segunda opción, solo que una opción deshabilita los directorios virtuales y la otra los habilita.
 

En este caso podemos ver que están habilitados los alias virtuales en el servidor ftp iis :

opciones isolate user ftp controlador dominio

 

 

Vemos un ejemplo de los alias virtuales ftp configurados:

ejemplo directorios virtuales servidor ftp controlador dominio

 

Y aquí un ejemplo de cómo accedemos después a ese directorio virtual:

ejemplo acceso a alias virtual ftp iis