44
David Cervigón Luna IT Pro Evangelist [email protected] http://blogs.technet.com/david cervigon Iván González Vilaboa Develoment Advisor Plain Concepts Microsoft MVP – Windows Server IIS [email protected]

David Cervigón Luna IT Pro Evangelist [email protected] Iván González Vilaboa Develoment Advisor Plain

Embed Size (px)

Citation preview

Page 1: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

David Cervigón LunaIT Pro [email protected]://blogs.technet.com/davidcervigon

Iván González VilaboaDeveloment AdvisorPlain ConceptsMicrosoft MVP – Windows Server [email protected]

Page 2: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

IntroducciónArquitectura y ExtensibilidadInstalación y DespliegueConfiguraciónAdministraciónSeguridadFTP7 y Publicación WebDiagnóstico y resolución de problemas

Page 3: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

1996 V1 con Windows NT 4.0

V2 & V3 en subsiguientes Service Packs

1997 V4 como parte del NT 4 Option Pack

2000 V5 incluido por defecto en Windows 2000

2001Marzo 2001: #1 en Internet Site Share

Otoño 2001: Code Red y Nimda

2003 V6 incluido en Windows Server 2003

Page 4: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Envio de Respuestas

Log Compresión

NTLM Basic

Determinar

Manejador

CGI

Static File

AutenticaciónAnon

Implementación Implementación Monolítica. Instala Monolítica. Instala todo todo o nada…o nada…

Extensibilidad del la Extensibilidad del la funcionalidad del servidor funcionalidad del servidor solamente a través de solamente a través de ISAPI…ISAPI…

ASP.NET

PHPISAPI

Page 5: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Envio de repuestasLog Compress

NTLM Basic

Determine Handler

CGI

Static File

ISAPI

AutenticaciónAnon

SendResponse

Authentication

Authorization

ResolveCache

ExecuteHandler

UpdateCache

La funcionalidad del La funcionalidad del servidor se divide en servidor se divide en ~ 40 ~ 40 módulosmódulos......

Los módulos se enchufan Los módulos se enchufan a una pipeline genérica de a una pipeline genérica de peticionespeticiones

Los módulos Los módulos extienden la extienden la funcionalidad del servidorfuncionalidad del servidor a través de una API pública.a través de una API pública.

Page 6: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Instala, gestiona y actualiza solo los módulos en uso

Reduce la superficie de ataqueReduce la el consumo de recursos del servidor en memoriaProporciona mayor granularidad de controlPermite reemplazar componentes del núcleo del servidor con nuestros propios componentes

Page 7: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Implementación basada en ISAPISólo ve las peticiones ASP.NETCaracterísticas duplicadas

Send ResponseLog Compress

NTLM Basic

Determine Handler

CGI

Static File

ISAPI

AuthenticationAnon

AuthenticationForms Windows

Map Handler

ASPX

Trace

……

aspnet_isapi.dllaspnet_isapi.dll

Page 8: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Dos modosClásico (como ISAPI)

Modo IntegradoLo módulos de .NET se enchufan directamente en la pipelineProcesan todas las peticionesFidelidad total en tiempo de ejecución

Log

Compress

Basic

Static File

ISAPI

Anon

SendResponse

Authentication

Authorization

ResolveCache

ExecuteHandler

UpdateCache

…Authentication

Forms Windows

Map Handler

ASPX

Trace

……

aspnet_isapi.dllaspnet_isapi.dll

Page 9: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Soporte por defecto para aplicaciones FastCGI

Reutiliza los procesos CGI para peticiones múltiplesOptimizado para fiabilidad y alto rendimiento25 veces más rápido que CGI estándar

Rendimiento y fiabilidad probadas con PHP

Funciona con otros lenguajes dinámicos que soportan FastCGI, incluidos PHP, Ruby, PERL, etc.

Page 10: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Server ManagerMontones de componentesServidor estático por defecto[Vista] Usar características de Windows

Gestor de paquetesReemplaza a Sysocmgr

DesatendidaEl formato de fichero es totalmente diferente[Vista] Podemos escoger componentes, pero no establecer su configuración

Page 11: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Common HTTP Web Server ComponentsCommon HTTP Web Server Components

DirectoryListingModuleDirectoryListingModule

CustomErrorModuleCustomErrorModule

