El aislamiento de usuario FTP es una de las opciones más importantes en la configuración de un servidor FTP.
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.
En este artículo:
- Diferencias de los modos de aislamiento del usuario FTP
- Estructuras de directorios necesarias para que funcione el aislamiento de usuarios en FTP
- Ejemplos de estructura de directorios para FTP
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
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% |
Y cuando se trata de usuarios de 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) :
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
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“).
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 :
Vemos un ejemplo de los alias virtuales ftp configurados:
Y aquí un ejemplo de cómo accedemos después a ese directorio virtual: