You are on page 1of 65

[TUTORIAL] Internet Information Services | Configuracin de IIS

7.5 para alojar mltiples Sitios Web Parte 1/3


Posted in Tutoriales y Configuraciones, Windows Server (OS), WS - Web Server (IIS) 3 Comments

IIS es el rol de servidor de Microsoft que permite alojar Aplicaciones y Sitios Web.
Normalmente instalamos este rol cuando utilizamos Sharepoint, servicios de Certificados de
Active Directory u otros componentes que requieren de l. Sin embargo, tambin podemos
instalar dicho rol para alojar la web institucional de nuestra empresa.
En algunos escenarios, requerimos configurar varios sitios web, y contamos con solo pocoas
direcciones IPs. Cmo configurar en forma segura varios sitios web a la vez en el mismo
servidor y con una sola IP disponible pblica? Este tutorial intenta explicar, paso a paso, como
lograr una configuracin standard de un servidor IIS 7.5 con capacidades multi-site,
permitiendo subir contenido a cada sitio mediante protocolo FTP.
Este tutorial forma parte de tres entregas. En esta primera parte vamos a realizar toda la
preparacin del Servidor, Carpetas de Publicacin y Cuentas de Servicio.

Tabla de Contenido

Introduccin
o

Objetivo

Audiencia

Comentarios y Correccin de Errores

Alcance
o

Objetivo Tcnico

Tecnologas Alcanzadas

Escenario de Trabajo

IIS01

Gateway / Firewall

DESKTOP01

DNS

Fuera de Alcance

Plan de Trabajo

Desarrollo de la parte 1/3 del Tutorial

Discos

Red

Firewall de Windows

Instalacin de Feature IIS 7.5 Server de Windows Server 2008 R2

Configuracin de Carpetas de Publicacin

Preparacin del Servidor

Criterio de Ordenamiento

Modificacin de Permisos en Carpeta Raz

Creacin de Arbol de Directorios

Creacin de Carpeta para Clientes

Creacin de Carpetas para Sitios Web

Configuracin de Cuentas de Servicio

Introduccin a Cuentas de Servicio

Creacin de Cuentas de Servicio

Configuracin en Permisos para las Cuentas de Servicio

Posible pregunta

Conclusiones
o Pablo Ariel Di Loreto

Introduccin
Objetivo
El objetivo de esta publicacin es demostrar cmo Internet Information Services (IIS) puede
brindar un soporte robusto para alojar mltipiles sitios web en modo Shared Hosting,
brindando proteccin aislada para cada tenant y acceso para publicacin por FTP.

Audiencia
Este documento est dirigido a Consultores, Profesionales IT y personas que desarrollan
tareas de Consultora, Administracin y Soporte de Windows Server o que simplemente estn
interesados en aprender nuevas cosas.

Comentarios y Correccin de Errores


Hemos realizado nuestro mejor esfuerzo para no cometer errores, pero al fin y al cabo somos
seres humanos. Si deses reportar algn error o darnos feedback de qu te pareci esta

publicacin, por favor no dejes de comunicarte con nosotros a travs de correo electrnico a la
siguiente direccin: info@tectimes.net.

Alcance
Entender cul es el alcance de la publicacin nos ayuda a tener una expectativa real de lo que
encontraremos en la misma, de modo tal que quin lo lee no espere ni ms ni menos de lo que
encontrar. Vamos a describir el escenario de trabajo, tecnologas alcanzadas y plan de
trabajo en alto nivel.

Objetivo Tcnico
El objetivo tcnico de esta publicacin es poder realizar la instalacin del rol IIS 7.5 y la
configuracin de varios sitios web utilizando las posibilidades multi-site de este rol en
Windows Server 2008 R2, de modo tal que:

Se puedan alojar varios sitios web por el protocolo HTTP simultneamente.


Se pueda usar una sola direccin IP pblica (privada para fines de laboratorio).

Como resultado, tendremos una implementacin bsica de IIS 7.5 y la posibilidad de alojar
diferentes sitios web (que pueden ser clientes) bajo el mismo puerto y direccin IP.

Tecnologas Alcanzadas
Esta publicacin puede aplicarse a:

Internet Information Services 7.


Internet Information Services 7.5.
Windows Server 2008 Standard.
Windows Server 2008 Enterprise.
Windows Server 2008 Datacenter.
Windows Server 2008 R2 Standard.
Windows Server 2008 R2 Enterprise.
Windows Server 2008 R2 Datacenter.

Escenario de Trabajo
El diagrama de trabajo propuesto es el siguiente:

Diagrama de Trabajo

IIS01
Ser nuestro servidor IIS. Contamos con un equipo virtualizado con el siguiente hardware:

2 Procesadores.
1 GB de Memoria RAM.
1 Disco de 80 GB para el sistema operativo: Unidad C.
1 Disco de 80 GB para los Sitios Web: Unidad E.
1 Placa de Red.

Dicho equipo cuenta con el siguiente software:

Windows Server 2008 R2 con todos los updates.

Los datos del equipo son los siguientes:

Nombre: IIS01
Direccin IP: 192.168.1.235 (observese que tiene una sola)

Gateway: 192.168.1.1
Grupo de Trabajo: WORKGROUP

Gateway / Firewall
Nuestro Gateway nos brinda seguridad desde el exterior y la direccin IP pblica a travs
de NAT. Para nuestro laboratorio no tiene mucha importancia, pero es importante para
ambientes pre-productivos o de produccin. Los datos de nuestro Firewall con los
siguientes:

Direccin IP: 192.168.1.1


Direccin IP Pblica: [RESERVADA]
Publicaciones de servicio: ninguna.

DESKTOP01
Adems, contamos con un equipo de escritorio para hacer la prueba de apertura de
pginas web con los siguientes datos:

Direccin IP: 192.168.1.241

DNS
Por razones de simplicidad de este tutorial, no vamos a configurar publicaciones para el
servidor Web. La forma de probar que nuestra solucin es capaz de alojar varios sitios web
ser utilizando un servidor DNS de Microsoft y creando las zonas DNS de los dominios que
utilizaremos como prueba, y creando su correspondiente registro WWW. De esta forma,
cuando el equipo DESKTOP01 intente abrir una de ellas, el resultado apuntar a nuestro
servidor IIS01 de la LAN.
Esto no cambia en nada el objetivo del tutorial, dado que seguimos respectando las
premisas del mismo. Esta simplicidad se hace solo para que el artculo no abarque tems
que no son el foco de la misma.

Por esta razn, nuestro equipo DESKTOP01 tendr como servidor DNS a este DNS
interno, y dentro del DNS interno crearemos las zonas pblicas necesarias para que los
siguientes sitios, al ser buscados, tengan apuntamientos internos:

www.sitio1.com
www.sitio2.com
www.sitio3.com
www.sitio4.com

Fuera de Alcance
Se deja fuera de alcance de este tutorial:

La configuracin de Firewall de frontera (TMG, ISA u otros).


La publicacin de los sitios web a travs del Firewall de frontera.
La utilizacin de AppPoolIdentity de IIS 7 o superior. Para este tutorial se han elegido utilizar
cuentas locales del sistema operativo.
La infraestructura de Dominio: para este tutorial se utiliza un servidor stand-alone.

Plan de Trabajo
El plan de trabajo completo es el siguiente:

Preparacin del Servidor.


