Introducción Internet Information Services 7.0 (IIS 7)

Slides:



Advertisements
Presentaciones similares
Servicio de Impresión KEY MESSAGE: Título SLIDE BUILDS: 0
Advertisements

Código: HOL-SQL29. Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key) Encriptación.
Siete integrado extensible delegado seguro compatible soportable internet information services Jorge Oblitas Especialista en Tecnologías de Desarrollo.
Curso de PHP Tema 1: Introducción.
Arquitectura base de Microsoft Windows SharePoint Services y Microsoft Office SharePoint Portal Server 2003 César de la Torre Software Architect [Microsoft.
Buenas prácticas para migrar a IIS 6
Securización Internet Information Services 6.0 y SQL Server 2000
Nuevas Características de Seguridad en ASP.NET 2.0
Scripting con Virtual Server.
Windows 2003 como Servidor de Aplicaciones Jose Murillo ISV Development Advisor
3/24/2017 3:59 PM © Microsoft Corporation. All rights reserved.
Alta Disponibilidad en Infraestructuras Web
David Cervigón Luna IT Pro Evangelist Iván González Vilaboa Develoment Advisor Plain.
© 2006 Microsoft Corporation. All rights reserved.
Introducción a Microsoft Operations Manager 2005 Joshua Sáenz G Joshua Sáenz G
Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft.
Implementación de SQL Server 2000 Reporting Services
Planificación y despliegue de Office Sharepoint Server 2007 Rubén Alonso Cebrián
PRESENTA: Mizrain Cano Chico Profesor: Lic. Albino Petlacalco Ruiz
Microsoft Windows Server 2008 Internet Information Services 7
ASP.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Configurar, optimizar e implementar una aplicación Web Microsoft ASP
CAPTURA Y RECOLECCIÓN DE ERRORES 20 de Noviembre de 2004.
3/29/ :02 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Database Mounting Tool (Dsamain.exe) Mediante esta nueva herramienta y una de las mejoras de la nueva versión de Ntdsutil… podemos generar y examinar.
Servidores Windows Http Ftp …
Instalación y configuración de los servicios Web.
Programa para el Impulso a la Implementación del Protocolo IPv6 en Instituciones Vinculadas a RENATA 2012 Servicio FTP.
Internet Information Services 7.5!
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
"java del lado del servidor" Servlet y JSP Java Server Pages.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Introducción a los servicios Web
Seguridad en ASP.NET Daniel Laco
Daniel A. Seara Director Regional MSDN NDSoft
José Parada Gimeno ITPro Evangelist
David Cervigón Luna IT Pro Evangelist Microsoft Ibérica
David Cervigón Luna IT Pro Evangelist Jose Parada Gimeno IT Pro Evangelist
Antonio Gámir Optimized Desktop Specialist Microsoft Ibérica.
Planificación y despliegue de Office Sharepoint Server 2007 Rubén Alonso Cebrián
Systems Management Server 2003 Santiago Pastor Zaltor Soluciones Informáticas.
David Cervigón Luna IT Pro Evangelist Microsoft Ibérica
Microsoft ® SharePoint Products and Technologies Developer Tour EMEA 2004 Microsoft ® SharePoint Products and Technologies Developer Tour EMEA 2004.
Seguridad y Privacidad
Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización Entre plataformas Entre lenguajes.
Introducción ASP .NET.
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
Universidad de La Coruña Escuela Universitaria Politécnica Control de Procesos por Computador Diego Cabaleiro 24 de Noviembre 2009.
Se trata de un nuevo tipo de Controlador de Dominio No puede escribir en su base de datos fruto de peticiones externas No se le permite tener replicación.
Windows Server 2003 Tests de rendimiento Comparación con Microsoft Windows ® NT Server 4.0 y Microsoft Windows Server ™ 2000 Fuente: VeriTest.
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
© 2006 Microsoft Corporation. All rights reserved.
Implementación de Windows 7
Instalación y configuración de servidores. 2 de 9 Servicios Internet (I) “El proyecto Apache es un esfuerzo conjunto para el desarrollo de software orientado.
InfoPath Ventajas y Uso.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Reduciendo el espacio entre Tecnología y Negocio: Arquitecturas de Referencia Carlos Oramas (Microsoft) Alberto Ruiz (IECISA) Julio Bravo (FCC)
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Windows Server 2008 R2 Windows Server Update Services (WSUS)
MICROSOFT ISA SERVER PRESENTADO A: FABIO LASSO
Desarrollo de aplicaciones para ambientes distribuidos
Introducción Técnica a Virtual PC Sergio Dongo Bonello Microsoft España Soluciones de Educación.
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Introducción a los Sistemas Operativos
SEMINARIOS CIFARMA.NET Administrar Internet Information Services 6.0.
Diseño de Servicios Web Internet Information Server © Copyright 2003 Víctor ROBLES FORCADA
 Autenticación - Autorización Autenticación : Es un modo de asegurar que los usuarios son quién ellos dicen que ellos son. Autorización: Proceso por.
Clase 5 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Bitnami Implantación de Aplicaciones Web. Bitnami Proyecto de código abierto. Descargar (versiones para Windows y GNU/Linux).
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Transcripción de la presentación:

Introducción Internet Information Services 7.0 (IIS 7) Iván González Vilaboa ivan@plainconcepts.com Develoment Advisor Microsoft MVP – Windows Server IIS Plain Concepts

Agenda Introducción Núcleo del servidor Web Extensibilidad Configuración Administración Despliegue Seguridad Diagnóstico y resolución de problemas

Más fácil de administrar IIS7 contiene docenas de nuevas características que permiten administrarlo de forma más fácil que nunca: Nuevo IIS7 Manager Failed Request Tracing Nueva consola en línea de comandos ... y mucho más! Delegación de la administración Arquitectura modular Administración con código manejado Errores detallados Nueva configuración basada en XML Despliegue de sitios con XCOPY Compatibilidad hacia atrás Nuevo proveedor WMI

Núcleo del servidor Web Procesado de peticiones en IIS 6 Implementación monolítica Instala todo o nada… Authentication NTLM Basic Anon … Determine Handler CGI Static File ASP.NET ISAPI PHP … Send Response Log Compress Extensión de la funcionalidad del servidor sólo a través de ISAPI…

Núcleo del servidor Web Procesado de peticiones en IIS 7 Authentication Authentication La funcionalidad del servidor se reparte en ~ 40 modulos... NTLM Basic Anon Authorization … ResolveCache Determine Handler CGI Los módulos se conectan en un pipeline de peticiones genérico … Static File ExecuteHandler ISAPI … Los módulos extienden la funcionalidad del servidor a través de un API pública de módulos … UpdateCache Send Response SendResponse Log Compress

Núcleo del servidor Web Muchos, muchos módulos Instala, gestiona, y actualiza sólo los módulos que uses… Reduce la superficie de ataque Reduce la huella del servidor en memoria Proporciona mayor granularidad de control Permite reemplazar componentes del núcleo del servidor con nuestros propios componentes

Consejo Instalar de forma consistente el mismo conjunto de módulos… Evitar: 503 “Service Unavailable” [el módulo está habilitado pero no instalado] La aplicación no funciona cómo se esperaba [web.config referencia un módulo que no está instalado] [un módulo inesperado entra en conflicto con un módulo personalizado]

Núcleo del servidor Web Demo Núcleo del servidor Web

Extensibilidad Modelo nativo Modelo manejado API en C++ 4/1/2017 7:02 PM Extensibilidad Authentication ... ExecuteHandler SendResponse HTTP Request Response Authorization UpdateCache ResolveCache Basic Modelo nativo API en C++ Modelo de objetos IIS Modelo manejado Continua usando los interfaces IHttpModule y IHttpHandler Podemos conectar handlers y módulos ASP.NET ya existentes © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Extensibilidad Integración de ASP.NET en IIS 6 Implementación basada en ISAPI Sólo ve las peticiones ASP.NET Características duplicadas Send Response Log Compress NTLM Basic Determine Handler CGI Static File ISAPI Authentication Anon … Forms Windows Map Handler ASPX Trace aspnet_isapi.dll

Extensibilidad Integración de ASP.NET en IIS 7 Basic Dos modos Clásico (se ejecuta como un ISAPI) El modo integrado Módulos .NET y handlers se conectan directamente en el pipeline Procesa todas las peticiones Anon Authentication Authorization ResolveCache … aspnet_isapi.dll Static File Authentication ExecuteHandler Forms Windows … … ISAPI ASPX UpdateCache Map Handler Trace SendResponse Compress … … Log

Migrar al modo integrado La configuración de los módulos y los Handler se ha movido de: system.web/httpHandlers → system.webServer\handlers system.web/httpModules → system.webServer\modules Buscar conflictos entre módulos en el procesado de las peticiones Establecer la precondición “managedHandler” para un módulo significa “ejecutar sólo para peticiones ASP.NET”

Demo Extensibilidad

Configuración La metabase se mueve a ficheros .config El fichero principal de configuración es ahora applicationHost.config No más ficheros metabase.bin o metabase.xml ! Permite configurar propiedades de IIS y de ASP.NET en el mismo fichero Construida para ser simple, y con extensibilidad basada en un esquema

Configuración Mapa de la configuración IIS + ASP.NET + .NET Framework Herencia… IIS ASP.NET applicationHost.config web.config .NET Framework \Windows\system32\inetsrv\applicationHost.config root web.config \Windows\Microsoft.NET\Framework\v2.0.50727\config\web.config machine.config \Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config root configuration web.config

Configuración Compatibilidad: ABO Mapper Proporciona compatibilidad para: Scripts Herramientas en línea de comandos Llamadas nativas a ABO Sólo puede hacer lo que IIS 6 hace… No puede leer/escribir nuevas propiedades de IIS7 o acceder a los nuevos datos del runtime No puede leer/escribir las propiedades de ASP.NET o los ficheros web.config No se instala por defecto Los scripts existentes de ADSI/WMI/instalación no funcionarán sin esto applicationHost.config IISADMIN ABOMapper IIS6 ADSI Script

Configuración Replicar el contenido y la configuración Bienvenido al mundo del despliegue XCOPY! Replicar la configuración de IIS en applicationHost.config… Cuenta built-in “Internet User”, no más SID’s específicos de la máquina Simplemente copiar los ficheros, no se necesitan herramientas en línea de comandos Ojo a la información específica de la máquina como IP’s y letras de unidad Replicar la configuracion de IIS en los ficheros web.config… XCOPY con la aplicación

Configuración Centralizar el contenido y la configuración La configuración de IIS en los ficheros web.config se puede centralizar en un servidor de ficheros El sistema de ficheros de Vista/Longhorn proporciona: Client Side Caching (CSC) Proporciona una caché de disco local Distributed File System Replication (DFSR) Múltiples servidores de ficheros abstraidos en un sólo nombre de carpeta compartida Proporciona replicación de contenido

Configuración Delegación de configuración Dos tipos de bloqueos de configuración: overrideMode (similar a "allowOverride") Bloqueo granular, e.j. lockItem, lockElements Por defecto… Todas las secciones de IIS bloqueadas (overrideMode=“Deny”) excepto: Documento por defecto, Navegación de directorios, Cabecera HTTP, Redirecciones HTTP, Validación Todas las secciones de .NET Framework / ASP.NET están no bloqueadas

Configuración El esquema de configuración Podemos usar el fichero con el esquema para ver todas las posibilidades que nos ofrece la cofiguración: %windir%\system32\inetsrv\config\schema\IIS_schema.xml El esquema describe: Tipos de propiedades Valores por defecto Validaciones Etc. Nota: Los valores de configuración son case sensitive

consejo Determinar la política de bloqueo de la configuración … Ser conservador al principio Desbloquear según sea necesario (bloquear más tarde puede romper las aplicaciones)

Demo Configuración

Administración Nuevo IIS7 Manager Acceso remoto sobre HTTP, lo hace firewall friendly (La gestión remota no se instala por defecto) Soporta la gestión delegada de sitios y aplicaciones por parte de no administradores Proporciona un API manejada de extensibilidad para su personalización

Administración Herramientas de gestión IIS7 GUI Línea Comandos Script Código Manejado IIS Manager appcmd WMI (root\WebAdministration) Microsoft.Web.Administration Gestionar IIS y ASP.NET simultáneamente Ver datos del runtime: worker processes, appdomains, executing requests

Administración Scripting: Proveedor WMI de IIS6 Set oIIS = GetObject("winmgmts:root\MicrosoftIISv2") ' Crear binding para nuevo sitio Set oBinding = oIIS.Get("ServerBinding").SpawnInstance_ oBinding.IP = "" oBinding.Port = "80" oBinding.Hostname = "www.sitio.com" ' Crear un sitio y extraer el nombre del sitio como valor de retorno Set oService = oIIS.Get("IIsWebService.Name='W3SVC'") strSiteName = oService.CreateNewSite("NuevoSitio", array(oBinding), "C:\inetpub\wwwroot") Set objPath = CreateObject("WbemScripting.SWbemObjectPath") objPath.Path = strSiteName strSitePath = objPath.Keys.Item("") Set oSite = oIIS.Get("IIsWebServer.Name='" & strSitePath & "'") oSite.Start ' Crear el vdir para nuestra aplicacion Set oVDirSetting = oIIS.Get("IIsWebVirtualDirSetting").SpawnInstance_ oVDirSetting.Name = strSitePath & "/ROOT/bar" oVDirSetting.Path = "C:\inetpub\bar" oVDirSetting.Put_ ' Hacer que el VDir sea una aplicacion Set oVDir = oIIS.Get("IIsWebVirtualDir.Name='" & strSitePath & "/ROOT/bar'") oVDir.AppCreate2 1 NO ES CONSISTENTE Crear Sitio Crear Directorio Virtual Crear Aplicación

Administración Scripting: nuevo proveedor WMI CONSISTENTE Set oService = GetObject("winmgmts:root\WebAdministration") ' Crear binding para sitio Set oBinding = oService.Get("BindingElement").SpawnInstance_ oBinding.BindingInformation = "*:80:www.sitio.com" oBinding.Protocol = "http" ' Crear sitio oService.Get("Site").Create _ "NuevoSitio", array(oBinding), "C:\inetpub\wwwroot" ' Crear aplicación oService.Get("Application").Create _ "/foo", "NuevoSitio", "C:\inetpub\wwwroot\acme" Métodos estáticos Create

Administración Appcmd – Listar y Filtrar C:\> appcmd list sites SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started) SITE "Site1" (id:2,bindings:http/*:81:,state:Started) SITE "Site2" (id:3,bindings:http/*:82:,state:Stopped) C:\> appcmd list requests REQUEST "fb0000008000000e" (url:GET /wait.aspx?time=10000,time:4276 msec,client:localhost) C:\> appcmd list requests /apppool.name:DefaultAppPool C:\> appcmd list requests /wp.name:3567 C:\> appcmd list requests /site.id:1 C:\> C:\> Podemos filtrar los resultados por Application Pool, Worker Process o Sitio

Administración Appcmd – Viewing Config Schema C:\> appcmd list config /section:? | findstr system.webServer system.webServer/globalModules system.webServer/serverSideInclude system.webServer/httpTracing ... C:\> appcmd list config /section:directoryBrowse <system.webServer>   <directoryBrowse enabled="true" /> </system.webServer> C:\> appcmd list config /section:directoryBrowse /config:* <system.webServer>   <directoryBrowse enabled="true" showFlags="Extension, Size, Time, Date" /> </system.webServer> C:\> appcmd list config /section:directoryBrowse /text:* CONFIG   CONFIG.SECTION: system.webServer/directoryBrowse   path: MACHINE/WEBROOT/APPHOST   overrideMode: Inherit   [system.webServer/directoryBrowse]     enabled:"true"     showFlags:"Extension, Size, Time, Date" Secciones de IIS – también podemos probar “system.web” y “system.applicationHost” C:\> C:\> Muestra aquellos atributos que no están establecidos explicitamente C:\>

Administración Microsoft.Web.Administration Primer API manejada para administrar IIS Mismos objetos y funcionalidad que WMI, o appcmd ¿Por qué no System.Configuration? System.Configuration: Configuración de ASP.NET y .NET Framework fuertemente tipada Microsoft.Web.Administration: Configuración de IIS, ASP.NET, y .NET Framework debilmente tipada Objetos de IIS fuertemente tipados como Sites y ApplicationPools

Administración Microsoft.Web.Administration ServerManager iisManager = new ServerManager(); foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) {     Console.WriteLine("W3WP ({0})", w3wp.ProcessId);                  foreach(Request request in w3wp.GetRequests(0)) {         Console.WriteLine("{0} - {1},{2},{3}",                     request.Url,                     request.ClientIPAddr,                     request.TimeElapsed,                     request.TimeInState);     } }

consejo Educar a los usuarios finales, que publicarán sus aplicaciones y usarán IIS Manager para configurarlas… Un escenario: El usuario publica su aplicación El usuario cambia el web.config de la aplicación usando IIS Manager El usuario copia la versión actualizada del web.config a su versión local de la aplicación Varios días más tarde, publica de nuevo la aplicación ** Las modificaciones realizadas al web.config desde IIS Manager se sobreescriben! **

Demo Administración

Despliegue Opciones de instalación Server Manager Montones de componentes Servidor estático por defecto [Vista] Usar características de Windows Gestor de paquetes Reemplaza a sysocmgr Desatentida El formato de fichero es totalmente diferente [Vista] Podemos escoger componentes, pero no establecer su configuración

Despliegue Instalar, migrar o actualizar Log de instalación: \Windows\IIS7.log Desinstalar Para los servicios para evitar tener que reiniciar Borrar los ficheros de configuración, hacer un backup de ellos antes de desinstalar Migración: no hay nada en Vista, en LH Server TBD… Actualizar Se instalan todos los componentes web y/o FTP, desinstalar después los componentes no necesarios… Los Application Pools estarán en modo ISAPI, no configurados para ejecutar código manejado => todas las peticiones ASP.NET fallarán

Despliegue ASP.NET: Migración Application Pools Modo integrado con ASP.NET por defecto Configurar para cargar una versión específica del .NET Framework Modo integrado Entorno de servidor diferente para mismas notificaciones del pipeline e.j. la petición no es autenticada para BeginRequest Configuración de Handlers y módulos integrada en IIS system.webServer/handlers, system.webServer/modules

Despliegue ASP.NET: Migración Advertencias de validación sobre httpHandlers, httpModules, o la configuración de identidad Eliminar la precondición “managedHandler” en un módulo ASP.NET que se va a ejecutar para todo tipo de contenido Modo ISAPI No podemos configurar los HTTP handlers ni los módulos desde el UI

Despliegue Replicación de applicationHost.config Provocará que todos los application pools se reciclen: Cambios a los valores por defecto para todos los application pools Cambios a la lista <globalModules> Provocará que un application pool se recicle: Cambios en la configuración para ese application pool Debemos usar solo encriptación RSA a nivel de máquina (por defecto), replicar la clave RSA de la máquina http://msdn2.microsoft.com/en- us/library/yxw286t2(VS.80).aspx

Despliegue Replicación de applicationHost.config Cosas a tener en cuenta: Datos específicos de la máquina, como direcciones IP o letras de unidad Los servidores deben de tener el mismo conjunto de módulos instalado (referencias a módulos no existentes en <globalModules> causarán errores 503)

Demo Despliegue

Seguridad Reduce la superficie de ataque Menos componentes instalados reduce la superficie de ataque disponible para un atacante Menos componentes instalados significa menos cosas que gestionar, actualizar y mantener Menos componentes en memoria significa mejor rendimiento, escalabilidad y fiabilidad

Seguridad Gestión más sencilla de la seguridad Soporte para la delegación de la administración Gestión unificada de la autenticación y la autorización Dos nuevas cuentas built-in. La cuenta de usuario IUSR reemplaza a la cuenta IUSR_MachineName y se crea sólo cuando instalamos el servidor FTP El grupo IIS_IUSRS reemplaza al grupo IIS_WPG

Demo Seguridad

Diagnóstico y resolución de problemas Nuevas características Errores personalizados detallados, como con ASP.NET Failed Request Tracing Se acabaron las trazas a ETW y esperar por una respuesta… Nuevos datos en tiempo de ejecución: worker processes appdomains peticiones en ejecución

Diagnóstico y resolución de problemas Failed Request Tracing No tenemos un método claro de reproducir aquellas peticiones que fallan Podemos definir las condiciones de fallo por URL Tiempo que ha llevado ejecutar la petición Códigos de estado/subestado Nivel de error Persistimos en un log las trazas ¿Me dirá lo que está mal? A veces… por ejemplo, problemas con ACLs Buscar indicios Se puede usar para todas las peticiones para ver qué está sucediendo

Diagnóstico y resolución de problemas Demo Diagnóstico y resolución de problemas

Resumen Despliegue… Administración… Resolución de problemas… ~ 40 módulos, instalar solo los necesarios Migrar al modo integrado con ASP.NET Centralización/replicación más fácil Administración… Administrar IIS y ASP.NET desde las mismas herramientas Usar la compatibilidad hacia atrás con el ABO Mapper (no instalado por defecto) Determinar la política de bloqueo de la configuración Resolución de problemas… Usar: Errores detallados, Failed Request Tracing, Currently Executing requests

Geeks.ms http://geeks.ms/blogs/iis Plain Concepts http://www.plainconcepts.com

© 2006 Plain Concepts. All rights reserved. This presentation is for informational purposes only. Plain Concepts makes no warranties, express or implied, in this summary.