SERVICIO HTTP DE INTERNET INFORMATION SERVER (IIS

Anuncio
SERVICIO HTTP DE INTERNET INFORMATION SERVER (IIS)
Los servicios de Internet Information Server (a partir de ahora IIS) son una plataforma con unas
prestaciones completas, capaz de dar servicio HTTP (sitios web), FTP (transferencia de
archivos), NNTP (noticias) y SMTP (correo electrónico) a empresas, particulares,
instituciones,… y debido a su integración en los sistemas operativos Windows 2000 y XP es
relativamente fácil de configurar y de manejar.
De todos los servicios que proporciona, nos vamos a centrar en sus capacidades como
servidor World Wide Web (HTTP).
Características
La versión 5.1 de los Servicios de Internet Information Server presenta muchas características
que ayudan a los administradores Web a crear aplicaciones Web escalables y flexibles.
Seguridad
•
Autenticación de texto implícita avanzada: la autenticación de texto implícita avanzada
es compacta, permite una autenticación segura y eficaz de los usuarios a través de
servidores proxy y servidores de seguridad, no requiere software cliente adicional y
evita pasar el nombre de usuario y la contraseña en texto sin cifrar a través de Internet.
Además, la autenticación de texto implícita, anónima, básica HTTP e integrada de
Windows (anteriormente llamada autenticación de desafío/respuesta de Windows NT y
autenticación NTLM) aún están disponibles.
•
Comunicaciones seguras: Secure Sockets Layer (SSL) 3.0 y Seguridad de capa de
transporte (TLS) proporcionan una forma segura para intercambiar información entre
clientes y servidores. Además, SSL 3.0 y TLS proporcionan al servidor la forma de
comprobar quién es el cliente antes de que el usuario inicie una sesión en el servidor.
En IIS 5.1, los certificados de cliente están expuestos a ISAPI y a las páginas Active
Server, de forma que los programadores puedan efectuar el seguimiento de los
usuarios a través de los sitios. IIS 5.1 también puede asignar el certificado del cliente a
una cuenta de usuario de Windows, de forma que los administradores puedan controlar
el acceso a los recursos del sistema basado en el certificado del cliente.
•
Cifrado canalizado por servidor (SGC): es una extensión de SSL que permite a
instituciones financieras con versiones de exportación de IIS utilizar un cifrado de alto
nivel de 128 bits.
•
Asistentes para seguridad: los asistentes para seguridad simplifican las tareas de
administración del servidor.
•
Restricciones de dominio de Internet e IP: se puede conceder o denegar accesos Web
a equipos individuales, grupos de equipos o dominios enteros.
•
Almacenamiento de certificados: proporciona un único punto de entrada que le permite
almacenar, realizar copias de seguridad y configurar certificados de servidor.
•
Fortezza: el estándar de seguridad del gobierno de EE.UU., habitualmente llamado
Fortezza, es compatible con IIS 5.1. Este estándar satisface la arquitectura de
seguridad Defense Message System con un mecanismo criptográfico que proporciona
confidencialidad de mensajes, integridad, autenticación y control de acceso a
mensajes, componentes y sistemas. Estas características se pueden implementar con
el software del explorador y el servidor, y con hardware de tarjeta PCMCIA.
Administración
•
Reiniciar IIS: posibilidad de reiniciar los servicios Internet sin reiniciar el equipo.
•
Realizar copias de seguridad y restaurar la metabase: los cambios en la capacidad y
los procedimientos para realizar copias de seguridad y restaurar la metabase mejoran
la seguridad y permiten restaurar la metabase en otros equipos. La aplicación se
ejecuta en el complemento IIS.
•
Almacenamiento en caché de plantillas ASP: los cambios en Ajustes de caché de
plantillas ASP proporcionan un mayor control del almacenamiento en caché de
archivos ASP.
•
Mensajes de error personalizados mejorados: ahora los administradores pueden
enviar mensajes informativos a clientes cuando se producen errores de HTTP en los
sitios Web. También incluye capacidades de procesamiento de errores ASP detallados
a través del uso de mensaje de error personalizado 500-100.asp. Puede usar los
errores personalizados que proporciona IIS 5.1 o crear los suyos propios.
•
Opciones de configuración: puede establecer los permisos para las operaciones Web
de Lectura, Escritura, Ejecución, Secuencia de comandos y FrontPage en el nivel de
sitios, directorios o archivos.
•
Administración remota: IIS 5.1 tiene herramientas de administración basadas en Web
que permiten la administración remota del servidor desde casi cualquier explorador en
cualquier plataforma.
•
Administración centralizada: las herramientas de administración para IIS utilizan
Microsoft® Management Console (MMC). MMC aloja los programas, llamados
complementos, que los administradores utilizan para administrar los servidores.
Capacidades de programación
•
Páginas Active Server (ASP): proporciona una alternativa fácil de utilizar a CGI e ISAPI
que permite a los programadores de contenido incrustar cualquier lenguaje de
secuencias de comandos o componente del servidor en las páginas HTML. ASP
proporciona acceso a todas las peticiones HTTP y secuencias de respuesta, así como
conectividad con bases de datos basada en estándares y la capacidad para
personalizar el contenido para diferentes exploradores.
•
Nuevas características de ASP: las páginas Active Server tienen algunas
características nuevas y mejoradas para aumentar el rendimiento y simplificar las
secuencias de comandos del servidor.
•
Protección de aplicaciones: IIS 5.1 ofrece mayor protección e incrementa la
confiabilidad de las aplicaciones Web. De manera predeterminada, IIS ejecutará todas
las aplicaciones en un proceso común o agrupado que está separado de los procesos
básicos de IIS. Además, también puede aislar aplicaciones cuyas misiones sean
críticas y que deban ejecutarse fuera tanto de los procesos de núcleo de IIS como de
los agrupados.
Estándares de Internet
•
Basado en estándares: los Servicios de Internet Information Server de Microsoft 5.0 y
5.1 cumplen con el estándar de HTTP 1.1 e incluyen características como PUT y
DELETE, capacidad de personalizar mensajes de error de HTTP y compatibilidad con
encabezados HTTP personalizados.
•
Varios sitios, una sola dirección IP: gracias a la compatibilidad con encabezados de
host, puede alojar varios sitios Web en un solo equipo en el que se ejecute Microsoft
Windows 2000 Server con una única dirección IP. Esto es útil para los proveedores de
servicios Internet y las intranets corporativas que alojan varios sitios.
•
Sistema distribuido de creación y control de versiones Web (WebDAV): permite a los
usuarios remotos crear, mover o eliminar archivos, propiedades de archivos, directorios
y propiedades de directorios en el servidor a través de una conexión HTTP.
•
Noticias y correo: puede utilizar los servicios SMTP y NNTP para configurar el correo y
los servicios de noticias en intranet que funcionan junto con IIS.
•
Restricciones PICS: puede aplicar las restricciones PICS (Platform for Internet Content
Selection, Plataforma para la selección del contenido de Internet) a los sitios que tienen
contenido para adultos.
•
Reiniciar FTP: ahora las descargas de archivos de Protocolo de transferencia de
archivos se pueden reanudar sin tener que descargar todo el archivo de nuevo cuando
se produce una interrupción durante la transferencia de datos.
•
Compresión HTTP: proporciona transmisiones más rápidas de páginas entre el servidor
Web y los clientes que admiten la compresión. Comprime y almacena en caché los
archivos estáticos y realiza una compresión a petición de los archivos generados
dinámicamente.
Instalación
Para instalar el servicio HTTP de IIS hay que ir al Panel de Control dentro del menú Inicio y
hacer clic en Agregar o quitar componentes de Windows. En la lista de componentes se debe
seleccionar Servicios de Internet Information Server (IIS), tal como se muestra a continuación.
Por defecto, al seleccionar esta opción se instalarán todos los componentes de los IIS,
incluyendo soporte para HTTP, FTP, NNTP y SMTP. Como nosotros sólo deseamos instalar
HTTP, haremos clic en Detalles… tras seleccionar Servicios de Internet Information Server
(IIS), con lo que veremos la siguiente ventana:
Podemos ver en detalle las opciones:
•
Archivos comunes: archivos necesarios para los componentes de IIS.
•
Complemento de servicios de Internet Information Server: sirve para administrar el IIS.
•
Documentación: documentación necesaria para profundizar en el funcionamiento del
IIS.
•
Extensiones de servidor de Frontpage2000: estas extensiones permiten que nuestro
servidor pueda incluir formularios, contadores, etc.
•
Servicio de protocolo de transferencia de archivos (FTP): solo necesario si queremos
un servidor FTP.
•
Servicio SMTP: Simple Mail Transfer Protocol (SMTP), nos permite montar un servicio
de mail dentro de nuestra intranet. Por razones de seguridad les recomiendo que esta
opción esté desactivada.
•
Servicio World Wide Web: necesario para poder montar nuestro servidor de paginas
web.
Seleccionaremos las mismas casillas que en la figura anterior: Archivos comunes,
Complemento de servicios de Internet Information Server, Documentación y Servicio World
Wide Web. Tras pulsar Aceptar y Siguiente, comenzará la instalación.
Administración de sitios web
La administración de sitios web se lleva a cabo mediante el Administrador de Servicios de
Internet MMC (Microsoft Management Console). Para acceder a este Administrador
seleccionaremos Inicio, Panel de control, Herramientas administrativas, Servicios de Internet
Information Server. Tiene un aspecto similar al de la siguiente figura:
Vemos que la ventana tiene dos paneles (izquierdo y derecho), en la izquierda seleccionamos
una opción del árbol y en la derecha veremos los detalles de la selección.
En la imagen podemos ver en la parte de la derecha el nombre del equipo en el que hemos
instalado el servidor WEB, en nuestro caso se llama "FREAKY", luego vemos si es un equipo
local y la versión del Internet Information Server que estamos usando.
Por defecto el nombre de nuestro sitio WEB es "Sitio Web Predeterminado" podremos cambiar
el nombre en cualquier momento (lo he cambiado por Mi página web), simplemente pinchamos
dos veces en "Sitio Web predeterminado" y podremos modificarlo. Los archivos para nuestra
página web se van a colocar en el directorio C:\Inetpub\wwwroot\.
Ahora veremos algunas de las opciones más generales para poder montar un servidor de
páginas WEB. Hacemos clic con el botón derecho sobre "Sitio Web Predeterminado" y
seleccionamos "Propiedades". La siguiente ventana se nos muestra, veremos cuáles son las
opciones más relevantes de cara al buen funcionamiento de nuestro servidor HTTP:
Sitio Web
Veamos las opciones generales que podemos modificar:
•
Descripción: podremos poner una breve descripción de nuestro sitio web.
•
Dirección IP: aquí colocaremos la dirección IP del ordenador que hará de servidor
WEB, esta IP corresponderá a la IP local, es decir, la IP de la red local y no será la que
usamos para entrar a internet, por ejemplo: http://192.168.1.33. Si tenemos registrado
un nombre de dominio podríamos hacer clic en Avanzadas y podríamos introducirlo en
el campo Nombre de encabezado Host.
•
Puerto TCP: el puerto que queremos que sea el que responda a las peticiones de los
visitantes, por norma el puerto a usar para paginas web es el 80. Si dispone de router,
se debe comprobar que dicho puerto se encuentra abierto.
•
Tiempo de espera de la conexión: establece el intervalo de tiempo en segundos que va
a esperar el servidor antes de desconectar a un usuario inactivo. De esta forma se
asegura que todas las conexiones se cierran si el protocolo HTTP no puede cerrar una
conexión.
•
Habilitar el mantenimiento de conexiones HTTP abiertas: permite a un cliente mantener
abierta la conexión con el servidor, en lugar de volver a abrir la conexión del cliente en
cada nueva petición. El mantenimiento de conexiones abiertas está habilitado de forma
predeterminada; si se deshabilita, es posible que se degrade el rendimiento del
servidor. (HTTP 1.1)
•
Habilitar registro: esta opción se utiliza para habilitar las características de registro del
sitio Web, que permiten registrar información detallada acerca de la actividad de los
usuarios y crear registros en el formato elegido. Después de habilitar el registro,
seleccione un formato en la lista Formato de registro activo:
o
Formato de archivo del registro IIS de Microsoft: formato ASCII fijo.
o
Registro ODBC: formato fijo registrado en una base de datos (sólo disponible
en Windows 2000 Server).
o
Formato de archivo del registro extendido W3C: formato ASCII personalizable,
seleccionado de manera predeterminada. Para usar información de procesos
se debe seleccionar este formato. Haciendo clic en propiedades se muestra la
ventana siguiente en la que elegiremos el formato que deseamos para nuestro
archivo de registro, útil para sacar estadísticas (ver las propiedades
extendidas).
Directorio particular
La siguiente pestaña relevante de la hoja de propiedades del sitio web, es Directorio particular,
que podemos ver en la siguiente figura:
Este grupo de ajustes permite controlar dónde buscará los IIS el contenido web y qué permisos
de seguridad usará al manejarlo.
Lo primero que hemos de elegir es dónde estará localizado en directorio de nuestro sitio web:
•
Un directorio particular de este equipo: aquí especificamos el directorio que contendrá
nuestra página web en el ordenador.
•
Un recurso compartido de otro equipo: podremos seleccionar un recurso compartido
que se encuentre dentro de nuestra red y que será el que contendrá nuestra página
web.
•
Un redirección a una dirección URL: con este método podremos redireccionar a otro
sitio las peticiones que se haga a nuestra web.
Después elegiremos la ruta de acceso, en nuestro caso dejaremos la configuración por defecto,
con lo que tendremos que indicar en Ruta de acceso local (disponible solo con la opción de "Un
directorio particular de este equipo”), el directorio que viene.
Luego podremos dar los permisos que queramos para mantener la seguridad en nuestro sitio:
•
Acceso al código fuente de secuencias de comandos: esta opción es usa para permitir
que los usuarios tengan acceso al código fuente si disponen de los permisos de
escritura o de lectura. El código fuente incluye las secuencias de comandos en
aplicaciones ASP.
•
Lectura: mediante esta opción se permite que los usuarios lean o descarguen archivos
o directorios y sus propiedades asociadas.
•
Escritura: esta opción se selecciona para permitir que los usuarios carguen archivos y
sus propiedades asociadas en un directorio con este permiso del servidor o para
cambiar el contenido de un archivo con este permiso. La escritura sólo se puede
realizar con un explorador que admita la característica PUT del estándar de protocolo
HTTP 1.1.
•
Examinar directorios: esta opción se usa para permitir que el usuario vea una lista con
formato de hipertexto de los archivos y subdirectorios de este directorio virtual. Los
directorios virtuales no aparecen en las listas de directorios. Los usuarios deben
conocer su alias.
•
Registrar visitas: Seleccione esta opción para registrar las visitas de este directorio en
un archivo de registro. Las visitas sólo se registran si está habilitado el registro para
este sitio Web.
•
Indizar este recurso: Seleccione esta opción para que Servicios de Microsoft Index
Server incluya este directorio en un índice de texto del sitio Web.
Documentos
Continuando con la configuración de nuestro sitio Web, la siguiente pestaña de configuración
en la hoja de propiedades es la pestaña documentos, que se muestra a continuación.
Cuando los usuarios intentan conectarse con el servidor web sin especificar un documento en
concreto, los IIS buscarán en la lista de documentos por defecto (en caso de estar activada)
para devolverlo al usuario.
Si queremos que todas las páginas de nuestro sitio se envíen con un pie de página común
(como por ejemplo, un copyright) se puede configurar mediante esta ventana. Deberíamos
crear un archivo HTML que contenga por ejemplo <h2>Pie de página © ESI </h2> y
colocarlo en Habilitar pie de página del documento.
Seguridad de directorios
La siguiente sección de las fichas de propiedades es Seguridad de directorios, que nos permite
controlar quién accede a nuestro sitio web en función de la autentificación, direcciones de
clientes IP o configuración ACL en archivos, y da la posibilidad de proteger las comunicaciones
cuando los clientes se conectan al sitio. Tiene este aspecto:
El primer método de proteger un sitio web es definiendo un método de autenticación para
validar a los usuarios. Como los navegadores por defecto, intentarán acceder a los sitios de
forma anónima, una opción disponible es eliminar el acceso anónimo al web. Hacer clic en el
botón Modificar dentro de control de autenticación y acceso anónimo, se muestra entonces la
siguiente ventana:
Para permitir que cualquier usuario pueda acceder al sitio, se debe mantener activada la casilla
Acceso anónimo, de lo contrario, el sitio estará protegido, y será precisa una identificación del
usuario antes de que se permita una conexión incluso a la página de inicio. Si seleccionamos el
acceso anónimo, debemos especificar un usuario de la máquina pulsando sobre Examinar. En
caso de eliminar el acceso anónimo hemos de especificar alguna opción de autenticación,
puesto que si no habremos deshabilitado por completo cualquier forma de acceso al sitio.
Las opciones que se encuentran debajo de Acceso autenticado controlan el nivel de
identificación que los usuarios deben sortear para llegar a conectarse al sitio protegido. Existen
tres tipos de autenticación, cabe reseñar que debe haber una cuenta de usuario en el equipo
para que la autenticación funcione:
•
Autenticación básica: es el más básico y mediante este método la contraseña se envía
sin cifrar, por lo que cualquier software espía de contraseñas podría capturarla.
•
Autenticación de texto implícita dirigida a servidores de dominio de Windows: en vez de
transmitir la contraseña en modo texto, aplica una función de hash y lo transmite,
manteniendo así la confidencialidad de las contraseñas. En este caso existen varias
restricciones como que el cliente debe ser Internet Explorer 5 o superior y la
contraseña debe estar en el directorio sin codificar. Es el más seguro.
•
Autenticación de Windows integrada: es un método seguro de autenticación, ya que no
se envía a través de la red el nombre de usuario ni la contraseña. Al habilitar la
autenticación de Windows integrada, el explorador del usuario demuestra que conoce
la contraseña mediante un intercambio criptográfico con el servidor Web, en el que
interviene el hashing. El cliente debe ser también Internet Explorer, a partir de la
versión 2.
Una vez comentados lo métodos de autenticación, hemos de ver que también podemos “filtrar”
el acceso al web dependiendo de la dirección IP, de un rango de direcciones IP o de un
nombre de dominio.
Copias de seguridad de la configuración
Una de las grandes ventajas de IIS (para algunos administradores) es su configuración gráfica,
debido a su interfaz intuitiva y de fácil uso. Pero no sería práctico, sino pudiéramos salvar la
información de configuración para poder restaurarla después.
Aunque lo mejor es un fichero de configuración tipo texto, donde poder ir modificando variables
y así tener una copia del mismo (ver Apache), no hay que alarmarse debido a que IIS no
ofrezca esta característica ya que si que soporta salvar la configuración en un formato propio
de Windows para posteriormente restaurarla de forma sencilla.
Los pasos a realizar para hacer una copia de seguridad de la configuración actual serían los
siguientes:
•
En el complemento, Administración de servicios de Internet, se selecciona el icono del
equipo para resaltarlo en el panel izquierdo.
•
En el menú Acción, elija la opción Realizar o restaurar copia de seguridad de la
configuración.
•
Hacer clic en el botón Realizar copia de seguridad, que mostrará un cuadro de diálogo
Realizar copia de seguridad que le permitirá definir el archivo de copia de seguridad.
De forma predeterminada, el archivo de copia de seguridad se almacena en el directorio
c:\winnt\system32\inetsrv\Metaback
Encabezados HTTP
El penúltimo grupo de configuraciones que se puede controlar se refiere a los encabezados
que los servicios IIS incluirán en las páginas HTML que se transmiten. Estos parámetros se
ajustan en la ventana siguiente:
Los encabezados HTTP permiten encontrar varios elementos que el servidor web transmitirá a
los navegadores web, junto con las páginas HTML del web. Los componentes principales que a
los buenos administradores de sitios web les interesa controlar son la caducidad de contenidos,
la restricción de contenidos y los tipos de archivos MIME. Pueden incluso añadirse
encabezados personalizados.
•
Habilitar caducidad de contenido: se utiliza con el fin de incluir información de
caducidad para material dependiente del tiempo, como las ofertas especiales o los
anuncios de eventos. El explorador comparará la fecha actual con la fecha de
caducidad para determinar si va presentar una página almacenada en memoria caché
o si va a solicitar una página actualizada del servidor.
•
Encabezados HTTP personalizados: se puede utilizar los encabezados HTTP
personalizados para enviar un encabezado HTTP personalizado desde el servidor Web
al explorador del equipo cliente. Se pueden usar los encabezados personalizados para
enviar instrucciones que no están admitidas todavía en la especificación HTTP actual,
como los encabezados HTTP más recientes que IIS puede no admitir inherentemente
en el momento de lanzamiento del producto.
•
Clasificación de contenido: las restricciones de contenido se usan para incrustar
etiquetas descriptivas en los encabezados HTTP de las páginas Web. Algunos
exploradores Web, como Microsoft Internet Explorer 3.0 o posterior, pueden detectar
estas restricciones de contenido con el fin de ayudar a los usuarios a identificar el
contenido Web potencialmente ofensivo.
•
Asignación MIME: Las asignaciones MIME establecen los distintos tipos de archivo que
el servicio Web devuelve a los exploradores.
Errores personalizados
Cuando se configura un servidor web y sus sitios web, habrá ocasiones en las que quiera
controlar cómo y qué se muestra a los usuarios que reciben un error. Por ejemplo, podemos
tener una página HTML personalizada que muestre cuando un usuario ha llegado a un error
404 (página no encontrada). Para esto, hacemos clic en la pestaña de errores personalizados y
se muestra esta ventana:
Podemos escoger el error HTTP y hacer clic en él, con lo que se mostrará una ventana
indicativa de cuando sucederá ese error. Por ejemplo, vemos el error 400 (solicitud incorrecta):
Directorios virtuales
A medida que crecen los sitios Web, existe una necesidad de organizar los niveles de
contenido en el subdirectorio fuera de la raíz principal del sitio. Al igual que en un disco duro de
un ordenador, puede haber momentos en que existan muchos archivos que haya que
administrar en un único directorio, por lo que es necesario el uso de subdirectorios. Existen dos
formas de hacer esto en un sitio web. La primera es crear un subdirectorio en el directorio raíz
del sitio web. Por ejemplo, si se tiene la raíz en C:\Inetpub\wwwroot al que se accede mediante
www.nombredelaempresa.com
y
decidimos
crear
un
subdirectorio
llamado
C:\Inetpub\wwwroot\imagenes,
accederemos
a
dicho
directorio
mediante
www.nombredelaempresa.com/imagenes.
El segundo método es mediante la definición de raíces virtuales. Una raíz virtual es un medio
para definir un subdirectorio fuera de la raíz de nuestro sitio web (e incluso un nivel inferior de
dicho web). Veamos la siguiente figura, que aclarará un poco el concepto de directorio virtual:
Lado del servidor
Lado del cliente
\Inetpub\wwwroot
http://www.nombredelaempresa.com
\monitor
http://www.nombredelaempresa.com/monitor
C
D
Windows con IIS
Tenemos un servidor web con dos discos duros (C y D) con la raíz del sitio en
C.\Inetpub\wwwroot, con lo que accederemos con un cliente desde la dirección
http://www.nombredelaempresa.com. Si definimos un directorio virtual en el disco D en la
ubicación D:\monitor, podremos acceder (creando el alias oportuno) mediante la dirección
http://www.nombredelaempresa.com/monitor.
Creación de un directorio virtual
Para crear un directorio virtual volvemos al MMC, resaltamos el sitio web donde vamos crear el
directorio virtual y hacemos clic en Acción, Nuevo, Directorio virtual, con lo que aparecerá un
asistente que nos guiará en el proceso. El primer paso es el que se muestra a continuación.
Tras crear el correspondiente directorio en nuestro equipo, por ejemplo C:\virtual, escribiremos
en el campo de texto, por ejemplo, virtual. Al hacer clic en siguiente, se nos mostrará la
ventana en la que debemos escribir la ruta donde se encuentra dicho alias. Podemos bien
crear un alias en nuestro equipo o en una ruta de internet, para lo que colocaríamos aquí una
dirección válida.
El siguiente diálogo nos solicita las credenciales de usuario, es decir, los permisos de acceso al
directorio virtual.
Una vez que hayamos introducido toda la información necesaria, debemos tener un nuevo
directorio virtual listado en el sitio web que responderá en consecuencia iniciando el navegador
y escribiendo http://localhost/virtual. (Ojo con los permisos). El tratamiento de un directorio
virtual es exactamente el mismo que como se haría para un sitio web, editando la hoja de
propiedades del directorio. Concretamente, podemos editar: Directorio virtual, Documentos,
Seguridad de directorios, Encabezados HTTP y Errores personalizados.
Descargar