Este artículo te ayudará a configurar tu IIS

24
Este artículo te ayudará a configurar tu IIS (Internet Information Server). Instalación de IIS Lista de comprobación de software Microsoft Manager Console (MMC) Revisado los puntos anteriores, veamos los puntos y conceptos más relevantes en la configuración de IIS. Los puntos anteriores están tratados enhttp://www.emans.com/ , en la opción de menú "esta Web" Una vez que tengamos instalado IIS, para ejecutar el administrador de Servicios de Internet Information Server, lo podemos hacer de varias formas: MMC (Microsoft Management Console) Herramientas administrativas : Servicios de Internet Information Server. Ejecutando InetMGR.exe : lo podemos encontrar en %systemroot%/system32/inetsrv. En cualquiera de los casos y dependiendo de la versión del Windows que estemos utilizando, tendríamos que tener una pantalla similar a la siguiente; [ IMAGEN 1 ] Antes proceder a explorar las opciones de configuración disponibles bajo IIS, debemos entender unos cuantos conceptos, incluyendo la jerarquía de las siguientes unidades configurables de IIS: El servidor Web, los sitios Web, los directorios iniciales, los directorios virtuales y las aplicaciones. El servidor Web : Es el nivel superior de nuestra jerarquía, y puede potencialmente contener múltiples sitios Web en un solo ordenador, lo podemos ver representado en la imagen superior.

Transcript of Este artículo te ayudará a configurar tu IIS

Page 1: Este artículo te ayudará a configurar tu IIS

Este artículo te ayudará a configurar tu IIS (Internet Information Server).

Instalación de IIS Lista de comprobación de software Microsoft Manager Console (MMC)

Revisado los puntos anteriores, veamos los puntos y conceptos más relevantes en la configuración de IIS.Los puntos anteriores están tratados enhttp://www.emans.com/, en la opción de menú "esta Web"

Una vez que tengamos instalado IIS, para ejecutar el administrador de Servicios de Internet Information Server, lo podemos hacer de varias formas:

MMC (Microsoft Management Console) Herramientas administrativas : Servicios de Internet Information Server. Ejecutando InetMGR.exe : lo podemos encontrar en %systemroot%/system32/inetsrv.

En cualquiera de los casos y dependiendo de la versión del Windows que estemos utilizando, tendríamos que tener una pantalla similar a la siguiente;

[ IMAGEN 1 ]

Antes proceder a explorar las opciones de configuración disponibles bajo IIS, debemos entender unos cuantos conceptos, incluyendo la jerarquía de las siguientes unidades configurables de IIS: El servidor Web, los sitios Web, los directorios iniciales, los directorios virtuales y las aplicaciones.

El servidor Web :

Es el nivel superior de nuestra jerarquía, y puede potencialmente contener múltiples sitios Web en un solo ordenador, lo podemos ver representado en la imagen superior.

Nota : Si trabajamos con Windows 2000 Server o superior, tendremos la posibilidad de crear más de un sitio Web, en la versión profesional solamente se puede administrar (crear) un sitio Web.

Sitios Web:

Page 2: Este artículo te ayudará a configurar tu IIS

Cuando realizamos la instalación de IIS, se crea automáticamente dos sitios Web en el ordenador: el sitio predeterminado y el sitio de Web de administración.

La mayor parte de las solicitudes HTTP se manejan  en el sitio predeterminado. El sitio de administración está en escucha para aceptar conexiones de exploradores pero en un puerto TCP no estándar (Protocolo de Control de Transmisión), es decir uno distinto al 80. El único propósito del sitio de administración es proporcionar capacidades de administración remotas sobre el protocolo HTTP.

Volviendo a la jerarquía, nuestro nivel superior decíamos que es el Servidor Web, que a su vez puede contener sitios Web en un solo ordenador, esta configuración tendríamos que hacerlo escuchando diferentes puertos y/o direcciones IP distintas, es lo haríamos con más de una tarjeta de red.

A su vez cada sitio Web puede contener muchos directorios y aplicaciones virtuales. Cada sitio individual puede tener sus propias propiedades distintas, como estructuras de directorios, documentos predeterminados, guiones, etc.

El directorio Inicial:

Cada sitio Web en un ordenador debe tener uno y solamente un directorio inicial.El directorio inicial es la ubicación predeterminada del sitio en el servidor y contiene la página predeterminada cuando se accede al servidor, sin preguntar por una página especifica.El origen del recurso (directorio inicial) podemos asignarlo de distintas formas:

Un directorio del equipo. Recurso compartido de otro equipo.

Redirección a una dirección URL.

El directorio Virtual:

