Configuración del aislamiento de usuarios FTP en IIS 7

de Robert McMurray

Compatibilidad

Versión Notas
IIS 7.5 El servicio FTP 7.5 se distribuye como una característica de IIS 7.5 en Windows 7 y Windows Server 2008 R2.
IIS 7.0 Los servicios FTP 7.0 y FTP 7.5 se enviaron fuera de banda para IIS 7.0, lo que requería descargar e instalar el servicio desde la siguiente dirección URL: https://www.iis.net/downloads/microsoft/ftp.

Introducción

Microsoft ha creado un nuevo servicio FTP que se ha reescrito completamente para Windows Server 2008. Este nuevo servicio FTP actualizado incorpora muchas características nuevas que permiten a los autores web publicar contenido mejor que antes, y ofrece a los administradores web más opciones de seguridad e implementación.

Este documento le guiará a través de las distintas opciones de aislamiento de usuario FTP mediante la nueva interfaz de usuario FTP y editando directamente los archivos de configuración de IIS.

Nota:

Este tutorial contiene una serie de pasos en los que iniciará sesión en el sitio FTP mediante la cuenta de administrador local. Estos pasos solo deben seguirse en el propio servidor usando la dirección de bucle invertido o a través de SSL desde un servidor remoto. Si prefiere usar una cuenta de usuario independiente en lugar de la cuenta de administrador, necesitará crear las carpetas adecuadas y establecer los permisos correctos para esa cuenta de usuario cuando sea necesario.

Requisitos previos

Los siguientes elementos son necesarios para completar los procedimientos de esta sección:

  1. IIS 7 debe estar instalado en Windows Server 2008 RC0 y también se debe instalar Internet Information Services Manager.

  2. El nuevo servicio FTP debe estar instalado. Puede descargar e instalar el servicio FTP desde el sitio web https://www.iis.net/ mediante uno de los vínculos siguientes:

    • FTP para IIS 7 (x64)
    • FTP para IIS 7 (x86)
  3. Deberá crear una carpeta raíz para la publicación de FTP:

    • Cree una carpeta en %SystemDrive%\inetpub\ftproot

    • Establezca los permisos para permitir el acceso anónimo:

      • Abra un símbolo del sistema.

      • Escriba el siguiente comando:

        ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
        
      • Cierre el símbolo del sistema.

  4. Deberá crear carpetas de contenido adicionales:

    • Cree una carpeta en %SystemDrive%\inetpub\ftproot\LocalUser\Public
    • Cree una carpeta en %SystemDrive%\inetpub\adminfiles

Usar el Asistente para sitios FTP para crear un sitio FTP

