Você está na página 1de 47

1

Page 1 of 47

1. Instalacin del servicio con Windows 2008 Server


Ahora realizaremos la instalacin del servidor Web. Nos iremos a la consola de administracin del servidor para aadir esta funcin:

Pulsamos en "Siguiente" y despus de una pantalla de informacin, tendremos los componentes de IIS, veamos:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 2 of 47

Veamos que componentes necesitaremos instalar para una configuracin estndar...


Caractersticas HTTP comunes. Son las funciones bsicas de IIS, las necesarias para servir pginas Desarrollo de aplicaciones. Si queremos que tenga soporte para ASP.NET. Para pginas sin programacin no es necesario pero para desarrollar pginas y que ejecute el cdigo ASP.NET es imprescindible as que la marcaremos. Estado y diagnstico. Se encarga de registrar lo que sucede en el servidor. Por defecto ya marca el "registro HTTP" que registrar todos los accesos al servidor. El registro personalizado nos permitir almacenar determinados campos de los accesos para tener un control de las pginas vistas con los campos definidos. La opcin registro ODBC es para almacenar esta informacin en una base de datos que se comunica a travs de ODBC. No es recomendable porque genera mucho trfico si el sitio web tiene muchos accesos. Seguridad. Se encarga de definir el tipo de acceso al servidor y otra informacin importante para controlar el acceso, marcaremos todos. Rendimiento. Se encargar de administrar la cach para la mejora del rendimiento. Es necesario si vamos a crear sitios web con muchos accesos y con pginas dinmicas ASP.NET Herramientas de administracin. Proporciona la interfaz y elementos para administrar nuestro IIS7, las marcaremos. Servicio de publicacin de FTP. Lo instalamos porque lo vamos a probar en nuestro servidor.

Marcaremos toda la seccin de "Desarrollo de aplicaciones". Una vez seleccionadas estas opciones nos mostrar, como siempre, un resumen de lo que va a instalar, pulsaremos para terminar y veremos una barra de progreso con la instalacin.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 3 of 47

1.1. Comentarios:
Tcnicamente las pginas web utilizan el protocolo HTTP de TCP/IP que corresponde al puerto 80. Por lo tanto el navegador intenta conectarse a la direccin del servidor mediante el puerto 80. Nuestro servidor IIS no tiene ninguna desventaja del famoso Apache de Linux. De hecho si quitamos la gratuidad al servidor Apache no le queda absolutamente nada que no pueda hacer IIS, incluso al contrario: la orientacin a componentes de IIS es mucho mas completa y mejor implementada que la del Apache. IIS soporta la misma carga de clientes, es fcil de instalar y configurar y su mantenimiento es trivial cosa que no se puede decir de su competidor. Uno de los temas en los que Microsoft todava tienen que avanzar es en la seguridad, el abarcar tantos conceptos, tecnologas y componentes hace que IIS sean mas susceptible de tener agujeros de seguridad que su competidor, mas simple y limitado. En cualquier caso en las Intranets, IIS de Microsoft gana por goleada. A lo largo de este curso iremos viendo porqu y que elementos podremos integrar en nuestra Intranet. Aun as y comprendiendo la importancia del mundo Web hay una versin de Windows 2003 y 2008 Server llamada "Web Edition" que permite de una forma muy econmica montar un sitio Web con toda la potencia de su entorno e integrado perfectamente en nuestra red. Le han limitado algunos servicios pero dispone de todo lo necesario para desempear su funcin perfectamente. Todo a un previo muy asequible que queda perfectamente amortizado por la cantidad de horas necesarias para configurar un servidor Linux. Como complemento a nuestra Intranet debemos utilizar bases de datos para almacenar informacin. Quizs el uso de las bases de datos en las Intranets sea la parte mas importante porque la funcin de una Intranet que es proporcionar informacin debe estar de alguna forma almacenada y ordenada en bases de datos. En captulos posteriores hablaremos en profundidad de las bases de datos pero como en esta introduccin estamos explicando lo que necesitamos para construir nuestra Intranet, no podamos dejar de comentar esta parte. IIS ofrece una administracin muy sencilla que se realizar mediante el Administrador de servicios de Internet. IIS permite que el desarrollo de aplicaciones Web sea mucho ms robusto y la creacin de sitios Web sea ms configurable y completa. Ofrece un entorno escalable basado en los componentes cliente/servidor que se pueden integrar dentro de las aplicaciones Web. Internet Information Server es el servidor Web ms rpido y recomendable para la plataforma Windows 2003/2008, ya que se encuentra integrado completamente con el Servicio de Directorios de Windows (directorio activo), esta combinacin del servicio Web con los servicios del sistema operativo permite desarrollar aplicaciones basadas en la Web fiables y escalables. Que conste que esto no lo he sacado de la propaganda, Microsoft suele dejar los programas mal terminados

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 4 of 47

(agujeros de seguridad, fallos) pero las ideas son buenas y casi siempre aporta facilidad de uso. Ser el ms criticado pero tambin hay que reconocer que est en el 90% de todos los ordenadores del mundo.

2. Primeros pasos con IIS


Si la instalacin ha sido correcta podremos entrar ya en nuestro sitio web. Para comprobarlo basta con iniciar un explorador web y escribir en la barra de direccin el nombre de nuestro servidor web, en nuestro caso le hemos llamado "servidor". Con Windows 2008 Server:

Pantalla que nos da la bienvenida al servidor IIS y nos facilita alguna herramienta de administracin a travs de pginas web. Sin embargo lo habitual y recomendable es que trabajemos desde otro equipo.

En construccin
El sitio al que intent conectarse no tiene en este momento una pgina predeterminada. Es posible que est en proceso de actualizacin. Intntelo de nuevo ms tarde. Si el problema contina, pngase en contacto con el administrador del sitio Web.

Si tenemos un Windows Server 2003 veremos un mensaje como el anterior si estamos entrando desde fuera del servidor. Si nos fijamos en el mensaje lo que al principio podamos tomar como

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 5 of 47

un error es simplemente un mensaje que le falta una pgina de inicio al servidor web. La versin 4.0 de NT Server si que activaba por defecto un sitio web de ejemplo pero ese sitio era un agujero de seguridad puesto que permita realizar algunas operaciones "peligrosas" por este motivo en el Server 2003 Microsoft no activa ningn web sino que devuelve una pgina diciendo que si est funcionando pero que ahora hay que alimentarlo.
Por lo tanto, para empezar a configurar los sitios Web debe indicar los directorios que contienen los documentos que desea publicar. El servidor Web no puede publicar documentos que no estn en los directorios especificados. Por lo tanto, el primer paso para desarrollar un sitio Web debe ser determinar cmo desea organizar los archivos. Despus se utiliza el complemento IIS para identificar los directorios que forman parte del sitio.

La estructura de directorios que IIS crea es la siguiente:


En la unidad C se crea el directorio "Inetpub" y de ah los servicios instalados, en la imagen estn adems del servicio web "wwwroot" el servicio de mensajeria "mailroot" y el de transferencia se ficheros "ftproot". Luego... inicialmente cuando solicitemos una pgina ir a buscarla al directorio c:\inetpub\wwwroot

La administracin en Windows 2008 Server ha cambiado radicalmente respecto a la de Windows 2003 Server. Ahora es mas completa y permite muchas mas opciones. Dada su grandsima diferencia me tendra que extender mucho en esta primera parte as que me voy a centrar solo en la versin de Windows 2008 Server ya que es la ltima y la mas similar si queremos instalar el IIS en Windows Vista o Windows 7. En Windows Vista o Windows 7 tenemos una versin reducida de Internet Information Server. Si lo instalas podrs comprobar muchas de las opciones que vamos a ver a continuacin. Pero es una versin limitada y deberamos acudir a la versin del servidor.

3. La consola Administrativa de IIS en Windows Server 2008


3.1 Pgina de inicio de la administracin de IIS7
Vamos a ver la pgina de administracin de IIS7. Los que conocais las versiones anteriores veris que han cambiado un poco de sitio pero est todo y bien ordenado. En las herramientas administrativas abrimos el administrador de IIS7:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 6 of 47

El aspecto es el mismo que en las otras funciones del servidor. En las conexiones mas recientes tenemos los servidores a los que nos hemos conectado ltimamente, a continuacin las tareas mas comunes para conectarse con otros servidores y luego informacin en lnea sobre IIS7. Cada servidor Web se compone de uno o varios grupos de aplicaciones:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 7 of 47