StaticFileModuleStaticFileModule DefaultDocumentModuleDefaultDocumentModule

HttpRedirectHttpRedirect

SecuritySecurity

BasicAuthModuleBasicAuthModule

DigestAuthModuleDigestAuthModule

WindowsAuthModuleWindowsAuthModule

CertificateAuthModuleCertificateAuthModule

AnonymousAuthModuleAnonymousAuthModule

IPSecurityModuleIPSecurityModule

UrlAuthorizationModuleUrlAuthorizationModule

RequestFilteringModuleRequestFilteringModule

Health and Health and DiagnosticsDiagnostics

HttpLoggingModuleHttpLoggingModule

CustomLoggingModuleCustomLoggingModule

RequestMonitorModuleRequestMonitorModule

HTTPTracingModuleHTTPTracingModule

ODBCLoggingODBCLogging

LoggingLibrariesLoggingLibraries

Application Application DevelopmentDevelopment

ISAPIModuleISAPIModule

ISAPIFilterModuleISAPIFilterModule

CGIModuleCGIModule

ServerSideIncludeModuleServerSideIncludeModule

NetFxExtensibilityNetFxExtensibility

ASPASP

ASP.NETASP.NET

PerformancePerformance

HTTPStaticCompressionHTTPStaticCompression

HTTPDynamicCompressionHTTPDynamicCompression

ManagementManagement

ManagementConsoleManagementConsole

ManagementServiceManagementService

ManagementScriptingManagementScripting

MetabaseMetabase

WMICompatibilityWMICompatibility

LegacyScriptsLegacyScripts

LegacySnap-inLegacySnap-in

FTP PublishingFTP Publishing

FTPServerFTPServer

FTPManagementFTPManagement

Windows Process Activation ServiceWindows Process Activation Service

ConfigurationAPIConfigurationAPIProcessModelProcessModel NetFxEnvironmentNetFxEnvironment

Page 12: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 13: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

El fichero principal de configuración es ahora applicationHost.configNo más ficheros metabase.bin o metabase.xmlPermite configurar propiedades de IIS y de ASP.NET en el mismo ficheroConstruida para ser simple, y con extensibilidad basada en un esquema

Podemos usar el fichero con el esquema para ver todas las posibilidades que nos ofrece la configuración:

%windir%\system32\inetsrv\config\schema\IIS_schema.xml

El esquema describe:Tipos de propiedadesValores por defectoValidacionesEtc.

Nota: Los valores de configuración son “case-sensitive”

Page 14: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

root configuration root configuration

machine.configmachine.config

root web.configroot web.config

applicationHost.configapplicationHost.config web.configweb.config.NET .NET

Framework Framework

ASP.NETASP.NET

IISIIS

IIS + IIS + ASP.NET + ASP.NET +

.NET Framework.NET Framework

web.config web.config

Herencia…

Page 15: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

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áquinaSimplemente copiar los ficheros, no se necesitan herramientas en línea de comandosOjo a la información específica de la máquina como IP’s y letras de unidad

Replicar la configuración de IIS en los ficheros web.config…XCOPY con la aplicació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/Windows Server 2008 proporciona:Client Side Caching (CSC)Caché de disco local

Distributed File System Replication (DFSR)Múltiples servidores de ficheros abstraídos en un sólo nombre de carpeta compartidaReplicación de contenido

Page 16: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Diseñada para escenarios de granjas de servidoresMúltiples servidores comparten un único fichero de configuraciónSe crea una carpeta compartida UNC para almacenarloSe configuran los servidores para hacer las peticiones de configuración al fichero centralPuede utilizarse un usuario local o de dominio como identidad para acceso a la carpeta compartida

Como se configura:Se exporta la configuración usando la característica “Shared Config” del IIS ManagerCrear usuarios locales idénticos ([Configuser]) en todos los servidores Web, o utilizar una cuenta de dominio

Asignar al usuario el derecho “Log on as a batch job”

Crear una carpeta compartida para los ficheros de configuraciónPermisos de la carpeta compartida: [Configuser] ChangeACLS: [Configuser] Read

Colocar los ficheros de configuración en la carpeta compartidaEditar redirection.config

Page 17: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 18: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Gestionar IIS y ASP.NET simultáneamenteVer datos del runtime:

worker processes, appdomains, executing requests

GUIGUI