Instalacin de Feature IIS 7.5 Server de Windows Server 2008 R2.
Configuracin de Carpetas de Publicacin.
Configuracin de Cuentas de Servicio.
Configuracin de Sitios Web.
Configuracin de DNS Interno para Pruebas.
Prueba de Acceso a Sitios Web sin Firewall.
Configuracin de publicacin FTP.
Prueba de Acceso a FTP sin Firewall.
Configuracin de Firewall de Windows.
Prueba de Acceso a Sitios Web y FTP con Firewall.

En esta primera parte, se desarrollarn los primeros puntos hasta Configuracin de


Cuentas de Servicio. El resto de las entregas se encuentran en Publicaciones
Relacionadas al final de la pgina.

Desarrollo de la parte 1/3 del Tutorial


Preparacin del Servidor
La preparacin del servidor es la instancia donde vamos a dejar lista la estructura y
configuracin de:

Discos.
Red.
Firewall.

Discos
Nuestra estructura de discos es la siguiente:

Estructura de Discos

Contamos con una Unidad C para el sistema operativo, y una Unidad E para los datos de
nuestros sitios web. Es importante contar con una unidad separada para estos ltimos
datos, dado que nos brinda mayor aislamiento.
El tamao de las unidades depender de la informacin que vayamos a alojar dentro. En
nuestro caso, elegimos para este laboratorio dos discos de 80 GB.

Red
Contamos con, al menos, una placa de red con direccin IP privada (de nuestra LAN). Los
protocolos habilitados para dicha placa son los siguientes:

Protocolos de Red habilitados

Como vemos, hemos deshabilitado cualquier protocolo que no sea afin a nuestro objetivo:
un servidor Web. Hemos dejado solamente dos protocolos habilitados:

QoS Packet Scheduler: relacionado con calidad y control de trfico de red.


Internet Protocol Version 4 (TCP/IPv4): por supuesto, el protocolo IPv4.

El objetivo de deshabilitar otros protocolos es reducir la superficie de ataque de nuestro


servidor.

Firewall de Windows
Para simplificar la configuracin inicial, vamos a deshabilitar nuestro Firewall:

Firewall Deshabilitado

Instalacin de Feature IIS 7.5 Server de Windows Server 2008


R2
Lleg el momento de realizar la instalacin del rol IIS 7.5 sobre nuestro Windows Server
2008 R2. Tenemos varias formas de hacerlo:

Mediante Add or Remove Roles de Windows Server.


Mediante Microsoft Web Plataform.

Para este caso, vamos a elegir la primera opcin. Para ello vamos a ir a Server Manager
y elegiremos el grupo Roles y la opcin Add Roles:

Add Roles de Windows Server 2008 R2

Se abrir el asistente para agregar roles. Vamos a darle siguiente:

Asistente para agregar roles de Windows Server 2008 R2

Vamos a elegir el rol Web Server (IIS):

Eleccin del rol Web Server (IIS) del asistente para agregar roles de Windows Server 2008 R2

El asistente nos mostrar una introduccin al rol seleccionado. Le damos siguiente:

Asistente para agregar el rol IIS en Windows Server 2008 R2.

Lleg el momento de elegir los servicios del rol a instalar. Si bien no es el objetivo del
tutorial explicar cules son los servicios del rol IIS, vamos a seleccionar algunos que
comnmente son utilizados en entornos de desarrollo / produccin de sitios y aplicaciones
web Microsoft. Vamos a elegir los siguientes servicios:

Lista de Servicios a elegir (primera parte).

Lista de Servicios a elegir (segunda parte).

Lista de Servicios a elegir (tercera y ltima parte).

Como vemos, los servicios son varios:

Static Content.
Default Document.
Directory Browsin.
HTTP Errors.
HTTP Redirection.
ASP.NET.
.NET Extensibility.
ISAPI Extensions.
ISAPI Filters.
HTTP Logging.
Request Monitor.
Basic Authentication.
Request Filtering.
Static Content Compression.
Dynamic Content Compression.
IIS Management Console.
FTP Service.
FTP Extensibility.

En la prxima pantalla se nos mostrar un resumen de la eleccin, y le damos en Install:

Asistente para agregar el rol IIS en Windows Server 2008 R2.

Una vez finalizada la instalacin, le damos Close al asistente.

Finalizacin de la instalacin del rol IIS 7.5 en Windows Server 2008 R2.

Ya tenemos el rol instalado y podemos comprobarlo si abrimos un navegador local en el


servidor e ingresamos como URL Localhost (sin comillas):

Apertura de Default Web Site para corroborar el xito de la instalacin de IIS 7.5.

Configuracin de Carpetas de Publicacin


En este momento vamos a configurar las carpetas donde publicaremos nuestra informacin
de sitios web visible para todos. Al finalizar este tem, tendremos realizada una estructura
de carpetas ordenada y criteriosa que nos permite identificar rpidamente el sitio web en
cuestin y, adems, nos permite aplicar permisos solo a los recursos que debemos aplicar,
evitando posibles problemas de seguridad.

Criterio de Ordenamiento

Ya tenemos instalado el rol de IIS. El Default Web Site que viene configurado por defecto
aloja sus archivos en la carpeta C:\inetpub\wwwroot\. Ahora bien, nosotros vamos a alojar
varios sitios web, y todos no pueden apuntar al mismo lugar de nuestro disco.
Antes de comenzar a trabajar con otros sitios web, debemos definir nuestra estructura
ordenada de carpetas para la publicacin de contenido de cada uno de estos sitios web.
Para esto tenemos reservado el espacio del disco E. Para explicar el criterio de
ordenamiento, vamos a suponer el siguiente escenario:

Podemos tener varios clientes distintos en el mismo servidor web que estamos configurando.
Cada cliente puede tener ms de un sitio web.
Debemos velar porque la estructura sea ordenada y con nombres descriptivos y claros.
El contenido del sitio web no solo son los archivos de publicacin del sitio, sino tambin los logs
que ste genera.

En base a estas condiciones, vamos a realizar la siguiente estructura de carpetas:

Nivel 1 -> Nombre de Cliente


o Nivel 2 -> Nombre de Sitio Web
Nivel 3 -> Carpeta de Publicacin y Logs.

Vamos a poner manos a la obra. Primero, en el disco E, creamos una carpeta que se
llame Websites:

Creacin de carpeta Websites.

Esta carpeta alojar toda la informacin de los clientes y sus sitios web. Ahora bien, por
temas de seguridad, vamos a eliminar toda herencia que tenga esta carpeta del disco
origen E y, luego, eliminaremos los usuarios genricos.

Modificacin de Permisos en Carpeta Raz


Para esto, vamos a las propiedades de la carpeta solapa seguridad:

Seguridad de la carpeta Websites.

All haremos clic en Advanced:

Advanced de permisos.

Luego, haremos clic en Change Permissions y deshabilitaremos la opcin Include


inheritable permissions:

Deshabilitacin de Heredacin de Permisos.

Cuando destildemos la opcin, nos aparecer un caretel con varias opciones, y le daremos
en Add (para mantener los permisos actuales, si bien ya no los heredamos):

Permisos de Websites: mantenemos los permisos actuales haciendo clic en Add.

Aceptamos dos veces (OK) y volvemos a la primer pantalla del cuadro de permisos.
Muy bien, hemos deshabilitado la heredacin de permisos para que la carpeta Websites
tenga independencia y esto nos permita tener bien ajustada la seguridad de nuestras
carpetas de publicacin. El paso siguiente es eliminar los usuarios existentes que no deben
estar en esta carpeta: solo debemos dejar a los Administradores, quienes tendrn acceso
completo al contenido.