Estos son los motores de las aplicaciones que pueden ejecutar, en el ejemplo anterior tenemos:
Classic .NET AppPol. Ejecuta las aplicaciones ASP.NET DefaultAppPool. Ejecuta aplicaciones estticas y otras pginas de cdigo antiguas. TSWebAccess. Puede que no la tengas, a mi me aparece porque la aad antes en la configuracin de los servicios de terminal. Son un grupo de pginas que permiten conectarse a servidores de terminales mediante pginas web.

Como ves queda muy organizado ya que es muy buena la idea de los grupos de aplicaciones. Por ejemplo, cuando ejecutamos aplicaciones .NET utilizaremos ese motor y usar un espacio de direcciones propio para sus operaciones. Otras aplicaciones ejecutarn entonces otros motores que no interferirn con el que est ejecutando las pginas ASP.NET. Adems al ejecutarse como si fueran aplicaciones diferentes, cada una puede tener sus propios parmetros de seguridad, memoria y recursos. En definitiva, el dividir en aplicaciones todo lo que puede ejecutar el servidor hace que sea mas eficiente, escalable y seguro. Date cuenta que podemos instalar un nuevo componente que ejecute por ejemplo cdigo PHP (Linux) y se instalar como una aplicacin mas del servidor IIS7. Lejos quedan los tiempos en los que IIS ejecutaba todo tipo de aplicaciones y pginas utilizando el mismo entorno de trabajo, espacio de memoria y propiedades. Esto lo haca mas lento y mucho mas inseguro al compartir en el mismo espacio de memoria todas las aplicaciones. Definitivamente es una buena idea separar las aplicaciones. Habrs visto que tenemos tambin nuestra parte para el servicio de FTP. Si lo seleccionamos veremos un mensaje a la derecha que nos indica que pulsemos para administrar el servicio FTP, si le damos obtenemos esta nueva consola administrativa:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 8 of 47

Pues si, nos muestra la consola de la versin anterior IIS 6.0 como ves en el propio ttulo. Esto significa que es exactamente el mismo servicio con las mismas opciones que tena Windows 2.003 Server. Por ltimo y antes de ver todo lo que tiene este servicio fjate que al pulsar en el servidor:

Vemos los iconos para configurar cada una de las partes del servicio. Esto antes era un grupo de solapas y ahora se han separado en un grupo de iconos. Si vienes de Windows 2.003 Server, no te preocupes, son las mismas cosas ampliadas. Bsicamente se divide en tres niveles:
Servidor Web. Configura todos los sitios web del servidor y las propiedades de l mismo. Utilizaremos estas opciones para configurar todos los sitios web que contiene y el comportamiento general del servidor. Sitio Web. Configura nicamente el sitio web seleccionado, sin afectar a los otros sitios webs alojados en el servidor.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 9 of 47

Aplicacin o directorio. Controla la funcionalidad de una aplicacin o de un directorio. Lo que configuremos aqu sobrescribe a lo que se haya puesto en el nivel anterior de la configuracin del web. Por ejemplo, si en una carpeta determinada del sitio web queremos dar permisos distintos o queremos que se puedan explorar los directorios desde el navegador.

3.2 Caractersticas ASP.NET


ASP.NET tiene un valor muy importante en las instalaciones corporativas porque cada vez mas las aplicaciones tienden a administrar o explotarse desde web. PHP en el mundo Internet y ASP.NET en las Intranets son los mas utilizados en el mundo ahora mismo. En esta versin de IIS7 se han potenciado mucho las aplicaciones sobre esta plataforma en varios aspectos, mejorar su rendimiento y facilitar su administracin. Veamos cada uno de los iconos o secciones:

Compilacin de .NET.
Cuando un desarrollador crea una aplicacin en .NET, sta permanece en cdigo fuente hasta que se ejecuta. Es decir, se crear una pgina con cdigo asp.net pero hasta que no se solicita no se compila para ejecutarse. Las dems peticiones ya no requerirn la compilacin de la pgina y utilizarn ya ese cdigo. El usuario siempre ver una aplicacin compilada. Si vemos sus opciones:

Son parmetros para controlar la salida, como el tamao mximo del archivo resultado. Activar la depuracin, imprescindible para los desarrolladores, el control de los ensamblados que utiliza la aplicacin para los recursos.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 10 of 47

Globalizacin de .NET.
Esta opcin nos ayudar a configurar los idiomas utilizados en .NET. As sabe qu debe devolver segn el idioma definido y en que formato.

Si dejamos la predeterminada, ser la aplicacin ASP.NET quien defina estos parmetros del idioma. Parece que no, pero para que veas la importancia, afectara al formato de las fechas, monedas y nmeros. Tambin en la forma de codificacin de las pginas para su transmisin, utilizando el mas comn, UTF.

Niveles de confianza de .NET.


Introduce el concepto de la confianza del cdigo. Si permitimos una confianza total, el servidor ejecutar todo sin restricciones ni lmite de acceso a los recursos. Pero es muy peligroso para su explotacin, sera un nivel nicamente para una mquina de desarrollo sin salida al exterior. Veamos los niveles:
Full. Utilizado solo para desarrollo. No proporciona ningn mecanismo de seguridad High. Para uso interno (intranets) con acceso a los recursos. La seguridad es mnima pero al tratarse de Intranets de la empresa, suponemos que si debe tener acceso a los recursos excepto a acciones que pueden comprometer al sistema Medium. Para redes privadas con limitacin de recursos. La seguiremos utilizando en Intranets y limita el acceso a muchos recursos. Aun as alguien "malicioso" si podra ejecutar cdigo para saltarse la seguridad. Low. Para acceso pblico. Proporciona buena proteccin a la red pero si no est correctamente configurada la aplicacin se podran acceder a recursos del servidor Minimal. Para acceso pblico. Cuando no se tiene confianza en nadie, la mayora de las aplicaciones no se ejecutarn pero es la opcin mas segura.

Configuracin de aplicaciones.
Si queremos crear cdigo personalizado que ejecute el servidor. Las entradas se escriben de la forma -> nombre:valor. El cdigo lee el valor establecido en el nombre y realiza las tareas apropiadas basndose en el valor proporcionado.

Cadenas de conexin.
Proporciona informacin para que las aplicaciones puedan conectarse a bases de datos. Es una forma mucho mas sencilla que antes porque definiremos aqu las cadenas conexin quedando

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 11 of 47

ocultas para la aplicacin y as no descubrir informacin. Vers que ya hay una creada que apunta al propio servidor y que no debemos borrar.

Clave del equipo.


La clave de equipo proporciona la encriptacin necesaria para proteger las aplicaciones. Con esta opcin garantizamos mas la seguridad de los datos.

Pginas y controles.
Proporciona un aspecto robusto y coherente a las aplicaciones basadas en ASP.NET 2.0 y superior. Los que sepis este lenguaje os sonarn las opciones que veris aqu y que podemos predefinir en el sitio web: muy prctico!

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 12 of 47

Proveedores.
Se trata de las conexiones a bases de datos para proporcionarlas a IIS7. Como ves todo gira a integrar las aplicaciones ASP.NET con IIS ya que antes apenas haba conexin entre las dos partes y tenan muchos ficheros de configuracin distintos. Los proveedores incluyen varias de las entradas necesarias para conectar IIS7 con los datos: usuarios .net, roles .net, perfiles .net.

Estado de la sesin.
Un captulo muy importante en las aplicaciones .NET ya que trata entre otras cosas del tiempo de vigencia de las variables de las aplicaciones:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 13 of 47

HTTP no mantiene informacin de ninguna sesin: cuando el usuario solicita una pgina el servidor abre y cierra la conexin. Esto no es vlido para sitios web con identificacin de usuarios, as que tenemos aqu los mecanismos para mantener una serie de variables "vivas" mientras exista la conexin con el usuario. De esta forma podemos tener la misma informacin en varias pginas de la visita (usuario). En esta seccin mantendremos las variables de tipo "session", si te animas al curso de ASP.NET 3.5 (versin de 2.008) vers y aprenders a fondo este interesante mundillo de la programacin web. De las opciones mostradas, las predeterminada "en proceso" es la ms rpida ya que utiliza la memoria del sistema aunque gasta algo de recursos.

Correo electrnico SMTP.


El protocolo de transferencia simple de mensajes, o SMTP, es una parte de la instalacin bsica de IIS7. En este caso el uso de SMTP es para tareas administrativas y no para su uso como pasarela de correo. Es muy habitual que las aplicaciones manden correos con el estado de la administracin de stas o del la "salud" de las aplicaciones. IIS7 proporciona una opcin para configurar la direccin de correo SMTP para utilizarla en la aplicacin. La configuracin identifica a la aplicacin, no al recipiente, es decir, la configuracin le dice a IIS7 como configurar la aplicacin. La configuracin es muy sencilla y podemos establecer distintas direcciones de correo en distintos niveles: aplicacin, webs individuales, ...

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 14 of 47

