La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Windows Server 2003 Internet Information Services 6.0 Javier Pereña Peñaranda Código: HOL-WIN03.

Presentaciones similares


Presentación del tema: "Windows Server 2003 Internet Information Services 6.0 Javier Pereña Peñaranda Código: HOL-WIN03."— Transcripción de la presentación:

1 Windows Server 2003 Internet Information Services 6.0 Javier Pereña Peñaranda Código: HOL-WIN03

2 Agenda Arquitectura de IIS 6.0 Opciones de implantación Web Server –Creación y mantenimiento de múltiples sitios Web –Gestión de Conjuntos de Aplicaciones (Application Pools) –Gestión de extensiones y filtros ISAPI –Optimización del rendimiento –Garantizar la disponibilidad de las aplicaciones –Asegurando aplicaciones –Cuentas de servicios FTP Server –Creación y mantenimiento de múltiples sitios FTP –Permisos y opciones de seguridad –Vinculación entre sitios Web y FTP

3 Agenda Implantación de Certificados digitales Estrategia de copias de seguridad de IIS Gestión de la metabase Análisis de logs Gestión remota de IIS 6.0

4 Agenda Implantación de Certificados digitales Estrategia de copias de seguridad de IIS Herramientas del Kit de recursos de IIS 6.0 Gestión de la metabase con Metabase Explorer Análisis Resolución de errores con WFetch Análisis de logs Gestión remota de IIS 6.0

5 Internet Information Services 6.0 ¿Qué es? Proporciona a Windows... –Un servidor de aplicaciones Web –Un servidor de FTP –Un servidor de news (NNTP) –Un servidor de SMTP Da soporte a aplicaciones Web: –Active Server Pages (.asp) –ASP.NET (.aspx) –… Esto último es uno de sus factores de éxito

6 Internet Information Services 6.0 ¿Qué ha cambiado? IIS 6.0 no es simplemente una nueva versión Prácticamente se ha rehecho Cambios –en la arquitectura Aislamiento de Worker Process Kernel-Mode Queuing –en el almacenamiento de la metabase –en la consola de administración –en el servicio de FTP

7 Internet Information Services 6.0 Nueva arquitectura HTTP.SYS: proceso en modo kernel (núcleo); recibe y encamina peticiones http WAS: proceso de configuración y gestión (WAS = Web Administration Service) W3WP.exe: entorno de ejecución para aplicaciones web (WP=Worker Process) Nuevo esquema de aislamiento de aplicaciones Soporte para múltiples procesos WP web app WAS W3WP.exe HTTP.SYS kernel W3WP.exe W3WP.exe

8 Internet Information Services 6.0 Proceso de peticiones en el kernel: HTTP.sys Cache Motor HTTP NamespaceMapper Cola Peticiones Envío Respuesta Petición Worker Process HTTP.sys HSE_REQ_ENABLE_CACHE Cola Peticiones Respuesta

9 Internet Information Services 6.0 Fiabilidad: la arquitectura Aislamiento total de procesos –uno o más procesos en comunicación directa con el kernel –Independiente de otros procesos Application Pools –Agrupan sites y aplicaciones –Una cola de peticiones por Application Pool –Web Gardens –Colas gestionadas en modo kernel HTTP.sys WAS Worker Process Filtro ISAPI Extensión ISAPI Worker Process Filtro ISAPI Extensión ISAPI Application Pool

10 Internet Information Services 6.0 Application Pools Podemos tener uno o más –Cada uno servido por uno o más W3WP.exe –Cada W3WP.exe solo sirve un pool –Peticiones redirigidas al pool por HTTP.sys Podemos aislar las aplicaciones Web basándonos: –En sitio/cliente –En la funcionalidad –En la fiabilidad

11 Reciclado de aplicaciones Cambios en la Arquitectura Objetivo: Lograr el completo aislamiento entre núcleo del servidor Web y las aplicaciones Web La funcionalidad en INETINFO se divide: –HTTP.sys: escucha las peticiones en modo kernel y las enruta –W3SVC: configuración y gestión de procesos –W3Core: donde se ejecutan las aplicaciones Web Varias dlls W3Core se cargan dentro de procesos W3WP.exe Dos modelos de procesos –Modo de aislamiento de Worker Processes –Modo de aislamiento de IIS 5.0

12 Internet Information Services 6.0 Reciclado periódico de los procesos Qué es –Reiniciamos las aplicaciones Web basándonos en: El tiempo que llevan funcionando El número de peticiones En un calendario En el consumo de memoria Bajo demanda Porqué usarlo –Prevenir que aplicaciones defectuosas afecten al sistema –Refrescar las aplicaciones para aumentar la disponibilidad