Ahora en el cuadro abierto le vamos a dar al botn Edit:

Edicin de Permisos.

En el cuadro Permissions for Websites vamos a dejar SOLO a los Administradores (con
FULL ACCESS) y a los otros dos grupos, llamado System y Creator Owner sin hacerle
modificaciones a sus permisos:

Dejamos solo los permisos de Administrators, Creator Owner y System.

Luego de esta accin, aceptamos dos veces para salir de las opciones de seguridad.

Creacin de Arbol de Directorios


Ya hemos creado nuestra carpeta origen, hemos eliminado la herencia de permisos y
hemos eliminado los usuarios que no deban estar. Ahora vamos a crear nuestra estructura
de carpetas.
A modo didctico, supongamos que tenemos los siguientes clientes y los siguientes sitios
web para cada uno de nuestros clientes:

Juan:
o www.sitio1.com
o www.sitio2.com
Pablo:
o www.sitio3.com
Vanesa:
o www.sitio4.com
o www.sitio5.com

La tarea que nos queda, en base a estos datos, es crear las carpetas para los clientes y
para los sitios web.

Creacin de Carpeta para Clientes


Para cada uno de estos clientes, vamos a crear una carpeta dentro de Websites:

Creacin de Carpetas para Clientes.

Creacin de Carpetas para Sitios Web


Ahora bien, dentro de cada uno de nuestros clientes debemos crear las carpetas de
publicacin para los sitios web. Sin embargo, la publicacin de archivos del sitio web no es
lo nico que un sitio web aloja, dado que tambin tenemos los archivos de Logs que
genera este sitio y tambin, en un futuro, quizs querremos alojar ms cosas.
Por este motivo, para cada sitio web, vamos a ponerle un nombre (que ser el nombre de
dominio DNS) y dentro vamos a crear una carpeta de Logs y una carpeta de Publicacin,
utilizando los siguientes nombres:

Para Logs: logs


Para Publicacin: wwwroot

En nuestro esquema, nos quedara de la siguiente manera:

Juan:
o sitio1.com
logs
wwwroot
o sitio2.com
logs
wwwroot
Pablo:
o sitio3.com
logs
wwwroot
Vanesa:
o sitio4.com
logs
wwwroot
o sitio5.com
logs
wwwroot

En Windows Explorer quedara de la siguiente manera:

Esquema de carpetas para los sitios web y su contenido, para cada cliente.

Configuracin de Cuentas de Servicio


Muy bien. Ya hemos instalado el rol IIS, y hemos creado la estructura de carpetas con la
seguridad necesaria y limitada a administradores. Si bien luego haremos ms cambios, por
ahora esto es suficiente. Lleg el momento de crear las cuentas de servicio para cada uno
de nuestros Sitios Web.
Al finalizar este paso, tendremos cuentas de usuario locales (que usaremos para servicios)
para cada uno de nuestros sitios web. Aunque un cliente tenga varios sitios web, la
identidad de cada uno de ellos ser diferenciada a travs de estas cuentas de servicio.
Dichas cuentas sern utilizadas en diferentes puntos de configuracin de este tutorial,
razn por la cual este paso es muy importante.

Introduccin a Cuentas de Servicio


Las cuentas de servicio sern las que en realidad corran la Aplicacin Sitio Web de cada
uno de nuestros clientes y sern, internamente, los usuarios que naveguen en nuestra
aplicacin. Cuando un usuario externo entra a nuestro sitio, en realidad estar visitndolo
en nombre de este usuario de servicio. Adems, muchas acciones que realiza sobre otros
componentes se impersonalizan en nombre de dicho usuario. Esto significa que para
cada sitio web vamos a crear una cuenta de servicio diferenciada y nica.

Estas cuentas de servicio las utilizaremos en el siguiente paso: aqu solo las crearemos y
las configuraremos dentro de los permisos a asignar. Cuando habalmos de configurar,
estamos hablando de ingresarlas a las carpetas donde deberan tener derechos de lectura.
El concepto de cuentas de servicio creadas manualmente muchas veces es reemplazada
por la utilizacin de cuentas propias del IIS, las cuales brindan una seguridad muy
interesante. As tambin, las cuentas de servicio pueden ser optimizadas con la
funcionalidad de Managed Accounts de Windows Server 2008 R2. Sin embargo, y para
este tutorial, hemos elegido el modelo de cuentas de servicio creadas manualmente y
asignadas a mano para cada sitio web que creemos.

Creacin de Cuentas de Servicio


Como dijimos, vamos a crear una cuenta de servicio para cada sitio web. Nuestros sitios
web son los siguientes:

sitio1.com
sitio2.com
sitio3.com
sitio4.com
sitio5.com

Ante todo, debemos ponernos de acuerdo en la nomenclatura que elegiremos para evitar
confusiones y mantener un orden en las cuentas de servicio. Vamos a elegir agregarle el
prefijo iis_ a cada usuario, y luego le pondremos el nombre de dominio. Quedara de la
siguiente manera:

sitio1.com -> iis_sitio1.com


sitio2.com -> iis_sitio2.com
sitio3.com -> iis_sitio3.com
sitio4.com -> iis_sitio4.com
sitio5.com -> iis_sitio5.com

Para crearlos, vamos a ir a la consola Local Users and Groups en nuestro Windows
Server. Nuestro primer usuario creado luce as:

Usuario de servicio IIS creado.

Por cada uno de los sitios, vamos a crear el usuario correspondiente y le asignaremos una
contrasea, la cual debemos documentar:

Creacin de Usuarios para IIS.

Configuracin en Permisos para las Cuentas de Servicio


Una vez creados los usuarios, debemos configurar sus permisos. Los primeros permisos
que configuraremos sern a nivel archivos de Windows Server.
Cada uno de estos usuarios tendr derechos de lectura (y nada ms que de lectura) en las
carpetas wwwroot de su sitio web. Esto es as, dado que luego configuraremos a dicho
usuario, para cada sitio, como usuarios de servicio para el sitio web en la consola IIS. Si no
le damos permisos para leer (al menos) el contenido de publicacin, el sitio web no
mostrar contenido y dar error.
Manos a la obra: por cada carpeta wwwroot de cada sitio web, vamos a configurar con
derechos de lectura al usuario recientemente creado que corresponda con dicho sitio web.

Por ejemplo, para el sitio web sitio1.com, carpeta wwwroot, tenemos el usuario
iis_sitio1.com:

Configuracin de permisos a nivel carpeta para cada Sitio Web.

Haremos lo mismo con el resto de los sitios, hasta que tengamos en cada carpeta wwwroot
de publicacin de cada sitio web, su usuario configurado con derechos de lectura.

Posible pregunta
Quizs una posible pregunta sea: por qu un usuario distinto para cada sitio? La
respuesta, si bien la hemos adelantado en puntos anteriores, es fcil: la idea es no permitir
el salto de privilegios y que un sitio web vea cosas del otro. Con esta configuracin, nos
garantizamos que el usuario que corre como servicio para cada sitio web no tiene
derechos ni siquiera de lectura sobre otra carpeta del sistema operativo o de otro sitio web.