Proporciona dos mtodos para enviar correos: utilizar un servidor SMTP o almacenar los correos localmente. En los dos casos debemos proporcionar una direccin de correo que ser la que figure como el origen. Luego indicaremos un servidor SMTP con su puerto, habitualmente y como viene de forma predeterminada, el 25. Si es necesario identificarse lo indicaremos en las siguientes casillas. Hay que asegurarse de poner bien los credenciales para identificarse en servidores externos. Recuerda que para el curso utilizaremos el servidor de pginas que incorpora el Visual Web Developer, por lo tanto podras

3.3 Caractersticas de las seccin IIS


Hemos visto para que sirven los iconos de la parte de ejecucin de aplicaciones, veamos ahora los de las caractersticas del propio servidor web IIS7:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 15 of 47

Son las mismas opciones y algunas mas que tenamos antes en la pantalla de propiedades, aunque haya cambiado de posicin es lo mismo, as que si conoces IIS6 no te costar reconocer estas opciones que antes eran solapas de la pgina de propiedades:

ASP.
Ya sabemos que es el lenguaje para hacer pginas "inteligentes" con ejecucin de cdigo. Antes hemos tratado de los detalles de ASP.NET, en este caso se trata de la versin anterior de estas pginas que se llamaban simplemente ASP:

Al ser mas sencillas que las ASP.NET las opciones son muy pocas y se refieren a los parmetros de depuracin, bfer, juegos de caracteres. Ojo no confundas esto con lo anterior, se trata de las

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 16 of 47

pginas ASP antiguas (extensin .asp) y no de los nuevos motores .NET (extensin .aspx). Algunas de las opciones interesantes son:
Habilitar bfer. Esta opcin est deshabilitada por defecto en IIS 4.0. Tambin afecta al funcionamiento de las ASP que veremos mas adelante. Habilitar rutas de acceso primarias. Permite que las pginas ASP utilicen rutas de acceso relativas para el directorio primario del directorio actual (rutas de acceso con la sintaxis "..") Lenguaje ASP predeterminado. Tenemos dos motores instalados: Vbscript y Javascript y podemos utilizar cualquiera de ellos. De forma predeterminada y el recomendado es VBScript

Si conoces IIS6 vers que las opciones son iguales que las anteriores, te muestro la pantalla de IIS6 para que veas las similitudes:

Autenticacin.
Podemos configurar IIS para autenticar o determinar la identidad de la cuenta de un usuario de Windows, antes de permitir que ste establezca una conexin de red con su servidor. Sin embargo, la autenticacin de los usuarios slo tendr lugar cuando est desactivado el acceso annimo o cuando los permisos NTFS requieran que los usuarios se identifiquen con el nombre y la contrasea de una cuenta de usuario vlida de Windows. Con las opciones de autenticacin que ofrece IIS, podemos elegir un mtodo de autenticacin que se ajuste a los requisitos de seguridad y a las capacidades del explorador Web del usuario. Puede especificar que los usuarios proporcionen el nombre de usuario y la contrasea de una cuenta de usuario vlida de Microsoft Windows para poder tener acceso a cualquier informacin

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 17 of 47

del servidor. Este proceso de identificacin recibe el nombre de autenticacin. La autenticacin, como muchas de las caractersticas de IIS, se puede establecer para sitios Web, directorios o archivos. IIS proporciona los siguientes mtodos de autenticacin para controlar el acceso al contenido del servidor. Veamos los mtodos mas importantes
Autenticacin annima

La autenticacin annima proporciona a los usuarios acceso a las reas pblicas del sitio Web o FTP sin preguntar el nombre de usuario o la contrasea. Cuando un usuario intenta conectarse al sitio Web o FTP pblico, el servidor Web le asigna la cuenta de usuario de Windows llamada IUSR_nombre_equipo, donde nombre_equipo es el nombre del servidor en el que se ejecuta IIS. De manera predeterminada, la cuenta IUSR_nombre_equipo est incluida en el grupo de usuarios Invitados de Windows. Este grupo tiene restricciones de seguridad impuestas por los permisos NTFS, que designan el nivel de acceso y el tipo de contenido que hay a disposicin de los usuarios pblicos. Si tiene varios sitios en el servidor o si tiene reas de su sitio que requieren diferentes privilegios de acceso, puede crear varias cuentas annimas, una para cada sitio Web o FTP, directorio o archivo. Al dar a estas cuentas diferentes permisos de acceso o al asignar estas cuentas a grupos de usuarios de Windows diferentes, puede otorgar a los usuarios acceso annimo a distintas reas de contenido pblico Web y FTP.
1. La cuenta IUSR_nombre_equipo se agrega al grupo Invitados del equipo IIS durante la instalacin. 2. Cuando se recibe una solicitud, IIS suplanta la cuenta IUSR_nombre_equipo antes de ejecutar cualquier cdigo o de tener acceso a cualquier archivo. IIS puede suplantar la cuenta IUSR_nombre_equipo porque conoce el nombre de usuario y la contrasea de esta cuenta. 3. Antes de devolver una pgina al cliente, IIS comprueba los permisos de archivos y directorios NTFS para determinar si la cuenta IUSR_nombre_equipo tiene acceso al archivo. 4. Si est permitido el acceso, se completar la autenticacin y los recursos estarn disponibles para el usuario. 5. Si no est permitido el acceso, IIS intentar utilizar otro mtodo de autenticacin. Si no hay ninguno seleccionado, IIS devolver al explorador un mensaje de error "HTTP 403 Acceso denegado".

La cuenta annima debe tener el derecho de usuario para el inicio de sesin local. Si la cuenta no tiene el permiso Inicio de sesin local, IIS no podr atender ninguna solicitud annima. La instalacin de IIS concede especficamente el permiso Inicio de sesin local a la cuenta IUSR_nombre_equipo. De forma predeterminada, las cuentas IUSR_nombre_equipo de los controladores de dominio no se asignan a las cuentas de invitados. Para permitir inicios de sesin annimos, debemos cambiar las cuentas IUSR__nombre_equipo a Inicio de sesin local
Autenticacin bsica
La autenticacin bsica es un mtodo estndar muy extendido para recopilar informacin de nombre de usuario y contrasea. El proceso para autenticar se realiza de la siguiente forma:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 18 of 47

1. El explorador Web Internet Explorer muestra un cuadro de dilogo en el que el usuario debe escribir su nombre de usuario y contrasea de Windows previamente asignados, que tambin se conocen como credenciales. 2. El explorador Web intentar establecer la conexin con un servidor, mediante las credenciales del usuario. La contrasea de texto simple se codifica en Base64 antes de enviarla a travs de la red. Importante La codificacin en Base64 no es un cifrado. Si una contrasea codificada en Base64 es interceptada en la red por un husmeador de redes, la contrasea puede ser descodificada y utilizada por personas no autorizadas. 3. Si las credenciales de un usuario son rechazadas, Internet Explorer muestra una ventana de dilogo de autenticacin para que el usuario vuelva a escribir sus credenciales. En Internet Explorer se permite al usuario tres intentos de conexin antes de informarle de que no se puede establecer la conexin. 4. Cuando el servidor Web compruebe que el nombre de usuario y la contrasea corresponden a una cuenta de usuario vlida de Microsoft Windows, se establecer una conexin.

La autenticacin bsica tiene la ventaja de que forma parte de la especificacin HTTP y es compatible con la mayora de los exploradores. La desventaja de los exploradores Web que utilizan la autenticacin bsica es que transmiten las contraseas sin cifrar. Mediante la supervisin de las comunicaciones en la red, alguien podra fcilmente interceptar y descodificar estas contraseas mediante herramientas de dominio pblico. Por tanto, la Autenticacin bsica no es recomendable a menos que tenga la seguridad de que la conexin entre el usuario y el servidor Web sea segura, como una lnea dedicada o una conexin Capa de sockets seguros (SSL)
Autenticacin de texto implcita

La autenticacin de texto implcita ofrece la misma funcionalidad que la autenticacin bsica. Sin embargo, la autenticacin de texto implcita supone una mejora en la seguridad debido a la forma en que se envan las credenciales del usuario a travs de la red. La autenticacin de texto implcita transmite las credenciales a travs de la red como un hash MD5, tambin conocido como mensaje implcito, en el que el nombre de usuario y la contrasea originales no pueden descifrarse del hash. La autenticacin de texto implcita est disponible para los directorios del Sistema distribuido de creacin y control de versiones Web (WebDAV).

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 19 of 47