Como es lógico, el servidor Web de IIS no pone a disposición cualquier directorio para los exploradores clientes, ya que sino tendríamos serias preocupaciones en cuestiones de seguridad.En principio se puede navegar a partir de la estructura que pueda existir del directorio inicial, si necesitamos añadir algún directorio que estuviera fuera de nuestra estructura lo haríamos por medio de un directorio virtual.También los nombres de los directorios virtuales no tienen porque ser los mismos que los nombre de los directorios físicos que se publican.Una vez que se ha creado un directorio virtual, se puede acceder por medio de una URL http://ordenador//MiDirectorioVirtual

Un directorio virtual puede contener ficheros y subdirectorios, que tienen propiedades comunes  que se aplican a los ficheros que residen dentro del mismo. Sin embargo, es posible anular los ajustes comunes para los ficheros individuales desde la ventana de propiedades de un fichero. También podemos realizar configuraciones comunes para subdirectorios dentro de una ubicación física y anular las opciones del directorio virtual.Todas estas anulaciones se realizan utilizando ajustes de propiedades para el fichero específico o directorio. De este modo IIS proporciona un abanico amplio de posibilidades para las opciones de configuración en términos de herencia y granularidad.

Aplicación:

Los directorios virtuales son lugares comunes para almacenar ficheros, como lo hacen los directorios físicos en nuestro disco duro. Sin embargo el servidor Web necesita tener otro componente para describir aplicaciones que no tengan una ubicación de fichero común. IIS utiliza otra unidad lógica llamada aplicación. Y una aplicación es una unidad lógica que potencialmente tiene varios directorios virtuales diferentes que contienen o puedan contener guiones, imágenes, ficheros html, etc. Todos los ficheros y directorios dentro de una aplicación se conectan lógicamente entre sí, se consideran todos partes de la misma aplicación.

Técnicamente es un concepto importante porque todos los guiones y las extensiones ISAPI de una aplicación comparten el mismo espacio de memoria. Esto quiere decir, que es posible pasar un puntero a una ubicación de memoria local de un componente de una aplicación a otra, compartiendo, por tanto datos entre ellos.

Page 3: Este artículo te ayudará a configurar tu IIS

Veremos las opciones de configuración por medio de MMC [imagen 1],  también puedes utilizar el explorador para realizar las configuraciones, esto se realizaría por el sitio Web de administración (esto se usa fundamentalmente para hacerlo remotamente)

Si desea hacerlo por este medio, en el explorador deberías teclear lo siguiente:http://localhost:puerto/iisadmin.asp o iis.asp debes tener iniciado el sitio Web de administrador (el puerto solamente si tienes configurado para acceder por un puerto distinto), y verás una pantalla similar a la siguiente: 

[ IMAGEN 2 ]

Page 4: Este artículo te ayudará a configurar tu IIS

Para acceder a las propiedades, pulsa el botón derecho del ratón sobre el Sitio Web (si te has creado un sitio nuevo, pulsa sobre tu nuevo sitio, si estas trabajando con Windows profesional, utilizaremos el sitio Web predeterminado) y selecciona la opción propiedades.

Esta opción nos servirá para identificar nuestro sitio Web y las demás propiedades como se pueden ver en la imagen 3, iremos explicando cada una de ellas. En el botón de avanzado  podremos colocar el Host Header Name (nombre del sitio Web) o lo que es lo mismo poner la URL, en esta opción también nos permitirá poner múltiples nombres de dominio. 

[ IMAGEN 3 ] 

Page 5: Este artículo te ayudará a configurar tu IIS

 

Descripción: Descripción de nuestro sitio Web.

Dirección IP:

Aquí establecemos la dirección IP que tenemos en el ordenador, esta es la dirección IP de nuestro servidor Web interno, si tenemos un dispositivo con una IP Pública (ej:Router) deberíamos redireccionar la IP Pública a nuestra IP Privada (IP de nuestro servidor Web, dentro de nuestra Intranet)Si no asignamos un una dirección IP específica el sitio responderá a todas las direcciones IP asignadas a ordenador y no asignadas a otros sitios, lo que lo convertiría en el sitio Web predeterminado. 

Puerto TCP:

Indicamos el puerto de escucha (es decir este será el puerto en el que se este ejecutando el servicio), por defecto y lo normal es dejar en el puerto 80, si cambiamos el puerto cuando se haga referencia al sitio Web se deberá indicar el puerto.

Puerto SSL:

Este puerto lo usamos para el cifrado Capa de Sockets Seguros (SSL) (solamente si estamos usando SSL), en este caso sería igual que el anterior puerto TCP, lo podemos cambiar, pero también se tendría que hacer referencia especifica al puerto, para poder conectar con el servidor. 