Conclusiones
Hasta aqu hemos realizado la preparacin del servidor, de los directorios de publicacin y
de las cuentas de servicio. En la entrega 2 de este tutorial seguiremos con la configuracin
de los sitios web.

[TUTORIAL] Internet Information Services | Configuracin de IIS


7.5 para alojar mltiples Sitios Web Parte 2/3
Posted in Tutoriales y Configuraciones, WS - Web Server (IIS) 1 Comment

IIS es el rol de servidor de Microsoft que permite alojar Aplicaciones y Sitios Web.
Normalmente instalamos este rol cuando utilizamos Sharepoint, servicios de Certificados de
Active Directory u otros componentes que requieren de l. Sin embargo, tambin podemos
instalar dicho rol para alojar la web institucional de nuestra empresa.
En algunos escenarios, requerimos configurar varios sitios web, y contamos con solo pocoas
direcciones IPs. Cmo configurar en forma segura varios sitios web a la vez en el mismo
servidor y con una sola IP disponible pblica? Este tutorial intenta explicar, paso a paso, como
lograr una configuracin standard de un servidor IIS 7.5 con capacidades multi-site,
permitiendo subir contenido a cada sitio mediante protocolo FTP.
Este tutorial forma parte de tres entregas. En esta segunda parte vamos a realizar toda la
configuracin de los Sitios Web y pruebas sin Firewall. Para mayor informacin sobre la
introduccin y otras partes, remitirse al final del documento.

Tabla de Contenido [Ocultar]

Introduccin
o

Objetivo del Tutorial

Alcance
o

Objetivo Tcnico

Plan de Trabajo

Desarrollo de la parte 2/3 del Tutorial


o

Configuracin de Sitios Web

Eliminacin de Default Web Site

Creacin de Sitios Web

Configuracin de Application Pool

Configuracin de Usuario Annimo de Navegacin

Configuracin de Logs

Ingreso de contenido por defecto para cada sitio

Configuracin de DNS Interno para Pruebas

Prueba de Acceso a los Sitios Web sin Firewall

Conclusiones
o Pablo Ariel Di Loreto

Introduccin
Esta es la parte 2/3 de la publicacin de este tutorial. Para acceder a las otras partes, por favor
revise las Publicaciones Relacionadas al final de la pgina.

Objetivo del Tutorial


Como recordatorio, el objetivo de esta publicacin es demostrar cmo Internet Information
Services (IIS) puede brindar un soporte robusto para alojar mltipiles sitios web en modo
Shared Hosting, brindando proteccin aislada para cada tenant y acceso para publicacin por
FTP.

Alcance
Los detalles del alcance estn en la parte 1/3 de este tutorial. Para recordar detalles del
Escenario de Trabajo, Fuera de Alcance y otros detalles, remitirse a dicha parte al final de la
publicacin, en Publicaciones Relacionadas.

Objetivo Tcnico
El objetivo tcnico de esta publicacin es poder realizar la instalacin del rol IIS 7.5 y la
configuracin de varios sitios web utilizando las posibilidades multi-site de este rol en
Windows Server 2008 R2, de modo tal que:

Se puedan alojar varios sitios web por el protocolo HTTP simultneamente.


Se pueda usar una sola direccin IP pblica (privada para fines de laboratorio).

Como resultado, tendremos una implementacin bsica de IIS 7.5 y la posibilidad de alojar
diferentes sitios web (que pueden ser clientes) bajo el mismo puerto y direccin IP.

Plan de Trabajo
El plan de trabajo para la segunda parte es el siguiente:

Preparacin del Servidor.


Instalacin de Feature IIS 7.5 Server de Windows Server 2008 R2.
Configuracin de Carpetas de Publicacin.
Configuracin de Cuentas de Servicio.
Configuracin de Sitios Web.
Configuracin de DNS Interno para Pruebas.
Prueba de Acceso a Sitios Web sin Firewall.
Configuracin de publicacin FTP.
Prueba de Acceso a FTP sin Firewall.
Configuracin de Firewall de Windows.
Prueba de Acceso a Sitios Web y FTP con Firewall.

En esta segunda parte, se desarrollarn los primeros puntos desde Configuracin de Sitios
Web hasta Prueba de Acceso a Sitios Web sin Firewall. El resto de las entregas se
encuentran en Publicaciones Relacionadas al final de la pgina.

Desarrollo de la parte 2/3 del Tutorial


La primera parte del tutorial puede encontrarse al final de esta pgina, en el apartado
Publicaciones relacionadas.

Configuracin de Sitios Web


Ya hemos configurado las carpetas de publicacin, hemos creado los usuarios de servicio y
hemos dado los permisos necesarios a nivel archivos de Windows. Lleg el momento de
configurar nuestros sitios web. Al finalizar este paso, tendremos creados nuestros 5 sitios web
con las configuraciones bsicas realizadas.

Eliminacin de Default Web Site


Para ello, vamos a abrir la consola Internet Information Services (IIS) Manager:

Apertura de consola de administracin de IIS 7.5.

La consola lucir de la siguiente manera:

Consola de Administracin IIS 7.5.

Ntese que tenemos, por defecto, un sitio web llamado Default Web Site. Como nuestro
servidor no tiene otro software instalado ni se usa para otra cosa, lo primero que vamos (y
debemos) a hacer es eliminar este sitio web. Sin dudarlo, le damos botn derecho y Remove:

Remove a Default Web Site.

Creacin de Sitios Web


Lleg el momento de crear nuestros sitios web (5 en total). El proceso de creacin es muy
simple. Vamos a comenzar por sitio1.com.
Primero, nos paramos sobre el nodo Sites y elegimos la opcin Add Web Site:

Add Web Site en IIS 7.5.

Aparecer un cuadro en el que debemos llenar los datos del sitio web:

Creacin de Sitio Web en IIS 7.5.

Ntese que llenamos los siguientes datos:

Site name: sitio1.com


Application Pool: se ha llenado solo con el nombre de nuestro sitio.
Physical path: ruta hacia la carpeta wwwroot de sitio1.com en el disco E.
Binding: dejamos el binding http con el puerto 80.
Host name: www.sitio1.com (si tiene ms, luego lo podemos agregar).

Una vez completados estos datos, le damos clic en Ok y nuestro sitio quedar creado:

sitio1.com creado en IIS 7.5.

Haremos lo mismo con el resto de los sitios, cuidando que:

El nombre sea el correcto.


El physical path sea el correcto.
El host name sea el correcto, agregando el www..

El producto final es el siguiente:

Creacin de los 5 sitios en IIS 7.5.

Ntese que:

Todos los sitios estn escuchando por el puerto 80 HTTP.


El campo host name determinar por qu URL van a escuchar, para que cuando uno pida
por www.sitio1.com sea este sitio el que responda, y no otro, utilizando la nica IP que configuramos
al servidor.
Cada sitio tiene como carpeta physical path su propia carpeta wwwroot.

Configuracin de Application Pool


Existe un componente en cada sitio web que es el Application Pool. Este componente es el
que controla varios aspectos de la aplicacin, el que le da vida. Estos aspectos son:

Memoria.
Errores.
Versin del Framework .Net.
Compatibilidad.
Etc.

Como vimos en el proceso de creacin de los sitios web, cada uno de ellos tena un
Application Pool que se iba creando con el tipeo del nombre. El conjunto de Application Pools
los podemos ver desde la consola IIS, apartado Application Pools:

Application Pools creados.