Antes de habilitar la autenticacin de texto implcita en el servidor IIS, asegrese de que se cumplen los requisitos mnimos siguientes. Slo los administradores de dominio pueden comprobar que se cumplen los requisitos del controlador de dominio (DC). Si tiene dudas, consulte al administrador del dominio si el controlador del dominio cumple con los requisitos siguientes: Todos los clientes que tienen acceso a un recurso protegido con autenticacin de texto implcita van a utilizar Internet Explorer 5.0 o posterior.
El usuario y el servidor IIS deben ser miembros o tener la confianza del mismo dominio. Los usuarios deben tener una cuenta vlida de usuario de Windows almacenada en Active Directory en el controlador de dominio. El controlador del dominio debe ser un equipo con Windows 2000 o posterior. El servidor IIS debe ser un equipo con Windows 2000 o posterior.
Autenticacin de Windows

La autenticacin de Windows (anteriormente llamada NTLM, tambin denominada autenticacin de desafo y respuesta de Windows NT) es un mtodo seguro de autenticacin, ya que el nombre de usuario y la contrasea se procesan con el mtodo de hash antes de enviarlos a travs de la red. Al habilitar la autenticacin de Windows integrada, el explorador del usuario demuestra que conoce la contrasea mediante un intercambio criptogrfico con el servidor Web, en el que interviene el mtodo de hash. La autenticacin de Windows integrada utiliza los mtodos de autenticacin Kerberos v5 y NTLM. Si los servicios Active Directory estn instalados en un controlador de dominio con Windows 2000 o posterior y el explorador del usuario es compatible con el protocolo de autenticacin Kerberos v5, se utilizar la autenticacin Kerberos v5; de lo contrario, se utilizar la autenticacin NTLM.
Nota El protocolo de autenticacin Kerberos v5 es una caracterstica de la arquitectura de Servicios distribuidos de Windows 2000. Para que la autenticacin Kerberos v5 se realice correctamente, tanto el cliente como el servidor deben tener una conexin de confianza a un Centro de distribucin de claves (KDC) y ser compatibles con los Servicios de directorio.

Traduciendo este definicin digamos que el navegador no se valida cada vez, sino que enva los credenciales del dominio/usuario y establece una comunicacin donde no vuelve a enviar la contrasea. Es el mejor sistema para una Intranet pero debemos tener un sistema de dominios instalado en nuestra red.
Autenticacin mediante formularios y Suplantacin de ASP.NET

Los formularios son una coleccin de controles basada en la gestin de usuarios de ASP.NET que proporcionan todas las pginas necesarias para la identificacin y mantenimiento de usuarios. La suplantacin tambin es otra de las alternativas de ASP.NET y si no vas a desarrollar con .NET no necesitars ninguno de estos dos mtodos.

Qu autenticacin elegir
Revisamos los niveles de seguridad

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 20 of 47

Autenticacin annima: permite que cualquier usuario tenga acceso sin que se le pida su nombre de usuario y contrasea. Autenticacin bsica: solicita al usuario su nombre de usuario y contrasea, que se envan sin cifrar a travs de la red. Autenticacin de texto implcita: funciona de manera similar a la autenticacin bsica, pero difiere de ella en que las contraseas se envan como un valor de hash. La autenticacin de texto implcita slo est disponible para los dominios con un controlador de dominio de Windows 2000. La autenticacin de Windows utiliza la tecnologa de hash para identificar al usuario sin enviar realmente la contrasea a travs de la red. Autenticacin basada en ASP.NET. Si utilizamos los controles y formularios para controlar el acceso.

Si utilizamos la primera opcin el acceso ser annimo y no tendremos ningn tipo de identificacin a lo largo de la sesin del usuario. Es una seguridad propia para un Web de Internet, ya que nadie debe, en principio, identificarse. La segunda opcin la rechazamos inmediatamente por no tener ningn tipo de seguridad a la hora de transmitir la contrasea. Y de las dems nos quedamos con la "Seguridad de Windows". sta enva los credenciales del usuario en cada peticin. Esto funcionalmente hace que desde ASP.NET podamos saber siempre que usuario ha solicitado la pgina. Tambin es buena opcin utilizar las opciones de seguridad de ASP.NET si vamos a desarrollar con este lenguaje, como ves posibilidades hay muchas...

Reglas de autorizacin.
Es una mezcla de reglas de cortafuegos con permisos. Si conoces ASP.NET es lo mismo que la asignacin de permisos segn los "roles". Es otra de las mejoras de esta versin IIS7, y ya van unas cuantas!. Determina quien puede acceder al servidor, por ejemplo podemos dejar acceso a una carpeta o aplicacin pero denegar a las dems. Si lo mezclamos con la seguridad basada en formularios, donde se identifiquen los usuarios, tendremos un control muy avanzado de los accesos a nuestro servidor. Iremos aadiendo reglas indicando quienes tienen permiso y de que tipo, lo mismo que en un cortafuegos:

CGI.
"Common Gateway Interface" es uno de los mas antiguos sistemas para ejecutar aplicaciones web. Fue prcticamente la primera vez que las pginas pudieron consultar bases de de datos y

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 21 of 47

otro tipo de operaciones no estticas. Se utilizaba escribiendo ficheros con secuencias de comandos que luego ejecutaba el servidor. Se mantiene por compatibilidad e incluso se mejoran algunas opciones como el establecer el tiempo de espera o "timeout"

Compresssion.
La velocidad del servidor web depende del ancho de banda disponible, por eso si se comprime la informacin, sta necesitar menos ancho de banda para transmitirse:

Documento predeterminado.
Establece el archivo que va a devolver por defecto:

Es decir, cuando el usuario escriba la direccin del sitio web (por ejemplo www.miempresa.es) el servidor web devolver el primero que encuentre de los que le indicamos en esta pgina. Lo habitual es default.aspx si aloja aplicaciones realizadas en .NET. Siempre que se acceda sin indicar un nombre de pgina se buscar por ese orden estas pginas en la carpeta o web solicitado. Es muy importante que exista para no dejar puntos sin control y pueda ser sujeto de un ataque.

Exmen de directorios.
Esta opcin permite navegar por las carpetas y ficheros de un sitio web, de forma similar a la navegacin por carpetas del explorador de archivos. Lgicamente por seguridad esta opcin est deshabilitada y as debe permanecer porque mostramos a los usuarios todos nuestros ficheros de la web, incluidos los de configuracin, facilitando un posible ataque. Sin embargo es una til opcin si lo que queremos es precisamente que el usuario explore una serie de ficheros donde podremos controlar que datos queremos mostrar al usuario:
Hora

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 22 of 47

Tamao Extensin del archivo Fecha Fecha larga (sin est disponible)

Los usuarios vern nombres de ficheros con sus iconos que identifican el tipo de contenido del fichero. Para tener mas seguridad se desaconseja utilizar esta opcin.

Pginas de error.
Cuando el servidor o una aplicacin encuentra un error, ste genera un cdigo. Con esta opcin podremos personalizar estos errores. Lo veremos con mas detalle un poco mas adelante.

Asignacin de controlador.
Cuando nosotros solicitamos una pgina web al servidor, ste analiza el tipo de pgina y dependiendo de su extensin la procesar de una forma u otra. Es decir si es de tipo .asp la ejecutar con un determinado programa y si es .aspx con otro. En esta seccin podemos aadir los controladores que queremos que nuestro servidor pueda manejar:

Como ves, por seguridad estn deshabilitados los dos primeros, sistemas muy antiguos e inseguros. Debajo tenemos todas los tipos de archivos que va a reconocer y con que aplicacin debe ejecutarlos segn la extensin que tenga. Nada impide por supuesto que creemos uno nuestro con determinadas extensiones y as cuando se solicite una pgina de esa extensin IIS lo mandar a ejecutar con ese programa. Por ejemplo:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 23 of 47

Cuando se solicite una pgina con extensin .aspx en lugar de devolverla, la ejecutar el programa que estamos indicando, que en este caso es el motor de ASP.NET 2.0

Redireccin HTTP.
Hay varias razones por las que podemos querer redirigir nuestro sitio web. Por ejemplo, porque estamos reorganizando nuestro sitio, lo estamos moviendo e sitio o de dominio, mostrar un mensaje de "parado por mantenimiento"... Con IIS7, se trata de un procedimiento muy sencillo, podemos redireccionar una carpeta o el servidor web entero.

