Upload
magdalena-davila
View
6
Download
3
Embed Size (px)
Citation preview
David Cervigón LunaIT Pro [email protected]://blogs.technet.com/davidcervigon
Iván González VilaboaDeveloment AdvisorPlain ConceptsMicrosoft MVP – Windows Server [email protected]
IntroducciónArquitectura y ExtensibilidadInstalación y DespliegueConfiguraciónAdministraciónSeguridadFTP7 y Publicación WebDiagnóstico y resolución de problemas
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
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
…
…
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.
…
…
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
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
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
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.
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
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
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”
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…
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
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
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
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
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
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)
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
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
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)
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
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
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
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
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
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
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
Geeks.mshttp://geeks.ms/blogs/iis
Plain Conceptshttp://www.plainconcepts.com
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
• 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
• 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
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
David Cervigón LunaIT Pro [email protected]://blogs.technet.com/
davidcervigon
Iván González VilaboaDeveloment AdvisorPlain ConceptsMicrosoft MVP – Windows Server [email protected]