Para cada uno de los application pools, debemos configurar un usuario de servicio. Y
adivinen qu? El usuario de servicio ser el que creamos unos pasos atrs!
Para configurar cada usuario de servicio en el Application Pool, vamos a ir a las opciones
avanzadas del Application Pool que querramos configurar. Comencemos con el sitio1.com:

Advanced Settings del Application Pool.

En las propiedades avanzadas del Application Pool veremos la opcin Identity:

Configuracin de Identity para el Application Pool de un sitio web.

Si hacemos clic en los puntos suspensivos del nombre Identity (en este caso
ApplicationPoolIdentity) vamos a obtener otro cuadro:

Configuracin de Identity para el Application Pool.

Si seleccionamos Custom account vamos a poder hacer clic en el botn Set:

Datos de usuario para Application Pool Custom.

All ingresaremos los datos del usuario de servicio correspondiente al sitio web que estamos
configurando (en este caso, iis_sitio1.com). Ingresamos la contrasea y le damos Ok tres
veces hasta cerrar el cuadro de las propiedades avanzadas del Application Pool.
Ntese como el campo Identity de la lista ha cambiado a la que le configuramos:

Identity modificado para el Application Pool del sitio1.com.

Lo mismo debemos hacer con el resto de los Application Pool de nuestros sitios web, y
configurar para cada uno su usuario de servicio. Quedara de la siguiente forma:

Usuarios de los Application Pools configurados en IIS 7.5.

Configuracin de Usuario Annimo de Navegacin


Adems de configurar el usuario para el Application Pool, el sitio web / aplicacin web debe
tener configurado un usuario a travs del cual el IIS intentar leer los directorios. Por supuesto,
este usuario ser el mismo que la cuenta de servicio asignada al Application Pool y a los
permisos de los directorios de Windows configurados anteriormente.
Para realizar esta configuracin, debemos ir sitio por sitio y realizar lo siguiente comenzando
por el sitio1.com:
Vamos a la consola IIS y seleccionamos el sitio en cuestin y dentro de las propiedades IIS
elegiremos Authentication:

Autenticacin en Sitio Web de IIS 7.5.

Veremos las posibilidades de autenticacin. En nuestro caso, no queremos que al usuario de


internet le pregunte un usuario y password al visitarlo, por lo cual dejaremos el Anonymous
Access habilitado. Ahora bien, este Acceso Annimo debe ser a travs del usuario de servicio
correspondiente al sitio web que estamos configurando. Por ello iremos dentro de la consola, y
manteniendo seleccionado la autenticacin annima, a Edit:

Autenticacin en Sitio Web de IIS 7.5.

Una vez hecho esto, debemos ingresar las credenciales de servicio correspondientes. En la
ventana que se abri elegimos Set:

Autenticacin en Sitio Web de IIS 7.5.

All ingresaremos las credenciales del usuario iis_sitio1.com:

Autenticacin en Sitio Web de IIS 7.5.

Lo mismo debemos hacer con los restantes sitios web, asegurndonos que el usuario de
navegacin en la solapa Authentication, Anonymous Authentication sea el correspondiente

al usuario de servicio configurado para la carpeta de Windows donde se publica el sitio web y
el del application pool.

Configuracin de Logs
Un aspecto importante que no debemos dejar de considerar es donde se guardarn los logs de
cada uno de nuestros sitios web. Es por esto que, en el momento de crear el rbol de
directorios, hemos creado dentro de cada sitio web una carpeta llamada logs. Esta carpeta
ser la que utilizaremos ahora en nuestra configuracin.
Dentro de las propiedades del sitio sitio1.com buscaremos una opcin llamada Logging:

Logs en IIS 7.5.

All veremos que se nos muestra donde se guardan los logs y con que frecuencia:

Logs en IIS 7.5.

Dejaremos la frecuencia en forma diaria, pero cambiaremos el Directory para guardar los logs
del sitio sitio1.com en la carpeta que creamos para tal fin, dentro del usuario Juan y dentro
del sitio1.com como vemos en la siguiente figura:

Logs en IIS 7.5.

Modificaremos el Directorio y nos quedar de la siguiente manera:

Logs en IIS 7.5.

Lo mismo debemos hacer con el resto de los sitios web, procurando que cada uno de ellos
guarde el log dentro de la carpeta correspondiente creada para tal fin.

Ingreso de contenido por defecto para cada sitio


Para poder realizar las pruebas correspondientes, debemos ingresar algn contenido a los
sitios web y de esta forma poder identificar si se abren bien o no. Si no lo hacemos, aparecer
un error en los sitios web, dado que no tiene nada que mostrar de contenido.
En la vida real, el contenido es el propio del sitio web: es un trabajo en conjunto de
desarrolladores y diseadores. Sin embargo, para este tutorial, vamos a crear un contenido
simple que sea el nombre del sitio web que estamos abriendo.
Para esto, crearemos un archivo de texto con el nombre index.txt y dentro del mismo el
nombre del sitio. Por ejemplo, para el sitio1.com el archivo contendr el siguiente contenido:

Archivo de contenido para IIS 7.5.

El archivo lo ubicaremos dentro del directorio wwwroot correspondiente al sitio1.com:

Archivo de contenido para IIS 7.5.

Y por ltimo reemplazaremos la extensin txt por html:

Archivo de contenido para IIS 7.5.

De esta forma, tenemos un archivo en formato HTML que el servidor IIS podr leer sin
problemas. El nombre index.html corresponde a un archivo por defecto que el servidor IIS
puede leer y que ir a buscar. Esto puede ser cambiado en la configuracin de cada sitio IIS.
Lo mismo haremos para cada uno de los restantes sitios web: configuraremos un archivo
index.html con el nombre del sitio, de modo tal que sea fcilmente indentificable.

Configuracin de DNS Interno para Pruebas


Como hemos comentado antes, vamos a utilizar dominios pblicos que, por supuesto, no
tenemos publicados hacia internet y tampoco somos los dueos de los mismos. Estos
dominios son los que hemos configurado anteriormente en los sitios web:

Sitio1.com -> www.sitio1.com


Sitio2.com -> www.sitio2.com
Sitio3.com -> www.sitio3.com
Sitio4.com -> www.sitio4.com
Sitio5.com -> www.sitio5.com

Para poder realizar todas las futuras pruebas, vamos a crear las zonas para cada uno de estos
dominios en un DNS interno, y para cada una de estas zonas crearemos un registro A hacia
la direccin IP interna de nuestro servidor, es decir: 192.168.1.235.

Prueba de Acceso a los Sitios Web sin Firewall


Desde nuestro servidor IIS01, el cual tiene como servidores DNS a nuestro equipo con las
zonas creadas de los dominios de prueba, abriremos la consola IIS y nos pararemos sobre el
sitio sitio1.com y elegiremos la opcin del panel derecho Browse www.sitio1.com:

Browse de Sitio Web en IIS 7.5.

Como resultado, veremos que el navegador predeterminado se abrir e ingresar a la


direccin http://www.sitio1.com mostrando nuestro sitio web:

Sitio Web de Prueba en IIS 7.5.

Lo mismo podremos hacer con los restantes sitios web, comprobando que estn funcionando.
Si en algn sitio hubisemos olvidado ingresar el usuario para Anonymous Authentication, o
si no hubisemos seteado los permisos NTFS correctamente, el error que aparecera sera:

Error en IIS 7.5 al no ingresar el usuario para Anonymous Authentication.