Encabezados de respuesta HTTP.


Le comunica cierta informacin a las solicitudes de los clientes:

Podemos crear los encabezados automticos que queramos desde esta opcin. Como ves hay uno definido que, independiente del contenido de la pgina, incluir en la solicitud del usuario. Esta informacin no aparece en el navegador, el usuario no ver nada especial en la pgina, pueden ser datos de identificacin del autor o de configuracin de las pginas, como veremos ahora. Podemos aadir encabezados mas complejos si seleccionamos la opcin de "establecer encabezados comunes":

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 24 of 47

Tenemos estas dos opciones, la primera de ellas es muy importante que se mantenga. Le indica al servidor que deje la conexin establecida con el cliente mientras est enviando elementos. Todas las pginas incluyen muchos elementos, as que es mejor que se quede la conexin abierta para su transferencia, de lo contrario la velocidad se ver muy afectada. La segunda parte, la de la expiracin del contenido, se refiere a que podemos forzar al servidor a que actualice la informacin del servidor cada cierto tiempo. Seguro que has visto alguna retransmisin de algn partido por la web de algn peridico y has visto que la pgina se recarga sola cada poco tiempo, aqu es donde podemos establecer esos tiempos.

Restricciones de direcciones IPv4 y de dominios.


Podemos restringir o conceder el acceso a los dominios o intervalos de direcciones que indiquemos:

Por ejemplo, sabemos que ha habido problemas desde una IP de nuestra red, podemos suprimir el acceso de esa direccin mediante esta opcin. O es una de nuestras subredes de nuestra empresa pero que no queremos que accedan a esta zona o a esta seccin Web.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 25 of 47

Es mejor utilizar las restricciones a nivel de direcciones ya que si son a nivel de dominios, el servidor siempre tendr que hacer consultas de nombres de dominio y eso cuesta algo mas de tiempo.

Restricciones ISAPI y CGI.


Son tecnologas mas antiguas que no estn activadas por defecto y deberamos activarlas simultneamente desde aqu para poderse utlizar. Es decir, al ser antiguas e inseguras debemos decirle explcitamente que las reconozca. Esta restriccin hace que nuestro servidor sea mucho mas seguro.

Filtros ISAPI.
Las aplicaciones ISAPI (ISAPI es la API de IS, es decir la interfaz de programacin del servidor web), o lo que es lo mismo, las aplicaciones que se pueden ejecutar en el servidor web se indican de dos formas: extensiones ISAPI y filtros ISAPI. Una extensin ISAPI controla las solicitudes de pginas ASP, CGI, ... En cambio un filtro ISAPI realiza un servicio distinto que la extensin. Por ejemplo, podemos decirle en un filtro ISAPI que determinadas pginas de inicio de sesin (login) sea rechazadas dependiendo de los criterios que indiquemos. Es decir "filtra" las pginas que luego se ejecutarn.

Simplemente aadiremos en ese cuadro de dilogo el nombre del filtro y el ejecutable. Con esto, .NET puede utilizar el filtro ISAPI para ver las solicitudes ASP.NET

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 26 of 47

Registro de la actividad
El registro de la actividad es una de las partes importantes porque nos va a mostrar todo las peticiones que se realizan a nuestro servidor. Dada su importancia la trataremos un poco mas adelante.

Tipos MIME.
Las "extensin de mail de Internet Multipropsito" (MIME) define como debe manejar el cliente determinados tipos de archivos. Esta tecnologa viene originalmente del correo electrnico donde le ayudaba a tratar con los ficheros adjuntos, definiendo los tipos que podra reconocer. Habrs observado que cuando le damos a un hipervnculo que es un vdeo se abre el Windows Media, eso es porque reconoce los formatos MIME, lanzando la aplicacin asociada con esa extensin.

De igual forma que Windows reconoce las extensiones, estas definiciones le indican al navegador como tratarlas.

Modulos.
IIS necesita saber dnde encontrar el cdigo que necesita para ejecutar tareas. Puesto que IIS7 est basado en .NET, encontrar todo lo que necesita en el propio ncleo de .NET. Esta seccin contiene una lista de mdulos de cdigo nativo que se instalan con IIS.

Almacenamiento en cach de resultados.


Un servidor puede mejorar su rendimiento actualizando el contenido solo si necesita actualizarlo. Es decir, si una persona solicita un informe y luego otra persona lo solicita 5 minutos despus lo normal sera que fuese el mismo informe. En ese caso se mandara una copia del primer informe al usuario. Con esta opcin nos permite crear unas reglas de uso de cach para controlar como IIS7 recicla el contenido

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 27 of 47

Certificados de servidor.
Los certificados digitales son la forma de asegurar al cliente que est en el sitio que ha solicitado. Aadido con SSL asegura totalmente la comunicacin. Para utilizar esta caracterstica debemos crear una entrada en esta seccin.

En las anteriores versiones de IIS solo se permita la instalacin de un certificado, la evolucin hace que en este IIS7 tengamos varias opciones interesantes:
Tcnica Importar Utilizacin Cualquier sitio Web Descripcin Es la antigua opcin. Podemos conseguir un certificado de una empresa autorizada externa, como VeriSign, e importarlo en nuestro servidor. Solo tenemos que indicarle dnde est y la contrasea para abrirlo Es un proceso de dos pasos, primero creamos una solicitud y se la enviamos a VeriSign, por ejemplo. Esta empresa nos responde y utilizaremos la opcin de completar la solicitud de certificado para instalarlo. Es parecido a lo anterior pero no tenemos que hacer una solicitud por separado y luego importarlo, sino que todo se hace desde aqu. Antes utilizbamos en este tipo de peticiones un servidor que emita certificados de nuestro dominio. Perdamos mucho tiempo accediendo al web para acceder a ese servidor, recuperar el certificado y finalmente instalarlo manualmente. Ahora, con esta opcin podemos crear directamente un certificado para su uso en nuestra intranet o

Crear solicitud de certificado

Intranets y sitios privados de confianza

Crear certificado de dominio

Intranets y sitios privados de confianza

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 28 of 47

en un sitio web privado. Con esto ahorramos dinero en la solicitud de un certificado y proporcionamos una forma segura de conexin. Crear certificados autofirmados Para pruebas y desarrollos Muchas veces los desarrolladores necesitan certificados para pruebas. Esta opcin proporciona un certificado que funciona para pruebas y redes pequeas pero no para su uso a gran escala porque cualquiera puede generar un certificado y acceder a este IIS.

Ya ves que sencillo es, no hay razn por la que no podamos poner en marcha un sitio web seguro. Una vez que lo tenemos instalado podemos trabajar con SSL para asegurar totalmente nuestro sitio Web y garantizar su privacidad.

SSL
Son las siglas del protocolo de pginas web seguras. Vers que es muy fcil asegurar nuestra web y nos garantizar la confidencialidad de los datos. Incluso para una sencilla pgina de inicio de sesin deberamos aplicarle este protocolo para que la informacin se enve encriptada y no pueda interceptarse. Actualmente es imprescindible en cualquier sitio web que requiera confidencialidad: desde portales de comercio electrnico, banca o correo electrnico. El primer paso para crear un sitio web seguro es crear un certificado de servidor. Una vez creado podemos crear un sitio web seguro que utilice este certificado:

Para acceder a esta pantalla slo le he indicado "Agregar nuevo sitio web". Como puedes ver al seleccionar el protocolo seguro "https" se activa la seccin inferior para indicar el certficado.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 29 of 47

Procesos de trabajo.
Finalmente esta opcin nos muestra los procesos que se estn ejecutando y la lista de solicitudes que tienen. Por ejemplo, si vamos a esta pantalla y en un navegador solicitamos una pgina web veremos que:

Nos muestra que se est ejecutando la aplicacin predeterminada que es el propio servidor web. Te recuerdo las aplicaciones que por defecto tenemos instaladas (puede ser algo distinta a las que tienes en tu equipo):

Como ves, se cumplen varias cosas. Por un lado "DefailAppPool", que es nuestro servidor web se encuentra en la lista de los grupos de aplicaciones de nuestro servidor, por eso al solicitar una pgina web nos indica que est en ejecucin. Y tambin vemos como efectivamente las aplicaciones se van a ejecutar de forma independiente para no afectar a las otras. Adems pulsando en ese proceso podremos ver mas detalles. Por fin! esto no estaba disponible hasta esta versin y es una gran mejora porque por fin podemos ver lo que se est ejecutando dentro del servidor web