Línea ComandosLínea Comandos

ScriptScript

Código ManejadoCódigo Manejado

IIS ManagerIIS Manager

appcmdappcmd

WMI (root\WebAdministration)WMI (root\WebAdministration)

Microsoft.Web.AdministrationMicrosoft.Web.Administration

Page 19: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Gestión Remota sobre

HTTP

Funcionalidades IIS y ASP.NET

fáciles de encontrar y usar

Permite delegar la Administración a los desarrolladores y los dueños de los Sitios Web

Page 20: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 21: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Set oIIS = GetObject("winmgmts:root\MicrosoftIISv2")

' Crear binding para nuevo sitioSet 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 retornoSet oService = oIIS.Get("IIsWebService.Name='W3SVC'")

strSiteName = oService.CreateNewSite("NuevoSitio", array(oBinding), "C:\inetpub\wwwroot")

Set objPath = CreateObject("WbemScripting.SWbemObjectPath") objPath.Path = strSiteNamestrSitePath = 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 aplicacionSet oVDir = oIIS.Get("IIsWebVirtualDir.Name='" & strSitePath & "/ROOT/bar'")

oVDir.AppCreate2 1

Crear Sitio

Crear Directorio Virtual

Crear Aplicación

NO ES CONSISTENTE

Page 22: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 23: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Administrar todo el Servidor WebSolo los administradoresCasi lo mismo que estar sentado delante del equipoBasada en HTTPS (atraviesa Firewalls)

Administrar Sites y AplicacionesAdmins y no-adminsDos tipos de Usuarios no Administradores

Usuarios de Windows (o también Grupos)Usuarios del IIS Manager

El Administrador decide lo que los usuarios no administradores pueden o no hacer (Delegación de Características)

Page 24: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Solo son usados por el servicio de Administración Remota

No se usan por ningún otro componente de IISNo guardan relación con los Usuarios de Windows

Los usuarios del IIS Manager y sus permisos se almacenan por defecto en el administration.config

Usan proveedores de Autenticación y Autorización propios de IISPueden reemplazarse por proveedores personalizados

Una vez están habilitados para administración remota, se les pueden otorgar permisos para Sites/Aplicaciones

Page 25: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Permite al Administrador del Servidor Web configurar las características a las que los usuarios tienen accesoLas Características que no están delegadas no son visibles en la interfaz gráfica a nivel de Site/ AplicaciónFunciona a base de bloquear o desbloquear secciones de configuraciónEl menor nivel de granularidad es el Aplicaciones

Page 26: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 27: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Notas

• MS02-011 & 012 no incluidos: Actualizan solo SMTP

• Inclusiones de ASP.NET : 1 – v 2.0 2 - v 1.1 3 - v 1.0= Críticos

= Rollup con X actualizaciones

XX

IIS 6

IIS 5

2002 2003 2004 2005

IIS 4

4/15Server2003 RTM

4/1002-018

6/1102-028

10/3002-062

5/2803-018

10/1204-021

(WebDAV DoS)

7/1304-021

88

88

44

44

44

44

< Críticos

2006

06/1106-034

(ASP)

Page 28: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Diseño modular: Menor superficie de ataque durante la instalación y la ejecuciónIntegración .Net

Autenticación por formularios para cualquier tipo de contenido.NET Role and Membership Providers

Cuenta de usuario Anónimo “built-in”Mas fácil de administrar, restaurar y configurar

Aislamiento de Application PoolsSandboxing entre aplicaciones

URLAuthorizationControla el acceso a sitios, carpetas o ficheros sin utilizar permisos NTFSLas reglas se almacenan en ficheros .config

Request FilteringReglas del estilo ULScan, que evitan servir URLs

Con determinadas cadenasDe determinada longitudDeterminados ficheros o Paths

Errores específicos asociadosLas reglas se almacenan en ficheros .configSin interfaz gráfica

Autenticación y SSL en modo KernelNegociaciones más rápidas y menos problemáticas

Page 29: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

IUSR en lugar de IUSR_<servermame>IUSR es “builtin”, no una cuenta local

No puede iniciar sesión en el sistemaSin contraseñas de las que preocuparseMismo SID en todos los Vista/2008Mismas ACLS válidas entre servidores

Si se deshabilita, el acceso anónimo todavía funciona

Usa la identidad del App Pool (Network Service por defecto)

