Microsoft Windows Server 2008 Internet Information Services 7 Joshua Sáenz G....
-
Upload
nieves-picazo -
Category
Documents
-
view
3 -
download
2
Transcript of Microsoft Windows Server 2008 Internet Information Services 7 Joshua Sáenz G....
Microsoft Windows Server 2008Internet Information Services 7
Joshua Sáenz [email protected]
Código: HOL-WIN33
Agenda• Introducción.• Consola de administración de IIS.• Administración IIS 7.0.
– Roles IIS.– Delegación Administración local.– Delegación Administración remota.
• Configuración de sitios.– Módulos.– Aplicaciones.– Sesiones– Conexiones a bases de datos.
• Securización de IIS 7.0– Autentificación.– Autorización.– Restricciones.– Configuración SSL.
• Monitorización.– Monitorización del flujo de trabajo.– Configuración de LOG.– Monitorización de peticiones fallidas.– Informes de resultados
Introducción a IIS 7
• IIS supone un cambio radical en la filosofía de servidor de aplicaciones
• Es uno de los desarrollos más completo y destacados de Windows Server 2008
• Incluye nuevas características tanto para programadores como administradores
Introducción a IIS 7
• Basado en:– La potencia y seguridad de IIS6
• Seguridad• Confiabilidad• Rendimiento
– ASP.NET 2.0• Productividad del desarrollador• Extensibilidad total de la plataforma• Poder del desarrollo en .NET
Introducción a IIS 7
• Características más destacadas:– Instalación totalmente modularizada.– Mejor integración de ASP.net e IIS– Mejor extensibilidad.– Servidor Web verdaderamente personalizable.– Descubrimiento y reparación de problemas en
minutos.– Delegación de sitios o aplicaciones en usuarios no
administradores.– Compatibilidad con aplicaciones IIS6– Nuevo esquema de configuración. (Desaparece
metabase.xml)
Consola de administración
• Uno de los cambios más significativos
• Totalmente rediseñada:– Basada en MMC 3.0– Administración basada en tareas– Fácil delegación de sitios y aplicaciones– Administración remota a través de http(s)– Extensible
Administración de IIS 7
• Roles IIS.
• Delegación Administración local.
• Delegación Administración remota.
Administración de IIS 7
• Roles de IIS 7:– Common HTTP Features– Application Development– Health and Diagnostics– Security– Performance– Management Tools– FTP Publishing Service
Administración de IIS 7
• Common HTTP Features:– Static Content– Default Document– Directory Browsing– HTTP Errors– HTTP Redirection
Administración de IIS 7
• Application Development:– ASP.Net– Net Extensibility– ASP– CGI– ISAPI Extensions– ISAPI Filters– Server Side Includes
Administración de IIS 7
• Health and Diagnostics– HTTP Logging– Logging Tools– Request Monitor– Tracing– Custom Logging– ODBC Logging
Administración de IIS 7
• Security:– Basic Authentication– Windows Authentication– Disgest Authentication– Client Certificate Mapping Authentication– IIS Client Certificate Mapping Authentication– URL Authorization– Request filtering– IP and Domain Restrictions
Administración de IIS 7• Delegación de la administración
– En IIS 7 se pueden delegar características a administradores de sitios Web o aplicaciones
– Esto permite que los administradores del servidor deleguen el control de características específicas a administradores de sitios o aplicaciones sin necesidad de dar control completo
– Existen 3 roles administrativos:• Administrador de servidor Web• Administrador de sitio Web• Administrador de aplicación Web
– Tipos de credenciales admitidas• Usuarios de Windows o de dominio• Credenciales de IIS Manager
Administración de IIS 7
• Delegación de administración local– Delegación por defecto– Delegación personalizada– Las características
delegadas son heredadas por los sitios y aplicacionesen ámbitos inferiores del árbol
– Se puede sobreescribir un valor de delegación a nivel de sitio o aplicación
Administración de IIS 7
• Delegación de administración remota– La administración remota permite conectarse
a sitios o aplicaciones directamente delegados.
– Se requiere el servicio de administración remota, el cual no se instala por defecto.
Configuración de sitios
• Módulos.
• Aplicaciones.
• Sesiones
• Conexiones a bases de datos.
• Servicios.
Configuración de sitios
• Módulos– IIS 7 se construye a partir de módulos que
procesan las solicitudes de los clientes– Se pueden cargar solo aquellos que se
necesitan– Se pueden crear componentes
personalizados• Componentes nativos (C++)• Componentes administrados (.net)
Configuración de sitios
• Arquitectura de IIS 6– Implementación
monolítica (w3core.dll)– Personalización limitada– Funcionalidades fijas– Difícil extensibilidad
de filtros ISAPI
Authentication
Basic NTLM Anon
...
DetermineHandler
...
Response Compression
Logging
HTTP Request
HTTP Response
CGI
Static File
ISAPI
Authentication
...
ExecuteHandler
...
SendResponse
HTTP Request
HTTP Response
Authorization
UpdateCache
ResolveCache
Configuración de sitios
Authentication
...
DetermineHandler
...
SendResponse
HTTP Request
HTTP Response
BasicNTLM Anon
CGI
Static File
ISAPI
Log Compression
• Arquitectura de IIS 7
• Basada en componentes– Características modulares
– Línea de ejecución genérica
• Permite– Servidores más ligeros
– Servidores personalizados y especializados
UrlAuthz
OutputCache
Forwarder
Basic40+
basicauth.dll
Configuración de sitios
• Modelo público de extensibilidad• Desarrollo de DLL
• API C++ basada en clases
• Modelo de objetos
• Permite• Extensibilidad completa
• Código más robusto y simple
Authentication
...
ExecuteHandler
...
SendResponse
HTTP Request
HTTP Response
Authorization
UpdateCache
ResolveCache
Basic
httpserv.h:
IHttpContext{ IHttpRequest IHttpResponse IHttpUser ...};
IHttpServer{ GetConfig LogEvent Recycle ... };
Configuración de sitios
• Módulos de IIS 7 frente a Filtros ISAPI y extensiones:– Más potente– API mucho más rica– Notificaciones más granulares– Más fácil de desarrollar
• Orientado a objetos con C++• Patrones simplificados
– Más fácil de administrar• Administración de características consistente• Configuración granular
21
Configuración de sitios
• ¿Qué son los Módulos?– Un módulo es un componente que
proporciona servicios de procesamiento de solicitudes independientemente del tipo de recurso solicitado
– En IIS 7 hay dos tipos de módulos:• Nativos (Desarrollados en C++. Solo se pueden
registrar a nivel de servidor. Se habilitan en cualquier nivel)
• Administrados (Desarrollados en lenguajes .net)
Configuración de sitios
• ¿Qué son los Manejadores (Handlers)?– Un manejador es un componente que está
implementado tanto de forma nativa como administrada
– Solo proporciona servicios de procesamiento para el tipo de recurso solicitado que esté mapeado en el manejador, como ASP (asp.dll), CGI
Configuración de sitios
• Registro de módulos en línea de comandos– Appcmd install module /name:string /image:string
– Appcmd install module /name:ImageCopyrightModule /image:C:\%WINDIR%\system32\inetsrv\imageCopyrightModule.dll
• Para habilitar un módulo:– Appcmd add module /name:string /app.name:string– Appcmd add module /name:ImageCopyrightModule
/app.name:”Default Web Site/”
Configuración de sitios
• Aplicaciones:– Las aplicaciones se ejecutan en el contexto
del conjunto de aplicaciones (Application Pool)
– Un conjunto deaplicaciones es un grupo de una o más URLs que están proporcionadas por un conjunto de procesos de trabajo
Configuración de sitios
• Beneficios del conjunto de aplicaciones:– Mejor rendimiento– Mejor disponibilidad– Mejor seguridad y aislamiento
• El módulo de conjunto de aplicaciones tiene dos modos– Modo integrado– Modo ISAPI
Configuración de sitios
• Para agregar una aplicación en línea de comandos– Appcmd add app /site.name:string /path:string
/physicalPath:string– Appcmd add app /site.name:contoso /path:/marketing
/physicalPath:C:\application
Configuración de sitios
• Sesiones:– IIS 7 permite el almacenamiento de
información de la sesión en los procesos de trabajo de cada conjunto de aplicaciones
– Ese modo se denomina “in-process”
– Se requiere el servicio aspnet_state.exe
– Appcmd set config /commit:WEBROOT /section:sessionState /mode:InProc
Configuración de sitios
• Sesiones:– Otro modo de control de sesión es con el uso
de cookies– La cookie asocia información de la conexión
del usuario y se pasa junto con todas las solicitudes.
– El uso de cookies es más eficiente– Appcmd set config /commit:WEBROOT /section:sessionState
/cookieless:UseCookies /cookieName:string /timeout:timespan
Configuración de sitios
• La configuración de sesiones se puede realizar en los siguientes niveles:– Servidor Web– Sitio Web– Aplicación Web– Directorios físicos y virtuales– Archivos
• Se requiere el módulo “Session”
Configuración de sitios
• Conexiones a bases de datos:– La configuración de conexiones a bases de
datos se puede realizar en los siguientes niveles:
• Servidor Web• Sitio Web• Aplicación Web• Directorios físicos y virtuales• Archivos
Configuración de sitios
• Se pueden configurar conexiones a bases de datos para uso de las aplicaciones
• Appcmd set config /commit:MACHINE /section:connectionStrings /+”[connectionString=‘string’, name=‘string’, providerName=‘string’]”
• Appcmd set config /commit:MACHINE /section:connectionStrings /+”[connectionString=‘DataSource=localhost;Integrated Security =SSPI;Initial Catalog=Northwind;‘, name=‘Northwind’, providerName=‘System.Data.SqlClient’]”
Securización de IIS 7
• Por defecto IIS 7 no se instala en Loghorn• La instalación básica solo permite el
contenido estático• En la securización intervienen los
siguientes componentes:– Autenticación.– Autorización.– Restricciones.– Configuración SSL.– Configuración WebDAV.
Securización de IIS 7
• Autenticación– AD Client Certificate– Anónima– ASP.Net impersonal– Básica– Digest– Basada en Formularios– Windows
• Se puede configurar en todos los niveles
Securización de IIS 7
• AD Client Certificate– Permite utilizar sevicios de directorio para
mapear usuarios con certificados de clientes
• Autenticación anónima:– Permite que cualquier usuario acceda al
contenido público del sitio Web
• ASP.Net impersonal:– Permite ejecutar aplicaciones asp.net en un
contexto diferente de la cuenta ASPNET
Securización de IIS 7
• Autenticación básica:– Requiere que los usuarios proporcionen sus
credenciales. Se transmiten sin cifrar y se recomienda utilizarla junto con SSL
• Autenticación Digest:– Utiliza un controlador de domínio de Windows para
autenticar usuarios. Mejora la autenticación básica
• Autenticación basada en formularios– Utiliza redirección del lado del cliente para enviar a
los usuarios a un formulario. Se recomienda utilizarlo junto con SSL
Securización de IIS 7
• Autenticación Windows:– Utiliza NTLM o Kerberos. Es la
recomendación en entornos de Intranet.
Securización de IIS 7
• Autorización– Permite definir el control de acceso a los
contenidos tienen usuarios o grupos de usuarios
– Se pueden definir verbosespecíficos
Securización de IIS 7
• Restricciones– Se pueden definir restricciones para los
módulos ISAPI (.dll) y CGI (.exe)– Las restricciones permiten habilitar o
deshabilitar el servicio de contenido dinámico– También se pueden
definir restricciones por IP o dominio
Securización de IIS 7
• Configuración de SSL– La configuración SSL permite restringir las
conexiones únicamente a un canal seguro– Se establece además el nivel de cifrado
exigido– Se requiere un
“Binding” SSL y uncertificado deservidor
Securización de IIS 7
• Machine Key– Esta característica configura las claves de
cifrado y descifrado que se utilizan para proteger los datos de las cookies en la autenticación basada en formularios
Monitorización
• IIS 7 incluye dos avances importantes en materia de diagnóstico y resolución de problemas– Captura y compilación de información de estado
en tiempo real de• Conjuntos de aplicaciones• Procesos de trabajo• Sitios• Aplicaciones• Solicitudes en ejecución
– Recolección de trazas detalladas de eventos
Monitorización
• Monitorización del flujo de trabajo (working processes)– IIS 7 permite conocer la actividad en tiempo
real de cada uno de los procesos de trabajo en ejecución
– Facilita la tarea de identificad aplicaciones con problemas y ejecutar acciones de corrección
– Se identifica el estado, consumo de CPU, consumo de memoria privada y virtual
Monitorización
• La monitorización del flujo de trabajo se realiza a nivel de servidor Web
Monitorización
• Si se identifica in proceso con un uso de recursos excesivo, se pueden visualizar las solicitudes actuales
• La información detallada consiste en:– ID de sitio– URL– Verbo– IP de cliente– Estado– Nombre del módulo– Tiempo en ejecución
Monitorización
• Configuración de Log– El logging permite
capturar la actividad deun sitio web o de sus aplicaciones
– El log de sitios Web sepuede habilitar a nivel de servidor Web o de Sitio Web
Monitorización
• Monitorización de peticiones fallidas– Una de las novedades más interesantes para
administradores y desarrolladores– Permite identificar rápidamente problemas con las
solicitudes de los clientes– IIS proporciona un log específico de la traza sin
necesidad de buscar en un log genérico– No se requiere recrear el error para poder resolverlo– Se pueden habilitar a nivel de
• Servidor Web• Sitio Web• Aplicación Web• Directorios físicos y virtuales
Monitorización
• Para habilitar las trazas por línea de comandos:– Appcmd configure trace “site” /enable /directory:string
/maxLogFiles:int
Monitorización
• Además de las trazas de solicitudes con error, IIS 7 permite crear reglas para registrar contenido específico
•
Monitorización
• Informes de resultados
TechNews de Informática 64
• Suscripción gratuita en [email protected]
Contactos
• Informática 64– http://www.informatica64.com– [email protected]– +34 91 665 99 98
• Joshua Sáenz G.– [email protected]