4. Caractersticas de administracin
A nivel de servidor nos encontramos con un pequeo grupo de herramientas de administracin:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 30 of 47

Recuerda que los iconos son distintos si estamos seleccionando el servidor o un sitio web creado dentro de IIS. Lo que apliquemos a nivel de servidor sern para todos los sitios web y lo que apliquemos en cada uno de ellos servir para configurarlos individualmente. Si pulsas en el web predeterminado vers que solo hay un icono de administracin que es "Permisos del administrador de IIS" ya que todos los dems (y ese mismo) se encuentran a nivel de servidor. Veamos estas opciones:

Delegacin de caractersticas
IIS nos permite configurar el nivel de acceso de todas sus caractersticas:

Podemos elegir en delegar cada caracterstica y cmo queremos que se haga.

Permisos del Administrador de IIS


Muestra una lista de los usuarios que tienen permiso para realizar administracin de tareas a nivel de sitio. Si aadimos un usuario a la lista le proporcionaremos niveles de administracin.

Usuarios del Administrador de IIS


En ocasiones podemos querer dar privilegios de administracin a alguien que no es de nuestra organizacin y por tanto no tiene usuario en nuestro directorio activo. Para evitar la creacin de un usuario, con esta opcin podemos crear un usuario y asignarle una contrasea para pasar a ser un administrador del sitio.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 31 of 47

Servicio de Administracin
Con esta opcin configuraremos cmo queremos que se identifiquen los usuarios que administrarn de forma remota este servidor:

Como ves en la pantalla por un lado definimos que usuarios lo administrarn: de Windows o los creados en el punto anterior. Debajo podemos indicar en que IP de nuestro servidor se atendern estas peticiones y el puerto sobre el que funcionar el servicio de administracin. Recuerda que el puerto 80 est ocupado por nuestra web as que debe ser obviamente otro puerto. Debajo le indicaremos el certificado para la conexin seguro e incluso podemos filtrar las direcciones IP remotas. Esto es muy til porque si sabemos la direccin del equipo o proveedor externo que nos administrar el sitio web podemos restringir las conexiones de forma rpida.

Configuracin compartida
Para terminar, una pequea utilidad para tener centralizada la informacin de configuracin de nuestro IIS, as la podr compartir con otro o hacer mas sencilla la tarea de la copia de seguridad imprescindible. Por tanto si vamos a tener una "granja" de servidores no necesitaremos almacenar la configuracin de cada uno de ellos individualmente. Podemos establecer la configuracin de los otros utilizando la informacin proporcionada por esta opcin.

5. Mensajes de error personalizados y registro de visitas


5.1 Mensajes de error personalizados
Cuando se produce un error en nuestra Intranet: no encuentra una pgina, error del servidor, excedido tiempo de espera... IIS muestra una pgina con el error. Estas pginas las encontramos en un directorio de nuestro disco duro y podemos cambiarlas. Siempre es mejor mostrar un mensaje personalizado con el logo y aspecto de nuestra Intranet que uno genrico. Veamos un

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 32 of 47

ejemplo del mismo mensaje de error visto por IIS de forma predeterminada y despus he haber hecho alguna pequea modificacin en su aspecto:

Estos son algunos de los errores que se pueden personalizar y que son los mas comunes:
Cdigo de error 400 403.1 403.2 403.3 403.8 403.14 404 404.1 500 500-100.asp Mensaje Solicitud incorrecta Acceso de ejecucin prohibido Acceso de lectura prohibido Acceso de escritura prohibido Acceso al sitio denegado Lista de directorios denegada No se encuentra Sitio no encontrado Error interno del servidor Error ASP

Los mensajes de error se muestran en una lista del complemento IIS que IIS trata como una sola propiedad. Por ejemplo, cuando se configura un conjunto de mensajes de error personalizados para el sitio Web, todos los directorios de este servidor heredan la lista completa de mensajes personalizados. Es decir, no se combinan las dos listas de mensajes de error personalizados (para el servidor y para el directorio).

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 33 of 47

El error 404.1 slo se produce en equipos con direcciones IP mltiples. Si se recibe una solicitud de cliente en una combinacin de direccin y puerto IP determinada y la direccin IP no est configurada para la recepcin en ese puerto especfico, IIS devolver el mensaje de error HTTP 404.1. Por ejemplo, si un equipo dispone de dos direcciones IP y solamente una de ellas est configurada para escuchar en el puerto 80, cualquier solicitud con puerto 80 que se reciba en la otra direccin IP har que IIS devuelva el mensaje de error 404.1. Podemos asignar mensajes de error personalizados a un archivo o a una direccin URL para esto utilizaremos la hoja de propiedades Errores personalizados del complemento IIS:

Para personalizar un mensaje de error mediante su asignacin a un archivo:


1. Creamos un archivo que contenga su mensaje de error personalizado y colocamos el archivo en un directorio. 2. Seleccionamos el error HTTP que desea cambiar. 3. Hacemos clic en el botn Modificar propiedades. 4. Seleccionamos Archivo en el cuadro Tipo de mensaje. 5. Escribimos la ruta de acceso y el nombre del archivo que apunta al mensaje de error personalizado o utilizamos el botn Examinar para localizar el archivo en el disco duro del equipo. 6. Hacemos clic en Aceptar.
Nota si es una URL seleccionaremos "Direccin URL" en el cuadro Tipo de mensaje.

Podemos modificar los ficheros con FrontPage u otro editor pero ojo, si incluimos un grfico debe ser con la forma http://servidor/images/logo.gif. De lo contrario incluir un enlace a una ruta local c:\imagenes\logo.gif que no funcionar bien. Por ejemplo, modificando el fichero "404b.htm" que es el que se muestra cuando no encuentra la pgina quedara as:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 34 of 47

Dado que ASP.NET tiene mucho que decir en IIS7 y que ste gestiona muy bien el control de errores, podemos complementar estos errores estticos con otro interceptados y tratados con cdigo ASP.NET desde nuestra aplicacin web.

5.2 El registro de IIS


El registro de un sitio Web o FTP se realiza mediante unos mdulos que funcionan independientemente de las dems actividades del servidor. Podemos elegir el formato de los registros para cada sitio Web o FTP individual. Si est habilitado el registro en un sitio, podemos habilitarlo o deshabilitarlo individualmente para cada uno de sus directorios. Cada formato de registro utiliza una zona horaria diferente como base para las horas mostradas en los registros. El formato extendido W3C utiliza el Horario universal coordinado (UTC), lo que antes llambamos hora del meridiano de Greenwich, Los otros formatos utilizan la hora local. Las horas mostradas en los archivos de registro reflejan la hora que el servidor utiliza para procesar las peticiones y las respuestas. Estas horas no reflejan el tiempo transcurrido en la red hasta llegar al cliente ni el tiempo de proceso del cliente.

Formatos de archivo de registro


Podemos elegir el formato que el servidor Web utiliza para registrar la actividad de los usuarios. Disponemos de los siguientes formatos:
1. Formato de archivo de registro W3C 2. Formato de registro de Microsoft IIS 3. Formato del archivo de registro comn NCSA 4. Personalizado

El formato de archivo de registro W3C, el formato de archivo de registro Microsoft IIS y el formato de archivo de registro NCSA son todos formatos de texto ASCII. El formato W3C y el formato

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 35 of 47

NCSA registran datos con formato de ao de cuatro dgitos. El formato de Microsoft IIS utiliza un formato de dos dgitos para el ao 1999 y anteriores y un formato de cuatro dgitos para los aos posteriores. El formato de registro que se proporciona con Microsoft IIS asegura la compatibilidad con versiones anteriores de IIS. nicamente se puede utilizar el formato de archivo de registro W3C para crear formatos de registro personalizados con los campos precisos que se necesiten. A ttulo informativo comentaremos los tres tipos de registro que existen en IIS:
1. Formato de archivo de registro W3C

El formato W3C es un formato ASCII que puede personalizarse con diversos campos diferentes. Puede incluir campos que considere importantes y limitar al mismo tiempo el tamao del registro si omite los campos que no desea. Los campos estn separados por espacios. La hora se registra como UTC (Horario universal coordinado). En el ejemplo siguiente se muestran lneas de un archivo que incluye los campos siguientes: Hora, Direccin IP del cliente, Mtodo, Recurso (URL) visitado, Estado del protocolo y Versin del protocolo.
#Software: Servicios de Internet Information Server 5.1 de Microsoft #Versin: 1.0 #Fecha: 1998-05-02 17:42:15 #Campos: time c-ip cs-method cs-uri-stem sc-status cs-version 17:42:15 172.16.255.255 GET /default.htm 200 HTTP/1.0