IIS_IUSR reemplaza a IIS_WPG Grupo “Built-in”, no local, SID conocido, ACLs respetadas…Las identidades de los Aplication Pools se agregan automáticamente

Page 30: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 31: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Tradicionalmente la Publicación Web se ha hecho mediante alguna de estas tres tecnologíasTodas ellas tendrán una actualización específica, gratuita y descargable para Windows Server 2008

Page 32: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Integración con la nueva configuración y administración de IIS7Soporte de nuevos estándares (SSL, UTF8, IPv6)Mejoras para Hosting

Integración con el Web SiteSoporte de “Host names”Mejoras en el aislamiento de usuariosExtensibilidad

Autenticación personalizable (cuentas no basadas en Windows)Comandos personalizados

Cosas que NO incluyeSFTP (FTP/SSH): Microsoft no implementa SSHConfiguración delegadaCompatibilidad hacia atrás. No se actualizará para Windows Server 2003/Windows XP

Page 33: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 34: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Errores detallados para ofrecer:Acciones para la resoluciónLíneas de investigaciónIncluyen secciones de configuración, página, modulo cargado…Solo se envían a Localhost por motivos de seguridad

Más detalles en los códigos de error HTTP para identificar la raíz de los problemas

Guardados en los logs de IIS

Page 35: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Construido en el propio Sistema OperativoPresente en 2003 y extendido en Windows Server 2008 de manera significativa

ETW guarda los informes en un fichero binarioSin Configuración GráficaLos Logs pueden ser grandes y se deben procesar con una utilidad (LogParser 2.2)No se pueden establecer triggers sobre eventos almacenados en los logs

Page 36: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Permite “no-repro instrumentation” para peticiones fallidasHabilitar el “tracing”, pero mantener solamente los eventos de peticiones fallidas

Permite definiciones de fallos personalizables por URLHora de la capturaCódigos de Estado/Sub-estado

Logs de fallos que persisten mas allá de la vida del procesoEscenarios comunes:

Peticiones que tardan mucho o que se cuelganErrores de petición o peticiones completadas con errores y códigos de estado

Problemas de Autenticación/AutorizaciónErrores 500 de servidor

Pre-formateados en XSLT para facilitar su análisis

Page 37: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 38: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain
Page 39: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Geeks.mshttp://geeks.ms/blogs/iis

Plain Conceptshttp://www.plainconcepts.com

Page 40: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Internet Information Services (IIS) 7.0 (Beta) Technical LibraryGetting Started With IIS 7.0IIS 7.0 ArchitectureOverview of Available Features in IIS 7.0 Using Delegated Administration in the IIS7 Administration ToolUpgrading ASP.NET Applications to IIS 7.0IIS Administration ToolsCommon Administrative TasksCommand Line Administration with IIS7--AppCmd.exeKerberos Authentication for Load-Balanced Web SitesHow to Use Request FilteringThe New Runtime State and Control API and Failed Request Tracing

Page 41: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

• TechCenter de Windows Server 2008http://www.microsoft.com/spain/technet/prodtechnol/windowsserver/2008/default.mspx

• Próximos webcasts en vivohttp://www.microsoft.com/spain/technet/jornadas/default.mspx

• Webcasts grabados sobre Windows Serverhttp://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx?id=1

• Webcasts grabados otras tecnologías Microsofthttp://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx

• Foros técnicoshttp://forums.microsoft.com/technet-es/default.aspx?siteid=30

Page 42: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

• Registrarse a la newsletter TechNet Flashhttp://www.microsoft.com/spain/technet/boletines/default.mspx

• Obtenga una Suscripción TechNet Plushttp://technet.microsoft.com/es-es/subscriptions/default.aspx

Page 43: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

Microsoft Confidential

El Rostro de Windows Server El Rostro de Windows Server

está cambiando.está cambiando.

Descúbrelo en Descúbrelo en

www.microsoft.es/rostros www.microsoft.es/rostros

Page 44: David Cervigón Luna IT Pro Evangelist david.cervigon@microsoft.com  Iván González Vilaboa Develoment Advisor Plain

David Cervigón LunaIT Pro [email protected]://blogs.technet.com/

davidcervigon

Iván González VilaboaDeveloment AdvisorPlain ConceptsMicrosoft MVP – Windows Server [email protected]