En esta primera sección crearemos un nuevo sitio FTP que se puede abrir con acceso de solo lectura por parte de usuarios anónimos y acceso de lectura y escritura por parte de la cuenta de administrador.

  1. En el Administrador de IIS, en el panel Conexiones, haga clic en el nodo Sitios del árbol.

  2. Como se indica en la imagen siguiente, haga clic con el botón derecho en el nodo Sitios del árbol y haga clic en Agregar sitio FTP o en Agregar sitio FTP en el panel Acciones.
    Screenshot of the I I S Manager screen with a focus on the Add F T P Site option in the right-click drop-down menu over the Sites folder.

  3. Cuando aparezca el asistente Agregar sitio FTP:

    • Escriba "Mi nuevo sitio FTP" en el cuadro Nombre del sitio FTP y vaya a la carpeta %SystemDrive%\inetpub\ftproot que creó en la sección Requisitos previos. Tenga en cuenta que si decide escribir la ruta de acceso a la carpeta de contenido, puede usar variables de entorno en las rutas de acceso.
    • Cuando haya completado estos elementos, haga clic en Aceptar.
      Screenshot of the Add F T P Site wizard, displaying the Site Information section.
  4. En la página siguiente del asistente:

    • Normalmente, podría elegir una dirección IP para el sitio FTP en la lista desplegable Dirección IP o aceptar la selección predeterminada de "Todo sin asignar". Dado que usará la cuenta de administrador más adelante en este tutorial, debe asegurarse de restringir el acceso al servidor y escriba la dirección IP de bucle invertido local del equipo escribiendo "127.0.0.1" en el cuadro Dirección IP.
    • Normalmente, escribiría el puerto TCP/IP para el sitio FTP en el cuadro Puerto. Para este tutorial, acepte el puerto predeterminado de 21.
    • Para este tutorial, no se usará un nombre de host, por lo que debe asegurarse de que el cuadro Host virtual esté en blanco.
    • Asegúrese de que la lista desplegable Certificados esté establecida en "No seleccionado" y de que esté seleccionada la opción Permitir SSL.
    • Cuando haya completado estos elementos, haga clic en Aceptar.
      Screenshot of the Add F T P Site screen's Binding and S S L Settings section with a focus on the Next option.
  5. En la página siguiente del asistente:

    • Seleccione Anónimo para la configuración de Autenticación.
    • Para la configuración de Autorización, elija "Usuarios anónimos" en la lista desplegable Permitir el acceso a y seleccione Leer para la opción Permisos.
    • Cuando haya completado estos elementos, haga clic en Finalizar.
      Screenshot of the Add F T P Site screen's Authentication and Authorization Information section with a focus on the Finish option.
  6. En el Administrador de IIS, haga clic en el nodo del sitio FTP que creó; se mostrarán los iconos de todas las características de FTP.
    Screenshot of the I I S Manager screen showing the My New F T P Site Home section displaying F T P features.

  7. Es necesario agregar la autenticación básica para que los usuarios puedan iniciar sesión. Para ello, haga doble clic en el icono Autenticación FTP para abrir la página de características de autenticación FTP.
    Screenshot of the I I S Manager screen with a focus on the F T P Authentication option in the My New F T P Site Home section.

  8. Cuando se muestre la página Autenticación FTP, resalte Autenticación básica y, a continuación, haga clic en Habilitar en el panel Acciones .
    Screenshot of the I I S Manager screen's F T P Authentication section with a focus on the Enable option in the Actions pane.

  9. En el Administrador de IIS, haga clic en el nodo del sitio FTP para volver a mostrar los iconos de todas las características de FTP.

  10. Es necesario agregar una regla de autorización para que el administrador pueda iniciar sesión. Para ello, haga doble clic en el icono Reglas de autorización de FTP para abrir la página de características de reglas de autorización de FTP.
    Screenshot of the I I S Manager screen's F T P Authorization Rules option in the F T P section.

  11. Cuando se muestre la página Reglas de autorización de FTP, haga clic en Agregar regla de permiso en el panel Acciones.
    Screenshot of the I I S Manager screen's F T P Authorization Rules section with a focus on the Add Allow Rule option in the Actions pane.

  12. Cuando se muestra el cuadro de diálogo Agregar regla de autorización permitida:

    • Seleccione Usuarios especificados y escriba "administrador" en el recuadro.
    • En Permisos, seleccione Lectura y escritura.
    • Cuando haya completado estos elementos, haga clic en Aceptar.
      Screenshot of the Add Allow Authorization Rule dialog box.

Resumen

Para resumir los elementos que completó en esta sección:

  1. Ha creado un nuevo sitio FTP denominado "Mi nuevo sitio FTP", con la raíz de contenido del sitio en %SystemDrive%\inetpub\ftproot.
  2. Ha enlazado el sitio FTP a la dirección de bucle invertido local del equipo en el puerto 21 y hemos elegido no usar Capa de sockets seguros (SSL) para el sitio FTP.
  3. Ha creado una regla predeterminada para el sitio FTP para permitir que los usuarios anónimos tengan acceso de "Lectura" a los archivos.
  4. Ha agregado una regla de autorización que permite a la cuenta de administrador "Leer" y "Escribir" en el sitio FTP.
  5. Ha agregado la autenticación básica al sitio FTP.

