Creación y configuración de sitios FTP en Windows Server 2003
En un artículo anterior vimos que Internet Information Services 6 (IIS 6) es una poderosa plataforma para construir y alojar sitios web tanto para Internet como para intranets corporativas. IIS 6 también es igualmente útil para configurar sitios FTP para uso público o corporativo, y en este artículo recorreremos el proceso de creación y configuración de sitios FTP utilizando la interfaz gráfica de usuario (Administrador de IIS) y los scripts incluidos en Windows Server 2003. Las tareas específicas que recorreremos en este artículo son:
- Crear un sitio FTP
- Controlar el acceso a un Sitio FTP
- Configurar el registro del sitio FTP
- Detener e Iniciar Sitios FTP
- Implementar el Aislamiento de usuarios FTP
Por interés, volveremos a explicar estas tareas en el contexto de una empresa ficticia llamada TestCorp, ya que despliega sitios FTP tanto para su intranet corporativa como para usuarios anónimos en Internet.
Pasos preliminares
Como se mencionó en el artículo anterior, IIS no se instala de forma predeterminada durante una instalación estándar de Windows Server 2003, y si instaló IIS mediante Administrar su servidor como se describe en el artículo anterior, instala el servicio WWW, pero no el servicio FTP. Así que antes de que podamos crear sitios FTP, primero tenemos que instalar el servicio FTP en nuestra máquina IIS. Para hacer esto, necesitamos agregar un componente adicional al rol de Servidor de aplicaciones que asignamos a nuestra máquina cuando usamos Administrar su servidor para instalar IIS.
Comience abriendo Agregar o Quitar programas en el Panel de control y seleccionando Agregar o Quitar componentes de Windows. A continuación, seleccione la casilla de verificación para Servidor de aplicaciones:
Haga clic en Detalles y seleccione la casilla de verificación de Servicios de Información de Internet (IIS):
Haga clic en Detalles y seleccione la casilla de verificación para Servicios de Protocolo de Transferencia de archivos (FTP).
Haga clic en Aceptar dos veces y, a continuación, en instalar el servicio FTP. Durante la instalación, deberá insertar el CD de producto de Windows Server 2003 o buscar un punto de distribución de red donde se encuentren los archivos de configuración de Windows Server 2003. Haga clic en Finalizar cuando termine el asistente.
Crear un sitio FTP
Al igual que con los sitios web, el enfoque más simple para identificar cada sitio FTP en su máquina es asignarle a cada uno de ellos una dirección IP separada, así que digamos que nuestro servidor tiene tres direcciones IP (172.16.11.210, 172.16.11.211 y 172.16.11.212) asignadas a él. Nuestra primera tarea será crear un nuevo sitio FTP para el departamento de Recursos Humanos, pero antes de hacerlo, examinemos primero el Sitio FTP predeterminado que se creó cuando instalamos el servicio FTP en nuestra máquina. Abra el Administrador de IIS en Herramientas administrativas, seleccione Sitios FTP en el árbol de consola y haga clic con el botón derecho en el sitio FTP predeterminado y seleccione Propiedades:
Al igual que el Sitio Web predeterminado, la dirección IP del Sitio FTP predeterminado se establece en Todo sin asignar. Esto significa que cualquier dirección IP no asignada específicamente a otro sitio FTP en la máquina abre el sitio FTP predeterminado en su lugar, por lo que ahora mismo abre ftp://172.16.11.210, ftp://172.16.11.211 o ftp://172.16.11.212 en Internet Explorer se mostrará el contenido del sitio FTP predeterminado.
Asignemos la dirección IP 172.16.11.210 para el sitio FTP de Recursos Humanos y make D:\HR la carpeta donde se encuentra su contenido. Para crear el nuevo sitio FTP, haga clic con el botón derecho en el nodo Sitios FTP y seleccione Nuevo Site> Sitio FTP. Esto inicia el Asistente para la Creación de sitios FTP. Haga clic en Siguiente y escriba una descripción para el sitio:
Haga clic en Siguiente y especifique 172.16.11.210 como dirección IP para el nuevo sitio:
Haga clic en Siguiente y seleccione No aislar usuarios, ya que este será un sitio al que cualquier persona (incluidos los usuarios invitados) tendrá acceso gratuito:
Haga clic en Siguiente y especifique C:\HR como la ubicación del directorio raíz del sitio:
Haga clic en Siguiente y deje los permisos de acceso establecidos en Solo lectura, ya que este sitio solo se utilizará para descargar formularios para empleados actuales y futuros:
Haga clic en Siguiente y, a continuación, Finalizar para completar el asistente. El nuevo sitio FTP de Recursos Humanos ahora se puede ver en el Administrador de IIS bajo el nodo Sitios FTP:
Para ver el contenido de este sitio, vaya a un escritorio Windows XP en la misma red y abra la URL ftp://172.16.11.210 uso de Internet Explorer:
Observe en la barra de estado en la parte inferior de la ventana de IE que está conectado como usuario anónimo. Para ver todos los usuarios actualmente conectados al sitio FTP de Recursos Humanos, haga clic con el botón secundario en el sitio en el Administrador de servicios de Internet y seleccione Propiedades, luego en la pestaña Sitio FTP, haga clic en el botón Sesiones actuales para abrir el cuadro de diálogo Sesiones de usuario FTP:
Tenga en cuenta que los usuarios anónimos que utilizan IE se muestran como IEUser@ en Usuarios conectados.
Ahora vamos a crear otro sitio FTP usando un script en lugar de la GUI. Crearemos un sitio llamado Ayuda y Soporte con directorio raíz C:\Support y dirección IP 172.16.11.211:
Aquí está el resultado de ejecutar el script:
La secuencia de comandos que se utiliza aquí es Iisftp.vbs, que como Iisweb.vbs e Iisvdir.los VBS que discutimos en el artículo anterior son uno de los varios scripts de administración de IIS disponibles cuando instala IIS en Windows Server 2003. Una sintaxis completa para este script se puede encontrar aquí. Una vez que cree un nuevo sitio FTP utilizando este script, puede configurar aún más el sitio utilizando el Administrador de IIS de la manera habitual.
Nota: En este punto, puede agregar estructura a su sitio FTP creando directorios virtuales, y esto se hace de la misma manera que se describió en el artículo anterior para trabajar con sitios web.
Controlar el acceso a un sitio FTP
Al igual que para los sitios web, hay cuatro formas de controlar el acceso a los sitios FTP en IIS: Permisos NTFS, permisos IIS, restricciones de dirección IP y método de autenticación. Los permisos NTFS son siempre su primera línea de defensa, pero no podemos cubrirlos en detalle aquí. Los permisos de IIS se especifican en la pestaña Directorio personal de la hoja de propiedades de su sitio FTP:
Tenga en cuenta que los permisos de acceso para sitios FTP son mucho más simples (solo Lectura y escritura) que para sitios web, y de forma predeterminada solo está habilitado el permiso de lectura, que permite a los usuarios descargar archivos de su sitio FTP. Si permite el acceso de escritura, los usuarios también podrán cargar archivos en el sitio. Y, por supuesto, los permisos de acceso y los permisos NTFS se combinan de la misma manera que lo hacen con los sitios web.
Al igual que los sitios web, las restricciones de dirección IP se pueden usar para permitir o denegar el acceso a su sitio a clientes que tienen una dirección IP específica, una dirección IP en un rango de direcciones o un nombre DNS específico. Estas restricciones se configuran en la pestaña Seguridad de directorios tal como se configuran para los sitios web, y esto se trató en el artículo anterior, por lo que no las discutiremos más aquí.
Los sitios FTP también tienen menos opciones de autenticación que los sitios web, como se puede ver al seleccionar la pestaña Cuentas de seguridad:
De forma predeterminada, se selecciona Permitir conexiones anónimas, y esto está bien para sitios FTP públicos en Internet, pero para sitios FTP privados en una intranet corporativa, es posible que desee borrar esta casilla de verificación para evitar el acceso anónimo a su sitio. Al borrar este cuadro, el sitio FTP utiliza la autenticación básica en su lugar, y a los usuarios que intentan acceder al sitio se les presenta un cuadro de diálogo de autenticación:
Tenga en cuenta que la autenticación básica pasa las credenciales de usuario a través de la red en texto claro, lo que significa que los sitios FTP son inherentemente inseguros (no admiten la autenticación integrada de Windows). Por lo tanto, si va a implementar un sitio FTP privado en su red interna, asegúrese de cerrar los puertos 20 y 21 en su firewall para bloquear el tráfico FTP entrante de usuarios externos en Internet.
Configurar el registro del sitio FTP
Al igual que con los sitios web, el formato de registro predeterminado para los sitios FTP es el Formato de archivo de registro extendido W3C, y los registros del sitio FTP se almacenan en carpetas con el nombre
%SystemRoot% \ system32 \ LogFiles \ MSFTPSVCnnnnnnnnnn
donde nnnnnnnnnn es el número de ID del sitio FTP. Y al igual que con los sitios web, puede usar el Analizador de registros de Microsoft, parte de las Herramientas del Kit de recursos de IIS 6.0, para analizar estos registros de sitios FTP.
Detener e iniciar sitios FTP
Si un sitio FTP no está disponible, es posible que deba reiniciarlo para que vuelva a funcionar, lo que puede hacer utilizando el Administrador de IIS haciendo clic con el botón derecho en el sitio FTP y seleccionando Detener y luego Iniciar. Desde la línea de comandos puede escribir net stop msftpsvc seguido de net start msftpsvc o usar iisreset para reiniciar todos los servicios de IIS. Recuerde que reiniciar un sitio FTP es el último recurso, ya que cualquier usuario que esté conectado al sitio se desconectará.
Implementación del Aislamiento de usuarios FTP
Finalmente, concluyamos mirando cómo implementar la nueva función de Aislamiento de usuarios FTP de IIS en Windows Server 2003. Cuando un sitio FTP utiliza esta función, cada usuario que accede al sitio tiene un directorio de inicio FTP que es un subdirectorio debajo del directorio raíz del sitio FTP, y desde la perspectiva del usuario, su directorio de inicio FTP parece ser la carpeta de nivel superior del sitio. Esto significa que los usuarios no pueden ver los archivos en los directorios de inicio FTP de otros usuarios, lo que tiene la ventaja de proporcionar seguridad para los archivos de cada usuario.
Vamos a crear un nuevo sitio FTP llamado Staff que hace uso de esta nueva característica, utilizando C:\Staff Carpetas como el directorio raíz del sitio y 172.16.11.212 para la dirección IP del sitio. Inicie el Asistente para Creación de sitios FTP como lo hicimos anteriormente y avance hasta llegar a la página de Aislamiento de usuarios FTP y seleccione la opción Aislar usuarios en esta página:
Continúe con el asistente y asegúrese de dar a los usuarios permisos de lectura y escritura para que puedan cargar y descargar archivos.
Ahora supongamos que tiene dos usuarios, Bob Smith (bsmith) y Mary Jones (mjones) que tienen cuentas en un dominio cuyo nombre anterior a Windows 2000 es TESTTWO. Para proporcionar a estos usuarios directorios de inicio FTP en su servidor, primero cree una subcarpeta llamada \TESTTWO debajo de Carpetas \Staff (su directorio raíz FTP). A continuación, cree subcarpetas \bsmith y \mjones debajo de la carpeta \Accounts. La estructura de carpetas ahora debería tener este aspecto:
C:\ Staff Folders
\TESTTWO
\bsmith
\mjones
Para probar el aislamiento de usuarios FTP, pongamos un nombre de archivo en el documento de Bob.doc en la subcarpeta \bsmith y el documento de Mary.doc en la subcarpeta \mjones. Ahora vaya a un escritorio de Windows XP y abra Internet Explorer e intente abrir ftp://172.16.11.212, que es la URL del sitio FTP del personal que acabamos de crear. Al hacer esto, aparece un cuadro de diálogo de autenticación, y si eres Bob, puedes ingresar tu nombre de usuario (utilizando el formulario DOMINIO\nombre de usuario) y contraseña de esta manera:
Cuando Bob hace clic en el botón de inicio de sesión, se muestra el contenido de su directorio de inicio de FTP:
Tenga en cuenta que cuando crea un nuevo sitio FTP utilizando Aislamiento de usuarios FTP, no puede convertirlo en un sitio FTP ordinario (uno que no tenga habilitado el Aislamiento de usuarios FTP). De manera similar, un sitio FTP ordinario no se puede convertir en uno usando Aislamiento de usuario FTP.
Todavía necesitamos explorar una opción más y esa es la tercera opción en la página de Aislamiento de usuarios FTP del Asistente para Creación de Sitios FTP, a saber, Aislar usuarios usando Active Directory. Ya que nos hemos quedado sin direcciones IP, primero eliminemos el sitio FTP de Ayuda y soporte para liberar 172.16.11.211. Una forma de hacerlo es abriendo un símbolo del sistema y escribiendo iisttp / delete «Ayuda y soporte» usando iisttp.script de comandos vbs. A continuación, inicie de nuevo el Asistente para Creación de Sitios FTP y seleccione la tercera opción mencionada anteriormente (nombraremos a esta nueva Administración de sitios):
Haga clic en Siguiente e introduzca una cuenta de administrador en el dominio, la contraseña de esta cuenta y el nombre completo del dominio:
Haga clic en Siguiente y confirme la contraseña y complete el asistente de la manera habitual. Notará que no se le pidió que especificara un directorio raíz para el nuevo sitio FTP. Esto se debe a que, cuando se utiliza este enfoque, el directorio de inicio FTP de cada usuario está definido por dos variables de entorno: %ftproot % que define el directorio raíz y puede estar en cualquier lugar, incluyendo una ruta UNC a un recurso compartido de red en otra máquina, como \ \ test220 \ docs, y% ftpdir %que se puede establecer en% username % de modo que, por ejemplo, el directorio FTP de Bob Smith sería \\test220\docs\bsmith y esta carpeta tendría que ser creada de antemano para él. Puede establecer estas variables de entorno mediante un script de inicio de sesión y asignarlo mediante una Directiva de grupo, pero eso está más allá del alcance de este artículo.
Resumen
En este artículo he explicado cómo crear y configurar sitios FTP de varias maneras en IIS 6. Con la excepción del Aislamiento de usuarios FTP, todo lo que hemos cubierto aquí también se aplica a IIS 5 en Windows 2000. Si desea obtener más información sobre IIS 6 y sus capacidades, consulte mi libro Administración de IIS 6 (Osborne/McGraw-Hill).