Conexiones: Establecemos el máximo de conexiones simultáneas en el sitio Web, si tenemos la Windows Profesional esta limitado a 10 conexiones.

Tiempo de espera de conexión:

Aquí debemos especificar  el tiempo en segundos que debe transcurrir antes de que el servidor desconecte a un usuario inactivo. Con esto nos aseguramos que todas las conexiones se cierren, si el protocolo HTTP no puede cerrar una conexión. 

Habilitar mantenimiento... :

Con esta opción permitimos a un cliente mantener una conexión abierta con el servidor, en lugar de volver a abrir la conexión del cliente en cada nueva petición.Debemos tener cuidado si deshabilitamos esta opción, ya que podemos bajar el rendimiento del servidor. 

Habilitar el registro : El registro de un sitio Web o FTP se realiza por módulos que funcionan

Page 6: Este artículo te ayudará a configurar tu IIS

independientemente de las demás 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.

Los registros creados por IIS se pueden leer en un editor de textos, pero normalmente, se cargan en una herramienta de software para la generación de informes. El registro ODBC tiene una sesión abierta en una base de datos y ésta se puede utilizar para generar informes. Los registros de información acerca de procesos se escriben entremezclados con registros W3C extendido normales para cada sitio Web.

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), anteriormente llamado hora del meridiano de Greenwich. Los otros formatos utilizan la hora local. Las horas mostradas en los ficheros 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.

Archivo del registro IIS de Microsoft :

El formato de Microsoft IIS es un formato ASCII fijo (no personalizable).Registra más datos que el formato común NCSA. El formato de Microsoft IIS incluye elementos básicos como la dirección IP del usuario, el nombre de usuario, la fecha y la hora de petición, el código de estado HTTP y el número de bytes recibidos. Además, incluye elementos detallados como el tiempo transcurrido, el número de bytes enviados, la acción (por ejemplo, una descarga realizada con un comando GET) y el fichero de destino. Los elementos se separan con comas, por lo que resulta más sencillo leer el formato que con los demás formatos ASCII, que utilizan espacios como separadores. La hora de registro es la local.

Archivo del registro W3C :

El formato extendido W3C es un formato ASCII personalizable con diversos campos diferentes. Podemos incluir campos que consideremos importantes y limitar al mismo tiempo el tamaño del registro al omitir los campos que no deseamos. Los campos están separados por espacios. La hora se registra como UTC (hora del meridiano de Greenwich).Para obtener más información acerca de la especificación del formato extendido W3C, consultar el sitio de W3C, http://www.w3.org/.

Archivo del registro común NCSA :

El formato común NCSA (Centro Nacional para Aplicaciones de Supercomputación) es un formato ASCII fijo (no personalizable), disponible para sitios Web, pero no para sitios FTP. Registra información básica acerca de las peticiones de usuario, como el nombre de host remoto, el nombre de usuario, la fecha, la hora, el tipo de petición, el código de estado HTTP y el número de bytes recibidos por el servidor. Los elementos están separados con espacios en blanco y la hora de registro es la local.

Registro ODBC (solo disponible en W2000

Server o superior) :

El formato registro ODBC es un un conjunto fijo de campos de datos en una base de datos compatible con ODBC, como Microsoft SQL Server | Visual FoxPro | Access.

IIS incluye un fichero de plantilla de SQL que se

Page 7: Este artículo te ayudará a configurar tu IIS

puede ejecutar en una base de datos SQL para crear una tabla que acepte entradas de registro desde IIS.El fichero se llama Logtemp.sql y está disponible en el directorio IISRoot o en %systemroot/system32/inetsrv.

El código para la creación sería algo como esto:

create ta ble inetlog(   ClientHost varchar(255),   username varchar(255),  LogTime datetime,  service varchar( 255),  machine varchar( 255),  serverip varchar( 50),  processingtime int,  bytesrecvd int,  bytessent int,  servicestatus int,  win32status int,  operation varchar( 255),  target varchar(255),  parameters varchar(255))

Estructura de los campos para la base de datos:

ClientHost varchar(255)

Username varchar(255)

LogTime datetime

Service varchar(255)

Machine varchar(255)

ServerIP varchar(255)

ProcessingTime int

BytesRecvd int

BytesSent int

ServiceStatus int

Win32Status int

Operation varchar(255)

Target varchar(255)

Parameters varchar(255)

Luego debemos crearnos el DSN para asignar la base de datos creada con la estructura mencionada, y poder realizar la correspondiente asignación dentro de dicha opción de registro

Page 8: Este artículo te ayudará a configurar tu IIS

por medio de ODBC.

 

   