13 Internet Information Services 6.0 Arquitectura con autorecuperación Qué es –Diseñada para detectar bloqueos de threads dentro de W3WP.exe Cómo funciona –W3SVC consulta cada W3WP.exe (pinging) –El proceso tiene un tiempo para responder –Si no responde en ese tiempo: Matar el proceso, publicar un evento y lanzar uno nuevo (por defecto) IIS puede ser configurado para realizar una acción sobre el proceso

14 Internet Information Services 6.0 Detección de fallos y recuperación Detección de fallos –W3SVC detecta casques en W3WP.exe –W3SVC lanzará un nuevo W3WP.exe si es necesario –Las peticiones son encoladas por HTTP.sys mientras se crea el nuevo W3WP –Resultado: no existe interrupción en el servicio Protección –Solo se permiten x fallos en y minutos –El pool será detenido si se superan estos valores (error 503 para las peticiones)

15 Internet Information Services 6.0 Fiabilidad: gestión de procesos HTTP.SYSHTTP.SYS WebAdminService WAS) (WAS)WebAdminService Extensión ISAPI Filtro ISAPI Worker Process ExtensiónISAPI Filtro ISAPI Worker Process Extensión ISAPI Filtro ISAPI Worker Process INETINFO metabase Extensión ISAPI Filtro ISAPI Worker Process

16 Internet Information Services 6.0 Escalabilidad: Dynamic Kernel Caching GET PeticiónRespuesta SinCacheConCache PeticiónRespuesta

17 Reciclado de aplicaciones El modelo de procesos de IIS 5.0 INETINFO.exe metabase ftp, smtp, nntp W3SVC Winsock Filtros ISAPI In-proc Apps ASP.NET.Net App Domain ASPNET_WP.exe Pooled OOP Apps DLLHOST.exe Isolated OOP App DLLHOST.exe Isolated OOP App DLLHOST.exe Isolated OOP App DLLHOST.exe Modo usuario Modo kernel

18 Reciclado de aplicaciones Modo de aislamiento de Worker Processes en IIS 6.0 INETINFO.exe metabase ftp, smtp, nntp Modo usuario Modo kernel HTTP.SYS W3SVC SVCHOST.exe W3 Config Mgr W3 Process Mgr W3Core Filtros ISAPI W3WP.exe Apps (no OOP) Application Pool W3Core Filtros ISAPI W3WP.exe Apps (no OOP) Application Pool W3Core W3WP.exe Application Pool ASP.net Apps.Net App Domain

19 Reciclado de aplicaciones Application Pools Podemos tener uno o más –Cada uno servidor por uno o más W3WP.exe –Cada W3WP.exe solo sirve un pool –Peticiones redirigidas al pool por HTTP.sys Podemos aislar las aplicaciones Web basándonos: –En sitio/cliente –En la funcionalidad –En la fiabilidad

20 Reciclado de aplicaciones Reciclado periódico de los procesos Qué es –Reiniciamos las aplicaciones Web basándonos en: El tiempo que llevan funcionando El número de peticiones En un calendario En el consumo de memoria Bajo demanda Porqué usarlo –Prevenir que aplicaciones defectuosas afecten al sistema –Refrescar las aplicaciones para aumentar la disponibilidad

21 Reciclado de aplicaciones Arquitectura con autorecuperación Qué es –Diseñada para detectar bloqueos de threads dentro de W3WP.exe Cómo funciona –W3SVC consulta cada W3WP.exe –El proceso tiene un tiempo para responder –Si no responde en ese tiempo: Matar el proceso, publicar un evento y lanzar uno nuevo (por defecto) IIS puede ser configurado para realizar una acción sobre el proceso

22 Reciclado de aplicaciones Detección de fallos y recuperación Detección de fallos –W3SVC detecta casques en W3WP.exe –W3SVC lanzará un nuevo W3WP.exe si es necesario –Las peticiones son encoladas por HTTP.sys mientras se crea el nuevo W3WP –Resultado: no existe interrupción en el servicio Protección –Solo se permiten x fallos en y minutos –El pool será detenido si se superan estos valores (error 503 para las peticiones)

23 Reciclado de aplicaciones Rendimiento Web Garden –Application pool con más de un Worker Process Afinidad de procesador –Vincular los procesos de un Application pool a uno o más procesadores Se hace caché de las respuestas en HTTP.sys (kernel) Se liberan los procesos después de un tiempo de inactividad Se relanzarán cuando sea necesario (peticiones) Esto no implica que la aplicación no esté activa!!