Examinar la nueva configuración de aislamiento de usuario FTP

  1. En el Administrador de IIS, haga clic en el nodo del sitio FTP que creó; se mostrarán los iconos de todas las características de FTP.

  2. Haga doble clic en el icono Aislamiento de usuario FTP para abrir la característica de aislamiento de usuario FTP.
    Screenshot of the I I S Manager screen's My New F T P Site Home section with a focus on the F T P User Isolation option.

  3. Cuando se muestre la página de características Aislamiento de usuario FTP, observe que tiene cinco opciones diferentes disponibles:
    Screenshot of the I I S Manager screen's F T P User Isolation feature page.

  4. Estas cinco opciones se definen como:

    • No aislar a los usuarios. Inicio de usuarios en:

      • Directorio raíz de FTP

        • Esta opción especifica que todas las sesiones FTP se iniciarán en el directorio raíz del sitio FTP.

          Nota:

          Esta opción es nueva en este servidor FTP y simplemente deshabilita todo el aislamiento de usuario o la lógica de inicio de carpetas.

      • Directorio de nombres de usuario

        • Esta opción especifica que todas las sesiones FTP se iniciarán en el directorio físico o virtual con el mismo nombre del usuario que ha iniciado la sesión si existe la carpeta; de lo contrario, se iniciará la sesión FTP en el directorio raíz del sitio FTP.

          Nota:

          Esta opción es igual que no elegir ningún aislamiento de usuario en el servidor FTP de IIS 6.0. Para obtener más información sobre el uso de esta opción, consulte la sección "No aislar el modo de usuarios" en el tema Hospedaje de varios sitios FTP con aislamiento de usuario FTP (IIS 6.0).

    • Aislar usuarios. Restringir usuarios al siguiente directorio:

      • Directorio de nombres de usuario (deshabilitar directorios virtuales globales)

        • Esta opción especifica que desea aislar las sesiones de usuario FTP en el directorio físico o virtual con el mismo nombre de la cuenta de usuario FTP. El usuario ve solo su ubicación raíz en el FTP y, por lo tanto, no puede acceder a los directorios físicos o virtuales del árbol de navegación. Se ignorarán los directorios virtuales globales que se crean.

          Nota:

          Esta opción es nueva en este servidor FTP.

      • Directorio físico de nombre de usuario (habilitar directorios virtuales globales)

        • Esta opción especifica que desea aislar las sesiones de usuario FTP en el directorio físico con el mismo nombre de la cuenta de usuario FTP. El usuario ve solo su ubicación raíz en el FTP y, por lo tanto, no puede acceder a los directorios físicos superiores del árbol de navegación. Todos los directorios virtuales globales que se crean se aplicarán a todos los usuarios.

          Nota:

          Esta opción es igual que elegir el aislamiento de usuario en el servidor FTP de IIS 6.0.

      • Directorio particular de FTP configurado en Active Directory

        • Esta opción especifica que desea aislar las sesiones de usuario FTP en el directorio principal configurado en la configuración de la cuenta de Active Directory para cada usuario FTP.

          Nota:

          Esta opción es igual que elegir el aislamiento de usuario de Active Directory en el servidor FTP de IIS 6.0.

Configuración de las opciones de aislamiento de usuario por directorios físicos

Al aislar solo a los usuarios por directorios físicos, todas las sesiones de usuario FTP están restringidas al directorio físico con el mismo nombre de la cuenta de usuario FTP. Sin embargo, todos los directorios virtuales globales que se crean se aplican a todos los usuarios.

  1. En el Administrador de IIS, haga clic en el nodo del sitio FTP que creó; se mostrarán los iconos de todas las características de FTP.
  2. Haga doble clic en el icono Aislamiento de usuario FTP para abrir la característica de aislamiento de usuario FTP.
    Screenshot of the I I S Manager screen's My New F T P Site Home section with the F T P User Isolation icon being highlighted.
  3. Cuando se muestra la página de características Aislamiento de usuarios FTP, seleccione la opción Directorio físico de nombre de usuario (habilitar directorios virtuales globales) y, a continuación, haga clic en Aplicar en el panel Acciones.
    Screenshot of the I I S Manager screen's F T P User Isolation section with a focus on the Apply option.

Iniciar sesión en el sitio FTP

Ahora puede iniciar sesión en el sitio FTP con aislamiento de usuario, pero se aplica la siguiente información:

  1. Si inicia sesión en el sitio FTP de forma anónima, la sesión se restringirá a la carpeta "LocalUser\Public" que creó en la sección Requisitos previos.
  2. Si intenta iniciar sesión en el sitio FTP mediante la cuenta de administrador, se denegará la solicitud de inicio de sesión porque la cuenta de administrador no tiene definido un directorio principal. Para permitir que la cuenta de administrador inicie sesión, debe crear un directorio principal para la cuenta de administrador en %SystemDrive%\inetpub\ftproot\LocalUser\Administrator. Después, si inició sesión en el sitio FTP mediante la cuenta de administrador, la sesión se restringirá a la carpeta "LocalUser\Administrator" que acaba de crear.

Resumen

Para volver a resumir los elementos que completó en este paso, ha configurado el aislamiento de usuario FTP mediante la opción Directorio físico de nombre de usuario (habilitar directorios virtuales globales). Cuando se usa este modo de aislamiento de usuario, todas las sesiones de usuario FTP están restringidas al directorio físico con el mismo nombre de la cuenta de usuario FTP y todos los directorios virtuales globales que se crean se aplicarán a todos los usuarios.

Para crear directorios principales para cada usuario, primero debe crear un directorio físico en la carpeta raíz del servidor FTP con el nombre del dominio o LocalUser para las cuentas de usuario locales. A continuación, debe crear un directorio físico para cada cuenta de usuario que acceda al sitio FTP. En la tabla siguiente se muestra la sintaxis del directorio principal para los proveedores de autenticación que se envían con el servicio FTP:

Tipos de cuentas de usuario Sintaxis de Directorio principal físico
Usuarios anónimos %FtpRoot%\LocalUser\Public
Cuentas de usuario locales de Windows (requiere autenticación básica) %FtpRoot%\LocalUser\%UserName%
Cuentas de dominio de Windows (requiere autenticación básica) %FtpRoot%\%UserDomain%\%UserName%
Cuentas de usuario de autenticación personalizadas del Administrador de IIS o ASP.NET %FtpRoot%\LocalUser\%UserName%