Aquí especificamos las cuentas de usuarios de Windows que tienen privilegios de operador para el sitio Web. La administración se puede realizar a través de MMC, de HTML Internet Services Manage o de las interfaces de programación de administración, ya comentados brevemente anteriormente.Esta página simplemente presenta a los usuarios y grupos que tiene privilegios de operador para escribir cambios en el MetaBase, donde se almacena la información de configuración. En IIS tanto en la versión 4.0 y superiores utilizan seguridad del Sistema Operativo Windows NT para el IIS 4.0 y Windows 2000 Server o Advanced Server para IIS 5.0 y IIS 6.0 a partir del Windows 2003

Metabase: Es el espacio de almacenaje especial utilizado por IIS para guardar los ajustes de configuración. 

Page 9: Este artículo te ayudará a configurar tu IIS

[ IMAGEN 4 ]

 

Page 10: Este artículo te ayudará a configurar tu IIS

•En ajuste de rendimiento, es donde procedemos a ajustar el número de conexiones previsibles al sitio Web, debemos de tener en cuenta que establecer un número excesivo fuera de la realidad lo único que nos hará es consumir más memoria del Servidor, ya que IIS intentará ajustarse, aunque siempre es importante establecer un número de conexiones ligeramente superior al previsto, con esto obtendremos mayor rapidez en las conexiones y tendremos un aumento de rendimiento en el servidor.

•Habilitar el límite de ancho de banda, es donde podemos establecer algún límite en el ancho de banda del sitio Web. Debemos tener en cuenta que el valor del ancho de banda especificado sustituye al definido para el ordenador, incluso aunque éste sea inferior.

•Habilitar el límite de proceso, con esta opción podemos limitar el porcentaje  de procesamiento de la CPU que el sitio Web puede usar para las aplicaciones fuera de proceso.

Page 11: Este artículo te ayudará a configurar tu IIS

[ IMAGEN 5 ]

 

ISAPI (Internet Server Application Programming Interface)

En esta opción nos permite especificar filtros ISAPI, los filtros ISAPI son programas DLL especiales que se cargan en el Servidor y se encargan de notificar en puntos particulares  para cada solicitud recibida en el sitio. Es decir, el filtro ISAPI es un programa que responde a sucesos durante el procesamiento de un petición HTTP.

•Interfaz de programación de aplicación del servidor de Internet:

Las limitaciones de CGI (Interfaz de pasarela común), ha contribuido a nuevas arquitecturas para las aplicaciones en Internet, la meta del nuevo modelo de aplicación era minimizar cualquier sobrecarga de procesamiento de solicitud innecesaria, la lógica indicaba que sería cargar el código que procesa la solicitud una vez y a posteriormente volverlo a utilizar en solicitudes posteriores. Microsoft y Process Software desarrollaron conjuntamente las especificaciones que gobierna como se puede escribir una DLL para procesar las solicitudes de clientes Web: La interfaz de Programación de Aplicación de Servidor de Internet (ISAPI)

•Algunas consideraciones si queremos cargar una DLL de extensión ISAPI

Con ISAPI, se pueden crear DLL dinámicas que determinen las tareas que se deben llevar a cabo al enviar una solicitud al Servidor Web.

Las DLL ISAPI pueden ser de dos tipos: filtros y extensiones.

• Los filtros permiten escribir código que pueda recibir notificaciones del servidor Web durante el procesamiento

Page 12: Este artículo te ayudará a configurar tu IIS

de una solicitud. También podemos usar los filtros en tareas de compresión y codificación de los datos enviados o para autentificar a un usuario.• Por otra parte las extensiones ISAPI aceptan solicitudes de usuario y realizan tareas de recuperación de datos de una base de datos y de generación de páginas HTML así como del envío de respuestas al cliente.

Para que IIS pueda cargar una DLL de extensión ISAPI, debemos de exportar dos funciones obligatorias: GetExtensionVersion y HttpExtensionProc. IIS llama a la primera función una sola vez, que es cuando se carga por primera la DLL de extensión ISAPI. La segunda función es donde tiene lugar el procesamiento real de la solicitud, esta función se invoca cada vez que se recibe una solicitud.

Recordemos también, que una DLL de extensión ISAPI, es una DLL por lo tanto disfruta de todos los beneficios  de las DLL en Win32, incluyendo la habilidad para utilizar DLLMain. Cualquier DLL será libre de exportar un punto de entrada DLLMain, y esta función se invoca por el sistema cuando se carga la DLL o se se descarga por el proceso y/o se crean nuevos hilos de procesos.

Nota: Si busca información en la documentación Win32 SDK, no encontrarás DLLMain, sin embargo tendrás la función Win32 DLLEntryPoint. DLLMain es el nombre predeterminado para una función de entrada/salida de DLL utilizando Microsoft Link.