24 Introducción a los servicios de Internet IIS 6.0 proporciona capacidad de Servidor Web en Intranet, Internet o Extranet. Puede ser implementado en diferentes entornos. –PYMES –Grandes empresas

25 Introducción a los servicios de Internet IIS 6.0 no se instala por defecto en Windows Server 2003 Ayuda a proteger los sistemas de ataques a servicios no utilizados o no monitorizados. Las extensiones de servicios Web están bloqueadas por defecto. –IIS solo sirve contenido estático. –Es necesario habilitar manualmente las extensiones específicas ASP ASP.NET Server-Side Includes WebDAV publishing FrontPage® 2002 Server Extensions –Si no se habilitan IIS responde con un error HTTP 404 (File or directory not found).

26 Tipos de Aplicaciones Web Web Site público. –Información destinada al público. Intranet (ERP/CRM/Productividad) –Información privada de acceso interno. Extranet (Productividad/B2B/B2C) –Información privada de acceso externo.

27 Mejoras de IIS 6.0 Confiabilidad. –Mejor confiabilidad al poder aislar aplicaciones unas de otras. Manejabilidad. –Mejor manejabilidad al poder adaptar la Metabase mediante ficheros XML configurables. Seguridad. –Seguridad reforzada basada en una estrategia de seguro por defecto. Rendimiento y escalabilidad. –Rendimiento mejorado gracias al aislamiento dentro de los procesos. Mejor escalabilidad al ofrecer una arquitectura que permite consolidar sitios y aplicaciones en menos Servidores.

28 Arquitectura de IIS 6.0 IIS 6.0 se puede ejecutar en uno de los dos modelos de procesamiento: –Worker process isolation mode –IIS 5.0 isolation mode

29 Worker process isolation mode Ofrece todas las ventajas de la arquitectura rediseñada de IIS 6.0 Se pueden agrupar las aplicaciones Web en Conjunto de aplicaciones (Application Pools) Proporciona aislamiento de aplicaciones sin disminución del rendimiento.

30 IIS 5.0 Isolation mode Se mantiene la compatibilidad con aplicaciones que dependen de características específicas de IIS 5.0 También se pueden aislar aplicaciones –Low Isolation (in-process) –Medium isolation (pooled out of process) –High isolation (out of process) Disminuye el rendimiento.

31 IIS 5.0 Isolation mode Consideraciones de seguridad: –Cuando IIS 6.0 corre en modo IIS 5.0, las aplicaciones Web establecidas en modo Low isolation corren con la cuenta local de sistema (Local System account.) –La cuenta local de sistema tiene acceso a todos los recursos del equipo. –En los modos Medium o High isolation, las aplicaciones corren por defecto con la cuenta IWAM_ComputerName.

32 Arquitectura de IIS 6.0 FunctionalityIIS 4.0IIS 5.0IIS 5.1IIS 6.0 PlatformMicrosoft ® Windows NT ® 4.0 operating system Microsoft ® Windows ® 2000 Server operating system Microsoft ® Windows ® XP Professional operating system Windows Server 2003 Architecture32-bit 32-bit and 64-bit Network subsystem TCP/IP kernel HTTP.sys kernel Application Request Processing model MTX.exe: Multiple DLL hosts in High application isolation. Inetinfo.exe: In process as DLLs with Low isolation. DLLHost.exe: Multiple DLL hosts in Medium or High application isolation. Inetinfo.exe: In process as DLLs with Low isolation. DLLHost.exe: Multiple DLL hosts in Medium or High application isolation. Inetinfo.exe: In process as DLLs with Low isolation. W3wp.exe: In worker process isolation mode (multiple worker processes). Inetinfo.exe: Only in IIS 5.0 isolation mode with in- process applications. DLLHost.exe: Only in IIS 5.0 isolation mode with out-of-process applications.

33 Arquitectura de IIS 6.0 FunctionalityIIS 4.0IIS 5.0IIS 5.1IIS 6.0 Metabase configuration Binary XML SecurityWindows authentication Secure Sockets Layer (SSL) Windows authentication SSL Kerberos Windows authentication SSL Kerberos Windows authentication SSL Kerberos.NET Passport support Remote administration HTMLA 1 HTMLANo HTMLA Terminal Services Remote Administration Tool (HTML) Terminal Services

34 Arquitectura de IIS 5.0 isolation mode

35 Arquitectura de IIS 6.0 worker process mode

36 Arquitectura IIS 6.0 Procesamiento de solicitudes HTTPS en modo Worker Process Isolation Mode