Nota:

En la tabla anterior, %FtpRoot% es el directorio raíz del sitio FTP; por ejemplo, C:\Inetpub\Ftproot.

Nota importante: Se habilitan directorios virtuales globales; todos los usuarios de FTP pueden acceder a todos los directorios virtuales configurados en el nivel raíz del sitio FTP, siempre que tengan permisos suficientes.

Ajustes de la configuración del aislamiento de usuario para todos los directorios

Al aislar a los usuarios de todos los directorios, todas las sesiones de usuario FTP están restringidas al directorio físico o virtual con el mismo nombre de la cuenta de usuario FTP. Además, se omitirán todos los directorios virtuales globales creados. En este paso, configurará el aislamiento de usuario para todos los directorios y agregará un directorio virtual para el usuario administrador.

  1. En el Administrador de IIS, haga clic en el nodo del sitio FTP que creó; se mostrarán los iconos de todas las características de FTP.

  2. Haga doble clic en el icono Aislamiento de usuario FTP para abrir la característica de aislamiento de usuario FTP.
    Screenshot of the I I S Manager screen's My New F T P Site Home setion with the F T P User Isolation shortcut being highlighted.

  3. Cuando se muestre la página de características Aislamiento de usuarios FTP, seleccione la opción Directorio de nombres de usuario (deshabilitar directorios virtuales globales) y, a continuación, haga clic en Aplicar en el panel Acciones.
    Screenshot of the I I S Manager screen's F T P User Isolation section have the User name directory (disable global virtual directories) option selected.

  4. Expanda el nodo de árbol del sitio FTP y, a continuación, haga clic con el botón derecho en la carpeta LocalUser y en Agregar directorio virtual.

    Nota:

    En este ejemplo, la carpeta "LocalUser" es un directorio físico, pero también se podría haber usado un directorio virtual.

    Screenshot of the I I S Manager screen's Connections pane with a focus on the Add Virtual Directory option in the right-click drop-down menu.

  5. Cuando aparezca el cuadro de diálogo Agregar directorio virtual:

    • Escriba "administrador" en el alias.
    • Escriba %SystemDrive%\inetpub\adminfiles en la ruta de acceso física.
    • Cuando haya completado estos elementos, haga clic en Aceptar.
      Screenshot of the Add Virtual Directory dialog box.

Iniciar sesión en el sitio FTP

Ahora puede iniciar sesión en el sitio FTP con aislamiento de usuario, pero se aplica la siguiente información:

  1. Al igual que con el paso 3, si inicia sesión en el sitio FTP de forma anónima, la sesión se restringirá a la carpeta "LocalUser\Public" que creó en la sección Requisitos previos.
  2. Si inicia sesión en el sitio FTP con la cuenta de administrador, la sesión se restringirá al directorio virtual "/LocalUser/administrator" que acaba de crear.

Resumen

Para volver a resumir los elementos que completó en este paso, configuró el aislamiento de usuario FTP mediante la opción Directorio de nombres de usuario (deshabilitar directorios virtuales globales). Al usar este modo de aislamiento de usuario, todas las sesiones de usuario FTP están restringidas al directorio virtual o físico con el mismo nombre de la cuenta de usuario FTP y se omitirán todos los directorios virtuales globales creados.

Para crear directorios principales para cada usuario, primero debe crear un directorio virtual o físico en la carpeta raíz del servidor FTP con el nombre dominio o LocalUser para las cuentas de usuario locales. A continuación, debe crear un directorio físico o virtual para cada cuenta de usuario que acceda al sitio FTP. En la tabla siguiente se muestra la sintaxis del directorio principal para los proveedores de autenticación que se envían con el servicio FTP:

Tipos de cuentas de usuario Sintaxis de Directorio principal físico
Usuarios anónimos %FtpRoot%\LocalUser\Public
Cuentas de usuario locales de Windows (requiere autenticación básica) %FtpRoot%\LocalUser\%UserName%
Cuentas de dominio de Windows (requiere autenticación básica) %FtpRoot%\%UserDomain%\%UserName%
Cuentas de usuario de autenticación personalizadas del Administrador de IIS o ASP.NET %FtpRoot%\LocalUser\%UserName%

Nota:

En la tabla anterior, %FtpRoot% es el directorio raíz del sitio FTP; por ejemplo, C:\Inetpub\Ftproot.

Se omiten los directorios virtuales globales; los usuarios de FTP no pueden acceder a todos los directorios virtuales configurados en el nivel raíz del sitio FTP. Todos los directorios virtuales deben definirse explícitamente en la ruta de acceso del directorio principal virtual o físico de un usuario.