•Arquitectura de los filtros ISAPI

La solicitud de un cliente lo podemos separar en varios pasos:

• IIS lee los datos en bruto de la solicitud.• IIS procesa las cabeceras de solicitud HTTP.• IIS mapea la URL, es decir http://servidor/miDocumento.html, a un camino físico como c:inetpubwwwrootmiDocumento.html• Si es la primera solicitud, IIS autentifica al usuario.• Si se envía información POST con la solicitud, el servidor comienza a leer la información por partes.• IIS y una aplicación del servidor Web, pueden enviar las cabeceras HTTP al cliente.• El servidor envía los datos de respuesta al cliente.• El servidor envía procesamiento de la solicitud, podemos tener la sesión abierta.• El servidor escribe información en el registro (depende del sistema de acceso)• La sesión del servidor se cierra.

Nota: Si necesitamos saber los valores y estructuras referidas a filtros están definidas en el fichero de cabecera HttpFilt.h, esto está incluido en Microsoft Platform SDK y en IIS SDK, además incluido a partir de Windows NT 4 (Option Pack) (y superior), también a partir de la versión 4.2 y superiores de Microsoft Visual C++ se incluye este fichero de cabecera.

• ISAPI y HTTP en aplicaciones Web ASP.NET

Aunque seguir comentando sobre ISAPI, se escapa del tema que estamos tratando (configuración de IIS) y podríamos dedicar todo un libro, permitirme hacer un comentario breve, de como trata este tema las aplicaciones Web con ASP.NET.

En las aplicaciones Web ASP.NET, el control de bajo nivel de solicitudes clientes se consigue con ayuda del motor de ejecución HTTP. Se basa en el lenguaje CLR de la estructura .NET ydefine un entorno para el procesamiento de solicitudes. De esta forma, el lenguaje CLR sustituye a ISAPI en IIS.

El motor de ejecución HTTP tiene distintas funciones, incluyendo la recepción de solicitudes enviadas por un cliente, la resolución de la dirección URL especificada y el envío de la solicitud a la correspondiente aplicación para procesarla correctamente. El motor de ejecución HTTP puede recibir varias solicitudes al mismo tiempo, dichas aplicaciones se están ejecutando en espacios de direcciones totalmente independientes por lo que aumenta el grado de compatibilidad y con este sistema se evitan problemas con otras plataformas. Con esto podemos ver que si una aplicación Web no funciona,el motor de ejecución HTTP en su funcionamiento no se vería afectado.

Antes veíamos que con las extensiones y filtros ISAPI nos permite (a los programadores) controlar el procesamiento de solicitudes Web, lo mismo ocurre con el motor HTTP, pero la diferencia está en que con ISAPI nos exige disponer de conocimientos sobre C++, mientras que en el motor de ejecución HTTP es un modelo mucho más sencillo y nos permite utilizar cualquier lenguaje de programación .NET

Por esta razón, ASP.NET prefiere el motor CLR de la estructura .NET a la arquitectura ISAPI. 

Page 13: Este artículo te ayudará a configurar tu IIS

[ IMAGEN 6 ]

Desde esta opción, es donde procedemos a indicar donde esta nuestro sitio Web, se pueden definir el origen de tres formas, que ya la hemos comentado anteriormente en (Directorio inicial)

Si utilizamos la redirección, debemos de tener en cuenta que IIS no solo esta limitado a una simple redirección de un sitio a otro, la fuerza real viene el de poder manipular variables de servidor y comodines. 

Variable Función

$S Pasa el sufijo que concuerda de la URL original a la URL destinos

$P Pasa los parámetros de la URL original.

$Q Igual que $P, pero con el signo de interrogación.

$V Borra el nombre del servidor de la solicitud original.

•Permisos de accesos, este es un punto sencillo pero importante en la ejecución de IIS, si estamos trabajando con un directorio local desde aquí podemos controlar los permisos de lectura y escritura para el directorio.

Page 14: Este artículo te ayudará a configurar tu IIS

Nota: No confundir esta opción de permiso de escritura, con la que podamos tener para el mantenimiento de una base de datos por ejemplo en Visual FoxPro, salvo que por algún motivo especial desees escribir en el directorio y/o subDirectorios, no marques la opción de escritura.A diferencia de la opción de Lectura, que es explicativa por si misma. El permiso de escritura, es un poco más complejo, a partir de la versión 1.1 de HTTP proporciona un método PUT (es decir solamente sería válido para exploradores con el protocolo HTTP 1.1 o superior) que permite a los ficheros como por ejemplos los documentos HTML que se carguen directamente en el servidor Web, al seleccionar el permiso de escritura permitiremos a los exploradores Web cargar documentos y ficheros en dichos directorios.