37 Arquitectura IIS 6.0 Procesamiento de solicitudes HTTPS en modo IIS 5.0 con Low Isolation Mode

38 Arquitectura IIS 6.0 Procesamiento de solicitudes HTTPS en modo IIS 5.0 con High Isolation Mode

39 Servicios de IIS 6.0 Nombre del Servicio Descripción Nombre Corto Componente PrincipalHost World Wide Web Publishing Service (WWW service) Delivers Web publishing services. W3SVCIisw3adm.dllSvchost.exe File Transfer Protocol (FTP) Allows file uploads and downloads from remote systems. MSFTPSVCFtpsvc2.dllInetinfo.exe Simple Mail Transfer Protocol (SMTP) Sends and receives electronic messages (e- mail). SMTPSVCSmtpsvc.dllInetinfo.exe Network News Transfer Protocol (NNTP) Distributes network news messages. NNTPSVCNntpsvc.dllInetinfo.exe IIS Admin ServiceManages the metabase. IISADMINIisadmin.dllInetinfo.exe

40 Lógica de la Aplicación Almacén de Datos Interfaz de Usuario (GUI) Arquitectura Multicapa DCOM WebService RPC Web Servers

41 Arquitectura: Cliente Navegador de Internet: –Ejecuta código en contexto de usuario. –Lenguajes potentes: HTML/DHTML vbScript/JavaScript/Jscript –Programas embebidos Applets Java ActiveX Shockwave Flash –Códigos No protegidos Cifrado cliente: Atrise. Ofuscación de código.

42 Arquitectura: Lógica de Aplicación Servidor Web –Ejecuta código en contextos privilegiados. –Lenguajes potentes –Acceden a BBDD –Envían programas a clientes –Transferir ficheros –Ejecutar comandos sobre el sistema. –Soporte para herramientas de administración de otro software. –Códigos de Ejemplo

43 Arquitectura: Almacén de Datos SGBD –Lenguaje de 3ª y 4ª Generación. –Soporta múltiples bases de datos. –Catálogo global de datos. –Ejecuta programas sobre Sistema. –LOPD. –Transacciones económicas. –Información clave de negocio.

44 Mejoras de seguridad en IIS 6.0 IIS se instala en modo seguro por defecto. Extensiones Multipurpose Internet Mail Extensions (MIME) restrictivas. Múltiples procesos de ejecución (worker processes) afectan el estado del filtro Internet Server API (ISAPI). La funcionalidad ASP y ASP.NET está deshabilitada por defecto.

45 Mejoras de seguridad en IIS 6.0 Las rutas de acceso primarias están deshabilitadas por defecto (..\) [AspEnableParentPaths]. Los eventos de Global.asa se ejecutan como usuario anónimo. [AspRunOnEndAnonymously] La sincronzación de contraseñas anónimas está deshabilitado por defecto. Autenticación Microsoft®.NET Passport authentication requiere derechos de la cuenta LocalSystem. El acceso a ejecutables está restringido.

46 Cuentas de seguridad integradas en IIS 6.0 LocalSystem –Alto nivel de derechos de acceso –Parte del grupo de Administradores. –Si un proceso de ejecución corre con LocalSystem, tiene acceso completo al sistema. –En el modo de aislamiento IIS 5.0, esta es la cuenta de ejecución por defecto para los procesos

47 Cuentas de seguridad integradas en IIS 6.0 Network Service –Tiene menos derechos que LocalSystem –Puede interactuar en la red con las credenciales del equipo –Es la cuenta establecida por defecto en IIS 6.0 para los procesos de los conjuntos de aplicaciones Replace a process-level token (SeAssignPrimaryTokenPrivilege) Adjust memory quotas for a process (SeIncreaseQuotaPrivilege) Generate security audits (SeAuditPrivilege) Bypass traverse checking (SeChangeNotifyPrivilege) Access this computer from a network (SeNetworkLogonRight) Log on as a batch job (SeBatchLogonRight) Log on as a service (SeInteractiveLogonRight) Allow log on locally (SeInteractiveLogonRight)

48 Cuentas de seguridad integradas en IIS 6.0 Local Service –Tiene menos derechos que la cuenta Network Service. –Los derechos están limitados al equipo local. –Se puede utilizar si el proceso no requiere acceso externo al servidor en donde se ejecuta –Tiene los siguientes derechos Replace a process-level token (SeAssignPrimaryTokenPrivilege) Adjust memory quotas for a process (SeIncreaseQuotaPrivilege) Generate security audits (SeAuditPrivilege) Bypass traverse checking (SeChangeNotifyPrivilege) Access this computer from a network (SeNetworkLogonRight) Log on as a batch job (SeBatchLogonRight)