Desde la mquina DESKTOP01, la cual tiene como servidores DNS a nuestro equipo que tiene
las zonas DNS creadas para cada uno de nuestros dominios, abriremos un navegador web e
ingresaremos la direccin http://www.sitio1.com, comprobando que abre:

Prueba de apertura de sitio web en IIS 7.5 desde un equipo cliente.

De esta forma, hemos comprobado que nuestra configuracin realizada permite:

Que en un mismo servidor IIS, y con una nica direccin IP, podamos abrir varios sitios web gracias
a la configuracin de los Bindings.
Que el contenido y el acceso al mismo est segurizado por la asignacin de usuarios y permisos
nicos a cada sitio web.

Conclusiones
Ya hemos pasado la primera y segunda parte del tutorial. Hasta aqu hemos realizado la
preparacin del servidor, de los directorios de publicacin y de las cuentas de servicio y,
adems, configuramos nuestros sitios web y hasta realizamos pruebas de acceso. En la
entrega 3 de este tutorial seguiremos con la configuracin de FTP para poder publicar
contenido remotamente y sin necesidad de intervencin de un administrador.

TUTORIAL] Internet Information Services | Configuracin de IIS


7.5 para alojar mltiples Sitios Web Parte 3/3
Posted in Tutoriales y Configuraciones, WS - Web Server (IIS) 9 Comments

IIS es el rol de servidor de Microsoft que permite alojar Aplicaciones y Sitios Web.
Normalmente instalamos este rol cuando utilizamos Sharepoint, servicios de Certificados de
Active Directory u otros componentes que requieren de l. Sin embargo, tambin podemos
instalar dicho rol para alojar la web institucional de nuestra empresa.
En algunos escenarios, requerimos configurar varios sitios web, y contamos con solo pocoas
direcciones IPs. Cmo configurar en forma segura varios sitios web a la vez en el mismo
servidor y con una sola IP disponible pblica? Este tutorial intenta explicar, paso a paso, como
lograr una configuracin standard de un servidor IIS 7.5 con capacidades multi-site,
permitiendo subir contenido a cada sitio mediante protocolo FTP.
Este tutorial forma parte de tres entregas. En esta tercera y ltima parte vamos a realizar toda
la configuracin de las funcionalidades FTP. Para mayor informacin sobre la introduccin y
otras partes, remitirse al final del documento.

Tabla de Contenido

Introduccin
o

Objetivo del Tutorial

Alcance
o

Objetivo Tcnico

Plan de Trabajo

Desarrollo de la parte 3/3 del Tutorial


o

Configuracin de publicacin FTP

Creacin de Cuentas FTP

Creacin de Grupo FTP

Creacin de Directorio Raiz FTP

Creacin de Sitio FTP

Configuracin de Sitio FTP para Aislamiento de Usuarios

Creacin de Directorios Virtuales para cada Usuario/Cliente

Configuracin de permisos NTFS para aislamiento de usuarios FTP

Prueba de Acceso a FTP sin Firewall

Configuracin de Firewall de Windows

Reglas necesarias de Ingreso

Reglas necesarias para Egreso

Creacin de nuevos Sitios / Clientes

Conclusiones

Referencias y Links

Publicaciones Relacionadas
o Pablo Ariel Di Loreto

Introduccin
Esta es la parte 2/3 de la publicacin de este tutorial. Para acceder a las otras partes, por favor
revise las Publicaciones Relacionadas al final de la pgina.

Objetivo del Tutorial


Como recordatorio, el objetivo de esta publicacin es demostrar cmo Internet Information
Services (IIS) puede brindar un soporte robusto para alojar mltipiles sitios web en modo
Shared Hosting, brindando proteccin aislada para cada tenant y acceso para publicacin por
FTP.

Alcance
Los detalles del alcance estn en la parte 1/3 de este tutorial. Para recordar detalles del
Escenario de Trabajo, Fuera de Alcance y otros detalles, remitirse a dicha parte al final de la
publicacin, en Publicaciones Relacionadas.

Objetivo Tcnico
El objetivo tcnico de esta publicacin es poder realizar la instalacin del rol IIS 7.5 y la
configuracin de varios sitios web utilizando las posibilidades multi-site de este rol en
Windows Server 2008 R2, de modo tal que:

Se puedan alojar varios sitios web por el protocolo HTTP simultneamente.


Se pueda usar una sola direccin IP pblica (privada para fines de laboratorio).

Como resultado, tendremos una implementacin bsica de IIS 7.5 y la posibilidad de alojar
diferentes sitios web (que pueden ser clientes) bajo el mismo puerto y direccin IP.

Plan de Trabajo
El plan de trabajo para la segunda parte es el siguiente:

Preparacin del Servidor.


Instalacin de Feature IIS 7.5 Server de Windows Server 2008 R2.
Configuracin de Carpetas de Publicacin.
Configuracin de Cuentas de Servicio.
Configuracin de Sitios Web.
Configuracin de DNS Interno para Pruebas.
Prueba de Acceso a Sitios Web sin Firewall.
Configuracin de publicacin FTP.
Prueba de Acceso a FTP sin Firewall.
Configuracin de Firewall de Windows.
Prueba de Acceso a Sitios Web y FTP con Firewall.

En esta tercera y ltima parte, se desarrollarn los puntos desde Configuracin de publicacin
FTP hasta el final. El resto de las entregas se encuentran en Publicaciones Relacionadas al
final de la pgina.

Desarrollo de la parte 3/3 del Tutorial


Configuracin de publicacin FTP
Muy bien, ya hemos realizado la configuracin de sitio en nuestro IIS 7.5. Para el contenido de
ejemplo, hemos pegado nosotros un archivo index.html en cada directorio wwwroot de los
sitios web. Ahora bien: cmo hacemos si debemos permitir a otros usuarios, no
administradores, la subida de contenido a cada uno de los sitios web?
Supongamos que tenemos clientes, los cuales hacen cambios semanales en sus sitios web.
En nuestro caso, Pablo tiene un solo sitio web, pero Vanesa tiene dos. El ordenamiento de
carpetas y la jerarqua utilizada fue estratgicamente pensada para este escenario: que cada
usuario pueda, aisladamente, subir y ver su contenido sin afectar el de otros.

Utilizaremos el protocolo FTP para permitir a los usuarios subir su contenido en forma
remota. Para esto, debemos configurar algunas cosas en nuestro IIS.

Creacin de Cuentas FTP


Por cada cliente, vamos a crear (por lo menos) una cuenta FTP. Esta cuenta FTP es una
cuenta de usuario de Windows la cual luego tendr derechos y ser configurada con un
directorio virtual FTP. Para comenzar, entonces, vamos a poner manos a la obra.
Por una cuestin de ordenamiento, las cuentas de Windows que sern luego usadas como
FTP tendrn el surfijo ftp_ y luego tendr el nombre de usuario o de cliente. Nosotros vamos
a crear, para este tutorial, las siguientes cuentas:

Usuario/Cliente Juan: ftp_Juan


Usuario/Cliente Pablo: ftp_Pablo
Usuario/Cliente Vanesa: ftp_Vanesa

Cada usuario tendr una contrasea asignada que, por supuesto, deber saber:

Creacin de cuenta FTP para Juan.

El listado completo de cuentas sera el siguiente:

Listado de cuentas FTP para los clientes en IIS 7.5.

Creacin de Grupo FTP