•Permisos de ejecución; 

• Ninguno : Solo se puede tener acceso a ficheros estáticos, como ficheros de imagen o HTML. 

•Solo secuencias de comandos :Con esto permitimos ejecutar secuencias de comandos como puede ser el caso de comandos ASP, HTML, y código de scripting. 

•Secuencias de comandos y ejecutables :

Con esto damos acceso y posibilidad a ejecutar cualquier tipo de fichero, es decir permitimos ejecutar código scripting y programas. 

•Protección de la aplicación, aquí establecemos como se ejecutan las aplicaciones relacionado con el espacio de los servicios Web, tenemos tres niveles, bajo, medio, alto.

 

• Bajo: Las aplicaciones se ejecutan en el mismo espacio de memoria que los servicios Web, si alguna aplicación cae, cae todo el Servidor Web. 

•Medio:Procesos de aplicaciones agrupadas y aisladas de Servidor Web, es decir las aplicaciones se ejecutan en el mismo espacio, pero fuera del proceso de los servicios Web. 

•Alto:

Procesos de aplicaciones aislados, separadas unos de otras y de cualquier proceso de servicios Web, es decir cada aplicación corre en espacios separados de memoria y por supuesto también separado de los procesos de Servicios Web. 

Debemos de tener en cuenta, que lo que estamos estableciendo con el nivel de protección, es el de establecer procesos en espacios de memoria distintos o no, si una aplicación cae y estamos ejecutándola en el mismo espacio que IIS (es decir donde están corriendo los servicios Web), lo único que haríamos es hacer caer el Servidor Web, aunque IIS tenga técnicas de control para el manejo de excepciones, el riesgo es bastante alto. Cuando las aplicaciones corren en su propio espacio, se reduce el riesgo de inestabilidad de todo el sitio Web, aunque debemos tener en cuenta que dependiendo del nivel los recursos necesarios también serán más altos.

Page 15: Este artículo te ayudará a configurar tu IIS

[ IMAGEN 7 ]

Aquí establecemos los documentos que por defecto se servirá cuando se acceda al sitio Web. El orden que se establezca en dicha ventana será la que se utilice cuando se realice la petición. Es decir si tenemos default.html y default.asp, cuando en el explorador pongamos http://servidor/ se ejecutará como si hubiéramos tecleado http://servidor/default.html, en el caso que no existiera el fichero default.html se procedería a utilizar y/o buscar default.asp y así sucesivamente.

• Habilitar el píe de página del documento, si queremos anexar automáticamente un píe de página con formato HTML en todos los documentos enviados por el servidor Web, utilizamos esta opción, debemos tener en cuenta que no debe de ser un documento HTML completo, solamente debemos incluir las etiquetas necesarias para definir la apariencia. 

Page 16: Este artículo te ayudará a configurar tu IIS

[ IMAGEN 8 ]

Por medio de esta opción establecemos el nivel de seguridad de acceso a nuestro sitio Web.Como podemos ver la imagen las opciones son varias;

•Métodos de autentificación:

    • Acceso anónimo, en esta opción podemos indicar que los accesos son anónimos para ellos se utiliza la cuenta IUSR_nombreDeOrdeandor    • Acceso autentificado;

        • Autentificación básica (la contraseña se envía como texto no cifrado)

Page 17: Este artículo te ayudará a configurar tu IIS

La autenticación básica da como resultado la transmisión a través de la red de contraseñas no cifradas. Un intruso malintencionado, equipado con una herramienta para supervisar la red, podría interceptar nombres de usuarios y contraseñas.

        • Autentificación implícita para servidores de dominio Windows.        • Autentificación Windows integrada.

•Restricciones de nombre de dominio y dirección IP,con esta opción podemos evitar el acceso a nuestro sitio Web, a determinados usuarios, equipos, grupos, dominios, etc.

•Comunicaciones Seguras, Secure Commnunications nos permite administrar Certificados seguros, IIS nos proporciona un asistente para generar este tipo de certificados, que lleva encriptación de datos.No podremos usar las características de comunicaciones seguras del servidor hasta que hayamos instalado un certificado en el servidor.

•Que es un certificado, Un certificado es fichero de texto especial que esta compuesto por dos secciones; una sección de texto plano y una sección encriptada. La parte que corresponde a la sección del texto plano (puede ser leído por los usuarios) y contiene información sobre el propietario del certificado, en la segunda sección (la encriptada - no puede ser leído por los usuarios) y contiene la firma digital y una clave pública de la autoridad del certificado.