49 Cuentas de seguridad integradas en IIS 6.0 IIS_WPG –Tiene los mínimos derechos necesarios para iniciar y ejecutar procesos en el servidor Web. –Tiene los siguientes derechos: Log on as a batch job (SeBatchLogonRight) Impersonate a client after authentication (SeImpersonatePrivilege) IUSR_ComputerName –Se utiliza para el acceso anónimo a IIS. –El usuario que accede con autenticación anónima es mapeado a esta cuenta de seguridad. –Tiene los siguientes derechos: Access this computer from a network (SeNetworkLogonRight) Bypass traverse checking (SeChangeNotifyPrivilege) Log on as a batch job (SeBatchLogonRight) Allow log on locally (SeInteractiveLogonRight)

50 Cuentas de seguridad integradas en IIS 6.0 IWAM_ComputerName –Se utiliza para iniciar aplicaciones con aislamiento de procesos en el modo de aislamiento IIS 5.0. –Tiene los siguientes derechos: Replace a process-level token (SeAssignPrimaryTokenPrivilege) Adjust memory quotas for a process (SeIncreaseQuotaPrivilege) Bypass traverse checking (SeChangeNotifyPrivilege) Access this computer from a network (SeNetworkLogonRight) Log on as a batch job (SeBatchLogonRight) ASPNET –Se utiliza para ejecutar el proceso ASP.NET en el modo de aislamiento IIS 5.0. –Tiene los siguientes derechos: Access this computer from a network (SeNetworkLogonRight) Log on as a batch job (SeBatchLogonRight) Log on as a service (SeInteractiveLogonRight) Deny logon locally (SeDenyInteractiveLogonRight) Deny logon through Terminal Services (SeDenyRemoteInteractiveLogonRight)

51 Sitios Web Seguros IIS 6.0 soporta los siguientes métodos de autenticación: –Autenticación anónima. –Autenticación Básica. Las credenciales se envían sin encriptar. –Autenticación Digest. Parecido al básico, excepto que la contraseña se envía como un valor Hash. Solo disponible en dominios con DC Windows. –Autenticación avanzada Digest. Las credenciales se almacenan como Message Digest (MD5) hash en Active Directory en el DC Windows –Autenticación integrada. Utiliza tecnología de encriptación –Autenticación.NET Passport. Servicio de autenticación que permite a los usuarios tener un único inicio de sesión. –Autenticación con Certificados. Utiliza certificados Secure Sockets Layer (SSL) para autenticar servidores y clientes.

52 Sitios Web Seguros MethodSecurity Level How Passwords Are Sent Crosses Proxy Servers and Firewalls Client Requirements Anonymous authentication NoneN/AYesAny browser Basic authenticationLowBase64 encoded clear text Yes, but sending passwords across a proxy server or firewall in clear text is a security risk because Base64 encoded clear text is not encrypted. Most browsers Digest authenticationMediumHashedYesInternet Explorer 5 or later Advanced Digest authentication MediumHashedYesInternet Explorer 5 or later Integrated Windows authentication HighHashed when NTLM is used; Kerberos ticket when Kerberos is used. No, unless used over a PPTP connection Internet Explorer 2.0 or later for NTLM; Windows 2000 or later with internet Explorer 5 or later for Kerberos Certificate authentication HighN/AYes, using an SSL connectionInternet Explorer and Netscape.NET Passport authentication HighEncryptedYes, using an SSL connectionInternet Explorer and Netscape

53 Sitios Web seguros Control de acceso a Bases de Datos: –Utilizar los permisos incorporados en la aplicación de bases de datos del DBMS. –Utilizar data source name (DSN). –Utilizar permisos NTFS. –Utilizar subwebs para restringir el acceso a una sección del Web site. –Utilizar un método de autenticación apropiado para la aplicación Web

54 Sitios Web seguros Certificados de seguridad –Los Certificados son documentos digitales de identificación –Permiten a los clientes y servidores autenticarse mutuamente. –Incluyen llaves que establecen una conexión cifrada con SSL. –El proceso de autenticación y transmisión de datos está basado en el par de llaves pública y privada. –Además se crea una llave de sesión para la transmisión de datos.

55 Sitios Web seguros Filtrado de puertos TCP Default TCP Port Number Internet Service 20FTP Data Channel 21FTP Control Channel 23Telnet (enabled on some intranet or Internet servers) 25Simple Mail Transfer Protocol (SMTP) 80HTTP for World Wide Web 119Network News Transfer Protocol (NNTP) 443Hypertext Transfer Protocol over TLS/SSL (HTTPS) for secure World Wide Web 563Network News Transfer Protocol over TLS/SSL (NNTPS)