La entrada anterior indica que el 2 de mayo de 1998, a las 5:42 p.m., UTC, un usuario con HTTP versin 1.0 y direccin IP 172.16.255.255 emiti un comando GET de HTTP para el archivo \Default.htm. La peticin se resolvi sin errores. El campo #Fecha: indica cundo se hizo la primera entrada de registro, que es cuando se cre el registro. #Versin: indica que se utiliz el formato de registro W3C. Podemos seleccionar cualquiera de los campos, pero puede que algunos no tengan informacin disponible para algunas peticiones. Para aquellos campos seleccionados que no tengan informacin aparecer un guin () en el campo como marcador de posicin. Al seleccionar este formato hemos dicho que podemos personalizar sus campos. Si pulsamos en el botn "Propiedades" nos aparecer una pantalla cuya segunda ficha ser como esta:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 36 of 47

Esta pantalla permite indicar que campos queremos que figuren en el registro.
2. Formato de registro de Microsoft IIS

El formato de Microsoft IIS es un formato ASCII fijo (no puede personalizarse) pero registra ms datos que el formato comn NCSA. El formato de Microsoft IIS incluye elementos bsicos como la direccin IP del usuario, el nombre de usuario, la fecha y la hora de peticin, el cdigo de estado de servicio y el nmero de bytes recibidos. Adems, incluye elementos detallados como el tiempo transcurrido, el nmero de bytes enviados, la accin (por ejemplo, una descarga realizada con un comando GET) y el archivo de destino. Los elementos se separan con comas, por lo que leer el formato resulta ms sencillo que con los dems formatos ASCII, que utilizan espacios como separadores. La hora de registro es la local. Al abrir un archivo con formato Microsoft IIS en un editor de textos, las entradas sern similares a las de los ejemplos siguientes:
192.168.114.201, , 03/20/98, 7:55:20, W3SVC2, VENTAS1, 192.168.114.201, 4502, 163, 3223, 200, 0, GET, /DeptLogo

172.16.255.255, annimo, 03/20/98, 23:58:11, MSFTPSVC, VENTAS1, 192.168.114.201, 60, 275, 0, 0, 0, PASS, /intro.

En las tablas siguientes se interpretan las entradas anteriores. La fila superior de cada tabla proviene de la segunda instancia del sitio Web (que aparece en "Servicio" como W3SVC2) y la fila inferior de la primera instancia del sitio FTP (que se indica en "Servicio" como MSFTPSVC1). El ejemplo se presenta en tres tablas por la limitacin de ancho de pgina.
Direccin IP del usuario Nombre del usuario Fecha Hora Servicio instancia Uso y resultado

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 37 of 47

192.168.114.201

03/20/98

7:55:20

W3SVC2

SALES1

172.16.255.255

anonymous

03/20/98

23:58:11

MSFTPSVC1

SALES1

Direccin IP del servidor 192.168.114.201

Tiempo empleado 4502

Bytes enviados 163

Bytes recibidos 3223

Cdigo de estado de servicio 200

Cdigo de estado de Windows 0

172.16.255.255

60

275

Tipo de solicitud GET [376] PASS

Destino de la operacin /DeptLogo.gif /intro.htm

Parmetros

En el ejemplo, la primera entrada indica que un usuario annimo, con la direccin IP 192.168.114.201, envi un comando GET de HTTP para el archivo de imagen /DeptLogo.gif a las 7:55 a.m. del 20 de marzo de 1998, desde un servidor llamado VENTAS1 que tiene la direccin IP 172.21.13.45. La peticin HTTP de 163 bytes ha tenido un tiempo de proceso de 4502 milisegundos (4,5 segundos) y devolvi, sin errores, 3223 bytes de datos al usuario annimo. En el archivo de registro, todos los campos terminan en coma (,). Un guin () acta como marcador de posicin si no hay un valor vlido para un campo determinado.
3. Formato del archivo de registro comn NCSA El formato comn NCSA es un formato ASCII fijo (no puede personalizarse), disponible para sitios Web, pero no para sitios FTP. Registra informacin bsica acerca de las peticiones de los usuarios, como nombre de host remoto, nombre de usuario, fecha, hora, tipo de peticin, cdigo de estado HTTP y nmero de bytes enviados por el servidor. Los elementos estn separados con espacios en blanco y la hora de registro es la local. Al abrir un archivo con formato comn NCSA en un editor de textos, las entradas sern similares a las del ejemplo siguiente:
172.21.13.45 REDMOND\fred [08/Apr/1997:17:39:04 -0800] "GET /scripts/iisadmin/ism.dll?http/serv HTTP/1

Nota En la entrada anterior, el segundo campo (que mostrara el nombre de inicio de sesin remota del usuario) est vaco y est representado por el guin que sigue a la direccin IP 172.21.13.45. En las tablas siguientes se interpreta la entrada de ejemplo anterior. Se utilizan dos tablas por la limitacin de ancho de pgina.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 38 of 47

Nombre de host remoto 172.21.13.45

Nombre de inicio de sesin remota

Nombre de usuario Rioja\jose

Fecha

Hora y diferencia con GMT 17:39:10 -0800

08 de abril de 1998

Peticin/Versin GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0

Cdigo de estado de servicio 200

Bytes enviados 3401

La entrada indica que un usuario llamado Jose del dominio Rioja, con la direccin IP 172.21.13.45, envi un comando GET de HTTP (es decir, descarg un archivo) a las 5:39 p.m. del 8 de abril de 1998. La peticin devolvi, sin errores, 3401 bytes de datos al usuario jose. 4. Personalizado. Necesita una serie de elementos mas complejos que no soporta directamente IIS7. Pulsa aqu si quieres mas informacin de este formato.

Tamao de archivo de registro y creacin de nuevos archivos de registro


Cuando est habilitado el registro de IIS, (lo est de manera predeterminada) se generan nuevas entradas de registro siempre que un usuario tiene acceso al servidor. Esto produce un incremento progresivo del tamao del archivo de registro o del nmero de archivos de registro. Podemos necesitar equilibrar la recopilacin de datos detallados con la necesidad de limitar los archivos a un nmero y tamao fciles de administrar. IIS ofrece dos opciones para administrar la generacin de datos de registro y la creacin de nuevos archivos de registro. Una forma de administrar los datos de registro es personalizar el registro extendido W3C de modo que slo se recopilen los datos que se necesitan. Otra opcin para administrar archivos de registro es limitar el tamao del registro mediante el cambio de la frecuencia de creacin del archivo de registro.

Los archivos de registro son simplemente archivos ASCII (de texto). Si ha creado muchos archivos pequeos y prefiere uno grande, puede combinarlos como hara con cualquier archivo ASCII. Si el servidor se queda sin espacio en disco cuando IIS intenta agregar una entrada de registro a un archivo, el registro de IIS se cierra. Al mismo tiempo, en el registro de aplicacin del Visor de sucesos de Windows, se registra un suceso. Cuando vuelve a haber espacio disponible en disco, se reanuda el registro de IIS. Esto hace que se registre un suceso adicional en el registro de aplicacin del Visor de sucesos de Windows.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 39 of 47

Nombres de archivo de registro


En los nombres de los archivos de registro se utilizan las primeras letras para representar el formato y los nmeros restantes para indicar el marco horario o la secuencia del registro. Consulta la tabla siguiente para obtener ms informacin. Las letras en cursiva representan dgitos: nn para dgitos secuenciales, aa para el ao, mm para el mes, ss para la semana del mes, dd para el da y hh para la hora en formato de 24 horas (es decir, 17 es 5:00 p.m.).
Formato Formato de registro de Microsoft IIS Criterio para nuevo registro Por el tamao del archivo Cada hora Diario Semanal Mensual Formato del archivo de registro comn NCSA Por el tamao del archivo Cada hora Diario Semanal Mensual Formato de archivo de registro extendido W3C Por el tamao del archivo Cada hora Diario Semanal Mensual Patrn de nombre de archivo inetsvnn.log inaammddhh.log inaammdd.log inaammss.log inaamm.log ncsann.log ncaammddhh.log ncaammdd.log ncaammss.log ncaamm.log extendnn.log exaammddhh.log exaammdd.log exaammss.log exaamm.log

Nota Existen muchos programas de otros fabricantes que recogen estos datos y los interpretan, creando potentes informes acerca del volumen de pginas descargadas, tamaos, usuarios, ...

6. Los directorios virtuales