Para configurar la Capa de sockets seguros (SSL) del servidor Web, tenemos que considerar los siguiente:

    • Requerir que el usuario establezca un vínculo seguro (cifrado) para conectarse al directorio o fichero.    • Configurar las características de autentificación y asignación de certificados del cliente en el servidor Web.    • Crear y configurar listas de confianza en certificados (CTL)

Un documento de certificado tiene los siguientes campos de información:

Campo Descripción

Versión del certificado : La versión de especificación del certificado que sigue el certificado. 

Número de serie : Un número único para cada certificado firmado por la autoridad de certificado. 

Firma : Especifica el esquema de encriptación de clave pública de algoritmo de mezcla. La firma digital se agrega al final del certificado. 

Nombre del emisor : El nombre distinguido x.500 de la autoridad del certificado que firma el certificado. 

Período de validez : Las fechas de inicio, la especificación hasta cuando se considera válido. 

Nombre del sujeto :El nombre distinguido x.500 del individuo cuya clave pública está contenida en el certificado. Los nombres Distinguidos son universalmente únicos. 

Page 18: Este artículo te ayudará a configurar tu IIS

Clave pública de sujeto :

La clave pública verdadera del individuo especificado en el campo nombre de Sujeto. En la práctica este campo lleva dos claves públicas; una para intercambios de clave de sesión y la otra para firmar digitalmente los documentos. 

• Entendiendo sobre los premisos de Windows (NT|2000|2003) e IIS:

IIS (Servicios de Internet Information Server), es un servicio que se ejecuta sobre Windows, de ahí que se apoye principalmente en las cuentas de usuario de Windows y en el sistema de archivos de Windows (NTFS)

     • Cuentas de usuario:

            En Windows en su parte central de seguridad encontramos las cuentas de usuario y su extensión lógica, el grupo del usuario. Cuando instalamos IIS, se crean dos cuentas de usuario, donde se les asigna los derechos expecíficos y los pone dentro del grupo de usuario específico.

Dichas cuentas son IUSR_NombreOrdenador e IWAN_NombreOrdenador.

        • La cuenta IUSR_NombreOrdenador es usada por IIS para asegurar el acceso anónimo a los recursos de la Web.        • La cuenta IWAN_NombreOrdenador es usada por el Servidor de transacciones de Microsoft (MTS-Microsoft Transaction Server) y varias entidades de IIS para proporcionar funciones programáticas y transaccionales.

Consideraciones; sobre la cuenta IUSR_NombreOrdeandor, dicha cuenta requiere tener acceso de inicio de sesión local y configurado correctamente, esto se debe fundamentalmente a que actúa dentro de IIS, que a su vez es un servicio que actúa localmente, tal como si fuera un usuario que físicamente se conecta al servidor. Se deseamos usar cualquier otra cuenta que no sea IUSR_NombreOrdenador para accesos anónimos, debemos de seleccionar con cuidado los derechos que le asignamos.

IIS también depende de las cuentas de usuarios al proporcionar autentificación básica y Windows. Con el fin de finalizar con éxito la operación, ambos métodos requieren cuentas de usuarios válidas (que estén asignadas).

Esto porque es necesario; simple, porque IIS crea y configura la cuenta IUSR_NombreOrdenador para la autentificación anónimos, pero NO crea ninguna cuenta para autentificación básica. IIS asume que nosotros lo hemos creado o lo crearemos por medio del sistema de Windows (AD-Directorio Activo-Administración de usuarios y grupos) para ser usadas con la autentificación básica y/o integrada.

Resumiendo ni Windows ni IIS, creará estas cuentas por nosotros, sin dichas cuentas los métodos de autenticación no funcionarán.

    • Permisos Web contra el sistema de archivos de Windows NT File System (NTFS):

        IIS tiene permisos de Web como lectura y escritura.        NTFS también tiene sus propios permisos, como lectura y escritura.

Para entender la diferencia entre ambos, sería: que los permisos Web controlan qué verbos HTTP pueden ser ejecutados por recursos de HTTP. Mientras que los permisos NTFS se encargan de controlar qué cuentas de usuarios tienen acceso a los recursos del disco duro.

Consideraciones, cuales son los permisos y cuándo se están aplicando.         • Si habilitamos únicamente permisos para lectura en la Web, estamos habilitando permisos de solo lectura en NTFS?, la respuesta seríano y el porqué; esto se debe a que con los permisos de Web sólo controlamos qué verbos HTTP pueden ser usados en solicitudes de HTTP.

        • En el caso contrario, si habilitamos  permisos de sólo lectura en NTFS,estamos habilitando permisos de solo lectura en IIS?, la respuesta en este caso sería si.

         • Aunque pusiéramos los permisos de la Web para lectura y escritura, si en NTFS lo tenemos de solo lectura la solicitud de escritura en HTTP fallará.    Los permisos Mantra : Si los permisos Web y NTFS no coinciden, el permiso más restrictivo de los dos será el que se aplique a la solicitud HTTP.