56 Sitios Web Seguros UDP Port Number Service 53DNS name queries (supports some Internet services) 161SNMP Filtrado de puertos UDP

57 Sitios Web Seguros Encriptación con IPSec –Internet Protocol security (IPSec) está diseñado para encriptar los datos que viajan en la red. –La configuración en Windows 2000/2003 está basada en directivas de seguridad –Proporciona un método robusto de seguridad de punto a punto.

58 demo

59 Diagnóstico de errores HTTP 500 Introducción a los errores HTTP 500 Varios tipos de errores 500 Diagnóstico

60 Errores HTTP 500 El protocolo HTTP está formado por varios mensajes –100: Información –200: OK –300: Redirección –400: Error del cliente –500: Error del servidor El RFC para el protocolo HTTP –http://www.w3.org/Protocols/rfc2616/rfc2616.htmlhttp://www.w3.org/Protocols/rfc2616/rfc2616.html

61 Errores HTTP 500 (II) Los errores HTTP 500 devuelven una página genérica al cliente ( asp) Excepciones: – – Internet Explorer a menudo reemplazará este error –Deshabilitar los mensajes descriptivos de error en Internet Explorer Opciones de Internet, Opciones Avanzadas, Examinar

62 Errores HTTP 500 (III) Algunas herramientas y logs ayudan a solucionar los problemas de errores HTTP 500: –Los logs de IIS: %windir%\system32\logfiles –Visor de sucesos –Monitor de red –WFetch: Q –IIS Debug ToolKit 1.1 –Herramientas de depuración para Windows

63 HTTP 503 Service Unavailable El servidor es actualmente incapaz de manejar la petición debido a una sobrecarga temporal o a mantenimiento del servidor. Las herramientas de depuración de IIS y el monitor de rendimiento son útiles para solucionar este problema. Posibles causas del problema –Problemas de conectividad a la Base de Datos –Más peticiones de las esperadas están llegando al servidor –El App Pool está offline

64 HTTP El mensaje de error: HTTP – Internal Server Error – ASP Error Si deshabilitamos los errores de Internet Explorer: Podría ser un problema de permisos que podemos solucionar con regmon o filemon

65 HTTP (II) Con los mensajes de error de Internet Explorer deshabilitados podríamos obtener Este error está documentado en el artículo La solución fue registrar de nuevo el componente (dll)

66 demo

67 Trazado y auditoría con Windows Server 2003 SP1 Nueva instrumentación en IIS6 SP1 –Enhanced Request-based Tracing –Currently-executing Requests Tracing –Auditoría de la Metabase Uso de la nueva instrumentación –Cuelgues o fallos en peticiones –Problemas de Autenticación/Autorización –¿Qué se está ejecutando actualmente? –¿Quién cambió qué, cuándo y cómo?

68 Enhanced Request-based Tracing Introducción OBJETIVO: seguir las peticiones a través de IIS y en ASP/ASP.NET a través de eventos de traza CÓMO: Eventos de traza ETW en 4 proveedores principales –IIS: WWW Server –IIS: W3 Isapi –IIS: Active Server Pages (ASP) –ASP.NET Events PORQUÉ usar ETW? –Mecanismo de trazado general de alto rendimiento –Configuración dinámica – no es necesario reiniciar para reconfigurar –SIN VOLCADOS!!

69 Enhanced Request-based Tracing Un vistazo a ETW Provider C Provider B Provider A Trace files Controller … Consumer Real time delivery Logged Events Session 1 Buffers Session 2Session 64 Event Tracing Sessions Events Enable/Disable Session Control Consumer

70 Enhanced Request-based Tracing - IIS y ETW IisTraceSession ETW Infrastructure W3wp.exe Isapi filter Asp.dll Some COM obj obj C:\Logman start IisTrace –pf MyProvs.txt -ets Tracing enabled New request REQ_START FILTER_START FILTER_END ASP_REQ_START COM_OBJ_START COM_OBJ_END ASP_REQ_END REQ_END C:\logman stop IisTrace -ets IisTrace.etl

71 Enhanced Request-based Tracing Uso de trazas Controlar las trazas –Logman.exe –Perfmon Logs & Alerts service –APIs de la plataforma no manejadas Consumir trazas –Tracerpt.exe: consume ETLs, informes de salida y csvs –Excel para ver csvs –LogParser 2.2: lee ETLs