Al configurar los sitios Web debemos indicar los directorios que contienen los documentos que queremos publicar. El servidor Web no puede publicar documentos que no estn en los directorios especificados. Por lo tanto, el primer paso para desarrollar un sitio Web debe ser determinar cmo deseamos organizar los archivos. Si deseamos empezar ahora mismo sin tener que crear una estructura especial de directorios y todos los directorios se encuentran en el mismo disco duro del equipo que ejecuta los Servicios de Internet Information Server, podemos publicar los documentos inmediatamente copiando los archivos Web en el directorio principal predeterminado, C:\InetPub\Wwwroot.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 40 of 47

Cada sitio Web o FTP debe tener un directorio particular: el directorio particular es la ubicacin central de las pginas publicadas. Contiene una pgina principal o archivo de ndice que da la bienvenida a los clientes y contiene los vnculos a otras pginas del sitio. El directorio particular se asigna al nombre de dominio del sitio o al nombre del servidor. Por ejemplo, si el nombre del dominio de Internet del sitio es www.microsoft.com y el directorio particular es C:\Website\Microsoft, los exploradores utilizan la direccin URL http://www.microsoft.com para tener acceso a los archivos del directorio particular. En una intranet, si el nombre del servidor es ServidorActual, los exploradores utilizan la direccin URL http://ServidorActual para tener acceso a los archivos del directorio particular. El directorio particular predeterminado se crea al instalar los Servicios de Internet Information Server y crear un sitio Web nuevo.

6.1 Qu es un directorio virtual?


Para publicar desde cualquier directorio que no est contenido en el directorio particular, debemos crear un directorio virtual. Un directorio virtual es un directorio que no est en el directorio particular pero que aparece en los exploradores de los clientes como si estuviera. Es decir: sabemos que podemos poner pginas Web en el directorio "c:\inetpub\wwwroot" y que estas se van a ver inmediatamente escribiendo en el navegador "http://servidor". Un directorio virtual es crear un directorio en nuestra pgina Web pero que apunta fsicamente a otra ruta fsica del disco duro diferente. Por ejemplo podemos crear un directorio virtual que llamaremos "docs" y que apunta a la ruta fsica "d:\intranet\documentos" para ver esto en el servidor bastara con escribir: "http:/servidor/docs" Un directorio virtual tiene un alias, un nombre que los exploradores Web utilizan para tener acceso al directorio. Puesto que el alias suele ser ms corto que el nombre de la ruta del directorio, a los usuarios les resulta ms cmodo escribirlo. Un alias es ms seguro; los usuarios no conocen el lugar del servidor donde estn ubicados fsicamente los archivos y no pueden utilizar esa informacin para modificar los archivos. Con los alias es ms fcil mover los directorios en el sitio: En lugar de cambiar la direccin URL del directorio, puede cambiar la asignacin entre el alias y la ubicacin fsica del directorio. Otro ejemplo, supongamos que configuramos un sitio Web para el grupo de mercadotecnia en la intranet de la compaa. La tabla siguiente muestra las asignaciones entre las ubicaciones fsicas de los archivos y las direcciones URL a travs de las cuales se obtiene acceso a los archivos.

Ubicacin fsica

Alias

Ruta de la direccin URL

C:\Inetpub\wwwroot

directorio particular (ninguno)

http://Ventas

\\Servidor2 \DatosVentas\ClientesProd

Clientes

http://Ventas/Clientes

C:\Inetpub\wwwroot\Presupuestos

Ninguno

http://Ventas/Presupuestos

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 41 of 47

C:\Inetpub\wwwroot\EstadoPedidos Ninguno

http://Ventas/EstadoPedidos

D:\Mrcdtcn\PR

PR

http://Ventas/PR

Los directorios virtuales y los fsicos (directorios sin alias) aparecen en el complemento Servicios de Internet Information Server. Un directorio virtual viene indicado por un icono de carpeta con una flecha como las de los accesos directos en la esquina inferior izquierda. Mira esta imagen que siguiente muestra el sitio Web del ejemplo anterior, /Clientes y /PR son directorios virtuales:

En un sitio Web simple, puede que no necesitemos aadir directorios virtuales. Basta con colocar todos los archivos en el directorio particular (directorio principal) del sitio. Si tienes un sitio complejo o quieres especificar diferentes direcciones URL para distintas partes del sitio, puedes agregar tantos directorios virtuales como necesites. En cualquier caso es un tema interesante. A menudo nos encontraremos con que instalamos una utilidad para nuestra Intranet y la documentacin la instala directamente en un directorio virtual, de esta forma est mas fcil y accesible que un fichero .htm tradicional.

6.2 Crear directorios virtuales


Si nuestro sitio Web contiene archivos que se encuentran en un directorio diferente del directorio particular o en otros equipos, debemos crear directorios virtuales para incluir esos archivos en el sitio Web. Para utilizar un directorio de otro equipo, debemos especificar su nombre segn la nomenclatura universal (UNC) e indicar un nombre de usuario y una contrasea para los permisos de acceso. Para crear un directorio virtual
1. En la consola administrativa, seleccionamos el sitio Web o FTP al que deseamos agregar un directorio. 2. Hacemos clic con el botn derecho y seleccionamos "Agregar directorio virtual" 3. Utilizamos el Asistente para crear un directorio virtual para completar esta tarea.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 42 of 47

A continuacin nos muestra esta sencilla pantalla de configuracin:

Donde nos pregunta preguntando por el alias que tendr el sitio Web, es decir el nombre que escribiremos en el navegador: http://servidor/alias. Y lo asociaremos con una ruta fsica del disco duro, seleccionamos un directorio o ruta. Si queremos poner unos credenciales para identificarse en esta carpeta los indicaremos en "Conectar como".
Nota Si utilizas NTFS, tambin puede crear un directorio virtual si haces clic con el botn derecho del ratn en un directorio en el Explorador de Windows, hace clic en Compartir y, despus, selecciona la hoja de propiedades Uso compartido de Web.

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 43 of 47

7. IIS + FrontPage o SharePoint Designer


Slo como curiosidad veremos como conectar nuestro editor de pginas web, por ejemplo FrontPage, con el servidor IIS7. Para conectarlos tendremos que instalar un componente que antes estaba por defecto y que se llama "Extensiones de servidor". Podemos acceder a este programa pulsando aqu. Lo ejecutamos...

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 44 of 47

Como ves es mas un pantalla informativa, solo nos dejara la de indexar contenidos para las bsquedas con FrontPage. Sigamos hasta que termine la instalacin.

Lo que ha hecho es aadirnos una nueva aplicacin en nuestro IIS7:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 45 of 47

Recuerda que FrontPage dej de venderse y que ahora se llama "SharePoint Designer", pero bsicamente sigue siendo el mismo programa. Ahora podemos utilizar ya FrontPage con este servidor que nos permitir realizar las funciones mas importantes...

7.1 Abrir sitios web


Para abrir un web simplemente seleccionaremos la opcin de abrir web. Si escribimos http://servidor abriremos el web raz del servidor IIS. Para abrir otros webs haremos la misma operacin pero escribiendo la ruta correcta: http://servidor/miweb

7.2 Crear sitios web


1. En Microsoft FrontPage, en el men Archivo, seleccionamos Nuevo y, a continuacin Web. 2. En el panel de tareas Nueva pgina o Web, en Nuevo a partir de una plantilla, haga clic en Plantillas de sitio Web. 3. Hacemos clic en Web de una pgina y, a continuacin, en el cuadro Especificar la ubicacin del nuevo sitio Web, escriba la direccin URL del sitio Web. La direccin URL la escribiremos con el formato http://servidor/miweb

Nota Si te aparece este mensaje al intentar abrir el sitio web:

Debes habilitar la autenticacin de Windows en el sitio web, vete al sitio web y en las configuraciones de IIS, selecciona:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 46 of 47

Y habilitas la seguridad de Windows.

Si la versin de FrontPage que tienes es la 2003 nos aparecer a la derecha una lista de opciones para realizar, seleccionaremos "crear Web de una pgina" y nos aparecer una pantalla:

Hacemos clic en Aceptar y FrontPage crear el sitio Web en el servidor:

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Page 47 of 47

Para comprobar que los parmetros de ejecucin de comandos estn activos pulsamos con el botn derecho en la raz del Web:

En este caso tambin est activa la opcin de Permitir el examen de directorios opcin no recomendable pero que en desarrollo es til mientras se construyen las pginas con los hipervnculos

file://C:\Documents and Settings\joserm\Mis documentos\cursos\2012\asp.net\Web_o... 20/10/2011

Você também pode gostar