Por otro lado, vamos a crear un grupo de Windows que se llamar FTP_Users y que
contendr a los usuarios que tendrn una cuenta FTP. Este grupo ser utilizado, luego, en la
configuracin para facilitar la creacin de los directorios virtuales.
El grupo quedar de la siguiente forma:

Usuarios del grupo FTP_Users para IIS 7.5.

Por supuesto, cuando agreguemos un nuevo usuario FTP vamos a tener que agregarlo a este
grupo, sino no podr ingresar.

Creacin de Directorio Raiz FTP

Nuestro FTP va a ser un nico sitio FTP, que va a tener aislamiento de usuarios. Esto es
gracias a una funcionalidad propia del IIS 7.5. Ahora bien, vamos a necesitar un directorio
vaco que va a ser el directorio raz de nuestro sitio FTP. En realidad, este directorio no se
utilizar para nada, por eso tendr que estar vaco y con mnimos privilegios.
Vamos a crear en el disco E de nuestro servidor una carpeta que se llama FTPRoot:

Creacin de carpeta raz para sitio FTP en IIS 7.5.

Como hicimos antes con el directorio Websites, vamos a quitar la herencia de permisos. Para
ello hacemos botn derecho sobre la carpeta FTPRoot y luego vamos a propiedades, y
elegimos la solapa seguridad:

Seguridad de la carpeta FTPRoot para IIS 7.5.

All elegimos Advanced y luego Change Permissions:

Seguridad de la carpeta FTPRoot para IIS 7.5.

Luego vamos a destildar la opcin Include inheritable permissions:

Permisos heredados de la carpeta FTPRoot.

Cuando lo destildemos aparecer un cartel, al cual le vamos a dar Add:

Remocin de herencia en FTPRoot.

Luego aceptaremos dos veces para volver a la solapa Security, y all elegiremos Edit:

Edicin de permisos en carpeta FTPRoot.

Tal como hicimos con Websites, vamos a eliminar los usuarios que no deben estar all,
dejando solo los siguientes:

Usuarios de la carpeta FTPRoot que deben quedar.

Ntese que:

No se modificaron los permisos para Creator Owner, ni para System ni para Administrators.
Se agreg el grupo FTP_Users creado en el paso anterior con derechos de:
o Read & Execute.
o List folder contents
o Read.

Aceptamos y cerramos las propiedades de la carpeta. En resumen, ya tenemos creado nuestro


directorio raz y preparados los permisos para continuar al prximo paso de preparacin de
nuestro sitio FTP para que cada usuario suba contenido a su sitio.

Creacin de Sitio FTP


Aqu vamos a crear el sitio FTP (recordemos que ser uno solo) para luego configurar el
aislamiento de usuarios.
En la consola IIS vamos a pararnos sobre el nodo Sites y elegiremos la opcin Add FTP
Site:

Creacin de sitio FTP en IIS 7.5.

En el asistente que se abrir vamos a completar los primeros datos, indicando el nombre del
sitio web (puede ser cualquiera) y la ruta hacia nuestra carpeta FTPRoot:

Asistente de creacin de sitio FTP en IIS 7.5.

En el prximo paso, luego de hacer Next, vamos a seleccionar el puerto 21 (viene por default)
y vamos a indicarle que no requiera SSL (podramos, pero en este tutorial no):

Asistente de creacin de sitio FTP en IIS 7.5.

En el ltimo paso, vamos a indicar que la autenticacin ser Bsica, y que permitiremos
acceso de solo lectura al grupo de usuarios FTP_Users:

Asistente de creacin de sitio FTP en IIS 7.5.

Una vez hecho esto, tendremos nuestro sitio FTP preparado para comenzar a configurarlo:

Sitio FTP creado en IIS 7.5.

Configuracin de Sitio FTP para Aislamiento de Usuarios


Nuestro sitio FTP est creado pero debemos configurar la funcionalidad de Aislamiento de
Usuarios. Esta funcionalidad tiene varias opciones, y la que elegiremos nosotros nos permitir
que cada usuario acceda a un directorio en base a su nombre de usuario. Este directorio, por
supuesto, ser el de su usuario que contiene todos los sitios web dentro.
Nos pararemos en el sitio creado FTP Site y elegiremos la opcin FTP User Isolation:

Isolacin de Usuarios en IIS 7.5 (FTP).

Dentro de esta opcin, elegiremos la opcin Isolate Users y dentro User name directory:

Isolacin de Usuarios en IIS 7.5 para la funcin FTP.

La funcin de aislamiento de usuarios por nombre de directorio tiene las siguientes


caractersticas:

Se configura un directorio fsico o virtual, en la raz del sitio FTP, llamado LocalUser (para nuestro
caso de cuentas locales).
Se configura, dentro del directorio LocalUser, directorios fsicos o virtuales con el nombre del usuario
(debe coincidir con el creado en pasos atrs, el del prefijo ftp_).
El usuario, cuando se loguea, es aislado y direccionado a su directorio sin posibilidades de
escalamiento de permisos.

En nuestro caso, vamos a crear directorios virtuales (no fsicos) para las carpetas LocalUser y
la de cada usuario.
Para ello, en la raz del sitio FTP, vamos a hacer botn derecho y elegir Add Virtual Directory:

Virtual Directory para aislamiento de usuarios en el FTP del IIS 7.5.

Ingresaremos como nombre del directorio virtual LocalUser y el path ser igual que el
anterior: la carpeta raz FTPRoot del disco E:

Directorio virtual LocalUser para el FTP del IIS 7.5.

Ntese que se cre la carpeta virtual LocalUser con algunas opciones dentro:

Carpeta virtual LocalUser en el FTP del IIS 7.5.

Si ingresamos a la opcin FTP Authorization Rules vamos a verificar que los permisos son los
mismos que elegimos para la raz del sitio FTP: solo lectura para el grupo FTP_Users:

Permisos para LocalUser en el FTP de IIS 7.5.

Muy bien, dentro del directorio virtual LocalUser comenzaremos a crear los directorios virtuales
para cada uno de los usuarios, lo cual veremos en el prximo punto.

Creacin de Directorios Virtuales para cada Usuario/Cliente


Ya tenemos nuestro sitio FTP configurado y listo para aislar los usuarios/clientes. En nuestro
caso, tenemos tres: Juan, Pablo y Vanesa. Cada uno de estos Clientes tiene un usuario de
Windows creado, con el prefijo ftp_. Recordemos que para que el aislamiento funcione en el
FTP de IIS 7.5, debemos hacer coincidir el nombre del directorio virtual que crearemos ahora
con el nombre del usuario de Windows.
Vamos a comenzar. Sobre la carpeta virtual LocalUser vamos a crear otro directorio virtual:

Creacin de Directorio Virtual para aislamiento de usuarios en el FTP de IIS 7.5.

En el asistente ingresaremos los datos del usuario para el cliente Juan:

Creacin de Directorio Virtual para aislamiento del usuario ftp_Juan.

Ntese que el alias coincide con el nombre de usuario, y que el directorio fsico lo apuntamos a
la carpeta raz de los sitios web para el cliente Juan. Una vez seleccionadas estas opciones, le
damos ok. Se crear el directorio virtual quedando de la siguiente manera:

Aislamiento de usuarios en el FTP de IIS 7.5.

Lo prximo que debemos hacer es configurar los permisos para esta entrada. Ingresaremos,
primero, a FTP Authorization Rules para la carpeta virtual ftp_Juan:

Permisos para el directorio virtual ftp_Juan.

Seleccionaremos el permiso heredado de lectura para el grupo FTP_Users y lo eliminaremos,


con el botn Remove del panel derecho. Una vez hecho esto, las reglas FTP Authorization
quedarn vacas.
Crearemos una nueva, haciendo clic en Add Allow Rule:

Creacin de regla FTP Authorization para ftp_Juan.

En esta regla que creamos, debemos indicar que en este directorio virtual el usuario ftp_Juan
tiene permisos de lectura y escritura, y solamente l los tendr (no todo el grupo FTP). Para
ello ingresamos los datos como en la siguiente figura:

Creacin de Regla de Autorizacin FTP para ftp_Juan.

Una vez ingresadas las opciones, aceptamos la pantalla.


Los mismos pasos realizados hasta aqu debemos hacer por cada usuario restante: Pablo y
Vanesa. La foto final ser la siguiente:

Creacin de todos los directorios virtuales para aislamiento de usuarios FTP en IIS 7.5.

Como se ve en la figura, cada usuario tiene su directorio virtual el cual est apuntando a su
directorio fsico del disco E carpeta Websites. Por supuesto, cada directorio virtual tiene sus
reglas de autorizacin FTP (FTP Authorization Rules) configuradas para su usuario.
Muy bien, ya hemos configurado las reglas de autorizacin, pero ahora nos falta un detalle
importante: los permisos NTFS. Para ello, avanzaremos en el siguiente paso.

Configuracin de permisos NTFS para aislamiento de usuarios FTP


La accin que nos falta realizar es darle permisos NTFS a cada usuario en su carpeta,
permitindole leer y grabar datos. Estos permisos se heredan a las carpetas hijas, permitiendo
que Juan acceda a leer y escribir en todas las carpetas de sus sitios web que tiene. Si en el
futuro se agrega alguno ms, no tendremos que hacer nada para que tambin tenga derechos
sobre la nueva.
Para hacer esto, vamos a tomar como ejemplo al cliente Juan y luego lo replicaremos al resto
de los clientes/usuarios. Iremos al disco E carpeta Websites y seleccionaremos la solapa
seguridad de las propiedades de la carpeta Juan. Agregaremos al usuario ftp_Juan con
todos los permisos (menos FULL CONTROL) para esta carpeta:

Asignacin de permisos NTFS para la carpeta Juan, hacia el usuario ftp_Juan.

De esta forma, la carpeta Juan (que contiene sus sitios web) tendr permisos de lectura y
escritura a nivel NTFS asignados al usuario ftp_Juan. Lo mismo debemos hacer con el resto de
las carpetas Pablo y Vanesa, por supuesto con sus usuarios ftp_Pablo y ftp_Vanesa
respectivamente.
Muy bien! Ya solo queda probar nuestro acceso FTP, cosa que haremos en el siguiente tem.

Prueba de Acceso a FTP sin Firewall


Ya hemos configurado nuestro aislamiento FTP para cada usuario. Ahora vamos a probarlo. El
resultado esperado es que:

Cuando hagamos login a travs de FTP con el usuario ftp_Juan, veamos y podamos subir
archivos a los sitios:
o Sitio1.com
o Sitio2.com
Cuando hagamos login a travs de FTP con el usuario ftp_Pablo, veamos y podamos subir
archivos al sitio:
o Sitio3.com
Cuando hagamos login a travs de FTP con el usuario ftp_Vanesa, veamos y podamos subir
archivos a los sitios:
o Sitio4.com
o Sitio5.com

Para ello, desde nuestro equipo DESKTOP01, vamos a abrir un cliente FTP (en nuestro caso
un Windows Explorer) e ingresaremos la direccin de nuestro servidor FTP: 192.168.1.235:

Prueba de ingreso FTP en IIS 7.5 con aislamiento de usuarios.

Nos pedir un nombre de usuario y contrasea:

Prueba de ingreso FTP en IIS 7.5 con aislamiento de usuarios.

Una vez ingresados los de Juan, haremos Log on y veremos que aparece:

Prueba de ingreso FTP en IIS 7.5 con aislamiento de usuarios.

Efectivamente, aparecieron las carpetas de los sitios: sitio1.com y sitio2.com como


esperbamos! Intentaremos eliminar el archivo de publicacin dentro del wwwroot del
sitio1.com:

Prueba de ingreso FTP en IIS 7.5 con aislamiento de usuarios.

Veremos que el archivo se elimin correctamente:

Transaccin FTP a travs de IIS 7.5.

Y si ingresamos al sitio www.sitio1.com obtendremos un error (al no estar el archivo


index.html):

Prueba de sitio web en IIS luego de haber borrado archivos de publicacin por FTP.

De esta forma, estamos habilitando a los usuarios/clientes a subir y eliminar contenido a su


sitio web sin necesidad de intervencin del administracin, algo que es muy valioso para ellos y
para nosotros!!
Por cada usuario/cliente/sitio web que agreguemos, debemos simplemente seguir los pasos
realizados hasta ahora, los cuales sern resumidos al final del tutorial.

Configuracin de Firewall de Windows


Hasta ahora hemos realizado todas las configuraciones sin Firewall. Ahora vamos a repasar,
rpidamente, que reglas son necesarias para habilitar en el Firewall de Windows (por ejemplo)
para segurizar nuestro servidor y reducir la superficie de ataque.

Reglas necesarias de Ingreso


Para ingreso de datos, necesitamos las siguientes reglas habilitadas del Firewall de Windows:

Reglas de Firewall necesarias.

Reglas necesarias para Egreso


A priori, no es necesario habilitar ninguna regla de Egreso.

Creacin de nuevos Sitios / Clientes


La gran pregunta, quizs, es: y una vez montado todo esto que hacemos cuando creamos
nuevos sitios / usuarios? En vistas a esto, aqu se dejarn los pasos globales a seguir en
dichos casos.
Si el sitio web creado es de un usuario existente:

Crear la cuenta de servicio (cuenta iis_).


Crear los directorios para el sitio web (logs y wwwroot).
Asignar los permisos a los directorios para el usuario iis_.
Crear el sitio web.
Configurar los Identities de navegacin annima y Application Pool con el usuario iis_.

Si el sitio web creado es de un nuevo usuario, adems de los tems anteriores:

Crear la carpeta del Cliente (raz).


Crear la cuenta de usuario FTP para el cliente.
Configurar el directorio virtual para el usuario FTP.
Asignar los permisos para la cuenta FTP dentro del IIS y en los directorios fsicos.

Conclusiones
El rol IIS de Windows Server 2008 R2 nos provee grandes funcionalidades para alojar y
administrar mltiples sitios web en un mismo servidor y con una misma IP pblica. Estas
funcionalidades no se limitan a la publicacin de sitios web, sino a todo tipo de aplicaciones
.Net y de otros Frameworks (como PHP, Perl, etc).
En este tutorial hemos recorrido todos los pasos para configurar mltiples sitios web
aprovechando las posibilidades multi-sitio de IIS, y hemos configurado su modo de publicacin
y administracin de contenido remota a travs de otra funcionalidad del rol IIS: FTP.
Se han dejado fuera, por supuesto, otros aspectos ms finos de segurizacin y optimizacin,
los cuales quedarn para otro artculo o tutorial de TecTimes.

You might also like