72 Enhanced Request-based Tracing IIS WWW Server Provider Los eventos cubren –Cuando W3WP.exe recoge la petición – a – –Cuando W3WP.exe termina con la petición –EXCLUYE: El manejo de ISAPI -> cubierto por IIS: W3 Isapi & proveedores ISAPI individuales (ASP/ASP.net) Flags: 9 en total, 7 para filtrado Verbosidad: –0. GENERAL –1. Errores críticos –2. Errores –3. Advertencias –4. Información –5. Verbose Flag#Descripción UseUrlFilter0x1Filtras URLs específicas IISAuthentication0x2Eventos autenticación IISSecurity0x4Eventos autorización IISFilter0x8Eventos filtros ISAPI IISStaticFile0x10Manejador de ficheros estáticos IISCGI0x20Eventos relacionados con CGIs IISCompression0x40Compresión estática & dinámica IISCache0x80Eventos relacionados con la caché IISAll0xFETodos los eventos

73 Enhanced Request-based Tracing Trazar URLS específicas ¿Qué es? –La posibilidad de trazar solo URLs específicas en vez de todas las URLs ¿Cómo usarlo…? 1.Establecer la propiedad TraceUriPrefix del sitio 2.Establecer el flag UseUrlFilter en IIS: WWW Server provider 3.NOTA: se DEBE usar el proveedor IIS: WWW Server con el flag UseUrlFilter establecido para filtrar eventos ASP & ASP.net por URL. Adsutil set w3svc/1/TraceUriPrefix = /*.aspx IIS: WWW Server0x IIS: Active Server Pages (ASP)0xFFFFFFFF 5º

74 Enhanced Request-based Tracing Resolviendo problemas de Autenticación/Autorización ANTES: montones de problemas alrededor… –¿Se autenticó el usuario correctamente? –¿Es el ID del usuario anónimo correcto? –¿Qué UID se está usando para acceder al contenido? –¿Dónde se le está denegando el acceso al usuario? CÓMO: usar flags para el diagnóstico: –Explicación: 0x => Eventos de Autenticación 0x => Eventos de Seguridad/Autorización Verbosity = 5 => Todos los eventos anteriores IIS: WWW Server0x

75 Enhanced Request-based Tracing IIS: Active Server Pages Provider (ASP) ¿De QUÉ se hace log? –Encolado/Desencolado: ¿cuanto tiempo permaneció en la cola? –Tiempo de parseo y compilación –Configuración de los objetos intrínsecos a la petición –Eventos en tiempo de ejecución. OnApplication, etc. –Ejecución de Global.asa –Tiempos de objetos COM Creación de objetos Llamada a métodos Llamada a GetObject ¿PORQUÉ usarlo? –La mayoría de las llamadas a soporte -> cuelgues en páginas ASP –Método actual para la resolución -> volcado del proceso INETINFO o dllhost.exe, envío a PSS.

76 Currently Executing Requests Qué está ocurriendo realmente ahora ¿De QUÉ se hace log? –Estadísticas de los Worker Processes –Estadísticas para todas las peticiones actualmente en ejecución ¿PORQUÉ usarlo? –Lista de la peticiones en ejecución sin tener que matar el proceso para ver HTTPERR log –No hay que usar el depurador y extensiones del depurador para ver esto – integrado & no-intrusivo ¿CÓMO usarlo?: –Usar ETW para volcar los datos –o… IISReqMon.vbs (con LogParser 2.2) C:\Logman start CurrReqDump –p IIS: Request Monitor -ets

77 Currently Executing Requests Datos registrados Estadísticas del Worker Process –PID –AppPoolID –# Requests Served –Total Worker Threads –Available Worker Threads –Process Start Time –Process Uptime Estadísticas de la petición –Start time –Context ID (to correlate back to req-based tracing) –Site ID –Local IP & Port –Host Name –Connection ID –Client IP –Request Verb –Request URL –Processing State –Elapsed total Time –Elapsed time in State

78 Currently Executing Requests Auditoría de la Metabase ¿QUÉ?: Entrada en el log de eventos del sistema cada vez que hay un cambio en el metabase –NT Security Audit Log –Fuente: IISADMIN-Metabase ¿CÚANDO se registran los cambios? –Intentos exitosos o fallidos de añadir, cambiar, mover, o borrar claves/propiedades ¿PORQUÉ usarlo? –Auditoría de cambios –Common Criteria Certification

79 Currently Executing Requests Auditoría de la Metabase ¿QUÉ se logea? –Lo que está siendo cambiado Path de la Metabase Viejo valor de la Propiedad/Clave Nuevo valor de la Propiedad/Clave –Quién lo cambió: dominio & nombre de usuario si se puede obtener –Cómo fue cambiada: nombre del ejecutable usado para hacer el cambio (MMC.exe, etc.) & IP remota si está disponible. –Éxito o fallo de la operación ¿CUÁNDO se hace (en detalle)? –Operaciones sobre las claves: mover/borrar/copiar/añdir/renombrar –Operaciones sobre las propiedades: añadir/modificar/borrar

80 Currently Executing Requests Habilitar la auditoría de la Metabase Deshabilitada por defecto ¿CÓMO habilitarla?: –Habilitar la auditoría global de objetos primero –Establecer la ACE Audit Success & Audit Failure sobre los nodos de la metabase que se quieran auditar, & para qué usuarios (todos?) –NOTA: esto configurará la propiedad AdminACL en la metabase para el nodo seleccionado –La configuración de los nodos hijos sobreescribirán esta configuración

81 demo

82 LogParser Introducción a LogParser –Formatos de entrada y de salida –Funciones –Plantillas de salida –Cómo empezar… LogParser 2.2 –El nuevo formato de salida chart –CheckPoint

83 Log Parser es… Una herramientas gratuita, aplicación independiente –Versión 2.1: buscar por IIS 6.0 Resource Kit Toolswww.microsoft.com/download –Versión 2.0: buscar por Log Parserwww.microsoft.com/download Desarrollada por Gabriele Giuseppini, del equipo de IIS No soportada oficialmente (www.logparser.com)www.logparser.com Disponible de dos formas: –.exe en línea de comandos –Objeto COM –No hay ningún GUI por el momento

84 LogParser Conceptos clave Log Parser requiere… –Formato de entrada [+opciones] –Consulta –Formato de salida [+opciones] –[+opciones] Lenguaje de consulta –Soporte la mayoría de la sintaxis de SQL –Extiende el lenguaje con funciones adicionales

85 LogParser Funciones Para obtener una lista de las funciones –[2.1] logparser –h 2 –[2.0] logparser –h FUNCTIONS Ejemplos: –Funciones de conversión TO_TIMESTAMP TO_LOCALTIME TO_INT –Manejo de cadenas STRLEN SUBSTR STRCAT –Otras REVERSEDNS QUANTIZE EXTRACT_EXTENSION [2.2] CASE [2.2]

86 LogParser Ejemplo de función Convertir el timestamp del fichero de log de UTC a hora local SELECT TO_DATE(TO_LOCALTIME(TO_TIMESTAMP(date, time))) AS date, TO_DATE( TO_LOCALTIME( TO_TIMESTAMP(date, time))) AS time, c-ip, cs-username, s-ip, s-port, cs-method, … FROM C:\Windows\system32\logfiles\w3svc1\ex log

87 LogParser Plantillas de salida Logparser –h –o: TPL Formada por: –Cabecera –Cuerpo –Pie Mejora el aspecto del resultado

88 LogParser Cómo empezar Encontrar los nombres de las columnas en la fuente de datos –logparser –h –i: –o… SELECT * FROM –Para ficheros TSV o CSV: logparser –h –i:csv/tsv Comprender los datos en cada columna Aplicar las funciones necesarias para convertir los datos [2.2] opción -queryinfo

89 LogParser Novedades en LogParser 2.2 Nuevos formatos de entrada –ETW – Event Tracing for Windows, ficheros de log y sesiones vivas –TSV – Tab and Space Separated value text files –ADS – Lee información de objetos del DA –REG – Lee información del registro –NETMON – parsea las capturas de NETMON Nuevos formatos de salida –CHART –SYSLOG –TSV

90 LogParser Checkpoint – parseo incremental Parsea sólo lo que no ha sido parseado anteriormente –ex*.log …de todos los ficheros de log en un directorio – …de todos los ficheros de log del sitio 1 –System …del log de eventos del sistema Requiere un fichero de checkpoint para almacenar datos logparser SELECT TimeGenerated, EventTypeName, Strings FROM System WHERE SourceName = W3SVC –icheckpoint event.lpc

91 demo

92 Próximas Acciones Servidores: Desarrollo:

93 Boletín quincenal TechNews

94 ¿ Preguntas ?

95 Contacto Javier Pereña Peñaranda Technet –http://www.microsoft.com/spain/technet Informatica64 –http://www.informatica64.com – Material Seminarios –http://www.informatica64.com/handsonlab/handsonlab.asp


Descargar ppt "Windows Server 2003 Internet Information Services 6.0 Javier Pereña Peñaranda Código: HOL-WIN03."

Presentaciones similares


Anuncios Google