Por ejemplo: supongamos que establecemos permisos Web de solo lectura y en NTFS establecemos permisos de lectura y escritura, el resultado será que un usuario Web no podrá escribir sobre el sitio Web, porque el sistema de permisos Web lo denegará. Sin embargo un cliente de nuestra red podrá escribir fácilmente (copiar ficheros, etc.), porque en este caso a NTFS no le importa lo que diga IIS.

Page 19: Este artículo te ayudará a configurar tu IIS

 

Certificado :Es un documento estandarizado que incluye una clave pública de usuario y que está firmada digitalmente por una autoridad de certificado para probar su validez.

Autoridad de certificado (CA) :

Es la autoridad central que verifica la identidad del propietario de una clave pública y, a continuación, firma digitalmente el certificado utilizado para distribuir la clave.

X.500 :Es una familia de estándares publicados por la Organización de Estándares Internacional (ISO) diseñado para identificar únicamente un directorio. X.500 se creó para promocionar el desarrollo de un directorio de página muy parecido al DNS de Internet.

Access Control List (ACL) : Es la lista de cuentas de usuarios y grupos de usuarios, con sus privilegios que están asociados con un recurso en particular.

Hashing : El proceso en el que una copia de un mensaje en texto plano es ejecutada a través de una operación matemática que resulta en un valor hash que usualmente tiene 160 bits de largo.

Certificado de servidor :

Una parte de la identificación digital para su servidor. Contiene información sobre el servidor y es "firmado" con una firma digital desde la autoridad de certificación que la emitió. También contiene una clave usada para formar una conexión SSL. Debe tener un certificado de servidor enlazado a su servidor para poder usar SSL.

Par de claves :

Un par de valores únicos que son usados para establecer una conexión SSl, encriptar información que está siendo transmitida, o ambos.En la criptografía de una clave pública existen una clave privada y una clave pública. Los mensajes que la clave privada encripta pueden sólo ser desencriptada con la clave pública, y viceversa.

Claves de sesión : Una clave encriptada creada durante el establecimiento de la conexión a SSL. Esta clave es conocida sólo para el usuario y el servidor y es usada para encriptado simétrico.

•Habilitar caducidad de contenido, esta casilla la podemos habilitar para incluir información relativa a la caducidad, incluir una fecha en los contenidos para que el tiempo sea un factor importante. El explorador compara la fecha actual con la de caducidad para determinar si debe mostrar la página almacenada en memoria caché o pedir un página actualizada al servidor.

•Encabezados personalizados, podemos personalizar un encabezado HTTP desde el Servidor Web al explorador cliente. Por ejemplo podríamos utilizar un encabezado HTTP personalizado para permitir que el explorador cliente almacenará la página en memoria caché e impedir la misma operación a los servidores proxy.

•Restricción de contenido | Clasificación de contenido, Con esta opción podemos intentar identificar contenidos posiblemente desagradable en la Web, podemos pedir restricciones de contenido de un fichero, directorio, o sitio Web, aquí establecemos el tipo de clasificación del sitio Web.

•Tipos MIME (Extensiones multipropósito de correo Internet), Estas asignaciones establecen los distintos tipos de archivos que el servicio Web devuelve a los exploradores.

Page 20: Este artículo te ayudará a configurar tu IIS

Siempre que un servidor envíe información a un cliente, debe indicar qué tipo de información está enviando. La información sobre el tipo de contenido ayuda al explorador a determinar cómo manipularla, dicha información sobre el tipo de datos que se envía desde el servidor al cliente se ubica en una cabecera deContent-Type de HTTP. El servidor tiene una base de datos (que en realidad esta almacenada en el metabase) de asociaciones de extensiones de archivo y sus tipo MIME correspondientes.

[ IMAGEN 9 ]

Normalmente IIS responde a la solicitud de un cliente con el código de estado HTTP de (200 que es ok) y la información como texto HTML. Pero cuando aparece un error, el servidor envía el código de estado HTTP correspondiente y el mensaje de error al explorador. IIS incluye un conjunto de páginas HTML preconfiguradas para muchos errores como puede ver en la imagen 10.

Page 21: Este artículo te ayudará a configurar tu IIS

[ IMAGEN 10 ]

Puedes encontrar esta información más detallada en:

En la Web de Microsoft, en la documentación en línea de IIS.En la Plataforma SDK IIS y en la Web:Platform SDK.

Temas relacionados:

    •Administración de IIS    •Códigos de ejemplos de IIS    •Diseñando aplicaciones con IIS    •RSA Security.