1 lo nuevo en iis 7 parte 1: inicio del camino jorge oblitas especialista en tecnologías de...
Post on 03-Jan-2015
9 Views
Preview:
TRANSCRIPT
1
Lo nuevo en IIS 7Parte 1: inicio del camino
Jorge OblitasEspecialista en tecnologías de desarrolloMicrosoft Perú
2
AgendaAgendaLa historia de IIS
Seguridad en IIS 6Filosofía de DiseñoCaracterísticas mejoradas de seguridad
Reporte de Seguridad de IISResultadosPercepción del mercado
IIS 7
La historia de IIS
Seguridad en IIS 6Filosofía de DiseñoCaracterísticas mejoradas de seguridad
Reporte de Seguridad de IISResultadosPercepción del mercado
IIS 7
3
Algunos datosAlgunos datosIIS 4 (Windows NT 4) y ISS 5 (Windows 2000) fueron diseñados para fácil uso – no para ser seguros
IIS y todas sus extensiones instalados por defectoLos clientes tenían control limitado en las implementaciones de IIS
IIS 4 (Windows NT 4) y ISS 5 (Windows 2000) fueron diseñados para fácil uso – no para ser seguros
IIS y todas sus extensiones instalados por defectoLos clientes tenían control limitado en las implementaciones de IIS
4
IIS 5IIS 5
5
En picada!En picada!
Después de Code Red and Nimda, Septiembre 2001
"Gartner recomienda que las empresas que fueron afectadas por Code Red y Nimda investiguen inmediatamente alternativas a IIS, incluyendo el mover sus aplicaciones Web hacia otros servidores de otros proveedores, como iPlanet y Apache”, comentaba John Pescatore de Gartner.
Después de Code Red and Nimda, Septiembre 2001
"Gartner recomienda que las empresas que fueron afectadas por Code Red y Nimda investiguen inmediatamente alternativas a IIS, incluyendo el mover sus aplicaciones Web hacia otros servidores de otros proveedores, como iPlanet y Apache”, comentaba John Pescatore de Gartner.
6
Tendencias de Servidores WebTendencias de Servidores Web
Fuente: Netcraft
20%
30%
40%
50%
60%
Feb'99
Mar'00
Mar'01
Mar'02
Sep'02
Dec'02
Mar'03
Oct'03
Apr'04
Oct'04
Jan'05
Apr'05
IIS
Apache
20%
30%
40%
50%
60%
Feb'99
Mar'00
Mar'01
Mar'02
Sep'02
Dec'02
Mar'03
Oct'03
Apr'04
Oct'04
Jan'05
Apr'05
IIS
Apache
Nimda y Red Code
7
El Capitán dice “Media vuelta!”El Capitán dice “Media vuelta!”Enero 15, 2002 – Bill Gates lanza el memo
de Computación Confiable
“A partir de ahora, cuando tengamos la opción de agregar nuevas características o resolver problemas de seguridad en nuestros productos, vamos a escoger siempre la seguridad. Nuestros productos deben garantizar seguridad desde que salen de la caja, y nosotros debemos refinar e incrementar constantemente esa seguridad así como las amenazas evolucionan…”
Enero 15, 2002 – Bill Gates lanza el memo de Computación Confiable
“A partir de ahora, cuando tengamos la opción de agregar nuevas características o resolver problemas de seguridad en nuestros productos, vamos a escoger siempre la seguridad. Nuestros productos deben garantizar seguridad desde que salen de la caja, y nosotros debemos refinar e incrementar constantemente esa seguridad así como las amenazas evolucionan…”
8
Empuje de Seguridad en WindowsEmpuje de Seguridad en Windows
Se estableció un equipo de seguridad8,500 personasEducación extensiva en practicas de seguridadInspección intensiva en todo el código base
Mejora de las practicas de desarrolloPrueba extensiva de infraestructuraRevisión de seguridad por cada característicaModelo de amenazasCódigo “legacy” removido
Revisión y pruebas de terceros
Se estableció un equipo de seguridad8,500 personasEducación extensiva en practicas de seguridadInspección intensiva en todo el código base
Mejora de las practicas de desarrolloPrueba extensiva de infraestructuraRevisión de seguridad por cada característicaModelo de amenazasCódigo “legacy” removido
Revisión y pruebas de terceros
9
IIS 6: Seguro por DiseñoIIS 6: Seguro por DiseñoNo instalado por defecto en Windows Server 2003Las políticas de Grupo de Windows evitan su instalaciónIIS deshabilitado cuando se actualiza desde IIS 5 a IIS 6Instalación por defecto mínima
SMTP, NNTP y FTP no instalados por defectoCaracterísticas dinámicas no habilitadas por defecto
No instalado por defecto en Windows Server 2003Las políticas de Grupo de Windows evitan su instalaciónIIS deshabilitado cuando se actualiza desde IIS 5 a IIS 6Instalación por defecto mínima
SMTP, NNTP y FTP no instalados por defectoCaracterísticas dinámicas no habilitadas por defecto
* * Exceptop para Windows Server 2003, Web EditionExceptop para Windows Server 2003, Web Edition
10
IIS 6: Seguro por DefectoIIS 6: Seguro por DefectoCaracterísticas agresivas de seguridad
Proporciona solo contenido estático por defecto16k de requerimiento límiteHTTP RFC obligatorioASP “Post” limitado a 200kASP “Upload” limitado a 4 MBProtección contra escritura de contenidoACLs mejorado en “log files” y directorios de contenido
Privilegios bajos para la cuenta “Network Services”Mejora en los permisos NTFS
Características agresivas de seguridadProporciona solo contenido estático por defecto16k de requerimiento límiteHTTP RFC obligatorioASP “Post” limitado a 200kASP “Upload” limitado a 4 MBProtección contra escritura de contenidoACLs mejorado en “log files” y directorios de contenido
Privilegios bajos para la cuenta “Network Services”Mejora en los permisos NTFS
11
Mejora en los permisos NTFSMejora en los permisos NTFS
• Escritura en disco Escritura en disco wwwroot denegadowwwroot denegado• Ejecución en Ejecución en “System Tools” “System Tools” denegadodenegado• No se puede No se puede acceder a los logs acceder a los logs de IISde IIS
Usuario Usuario AnónimoAnónimo
12
Web Site por defecto: antes y ahoraWeb Site por defecto: antes y ahoraIIS 5 Windows 2000IIS 5 Windows 2000
Muchas apps y folders. Algunas insegurasMuchas apps y folders. Algunas inseguras
IIS 6 Windows 2003IIS 6 Windows 20032 archivos estáticos2 archivos estáticos
13
Bajo privilegio en “Process Identity”Bajo privilegio en “Process Identity”
No “user code” en proceso privilegiadoFácil de crear grupos aislados de aplicaciones Servicios de Admin de IIS estan aislados de las apps Web
No “user code” en proceso privilegiadoFácil de crear grupos aislados de aplicaciones Servicios de Admin de IIS estan aislados de las apps Web
14
Web Service ExtensionsWeb Service ExtensionsTodos los ejecutables deben ser permitidos EXPLICITAMENTE: ninguno es permitido por
defecto
15
Más Seguridad en IIS 6 MejorasMás Seguridad en IIS 6 Mejoras
Directorios padre deshabilitado por defectoTipos “mime” deben ser reconocidos o sino error 404“Verificar si archivo existe” encendido por defectoScripts de administración no accesibles mediante URLPermisos mejorados para archivos “log”Requerimientos no reconocidos rechazadosY más…
Directorios padre deshabilitado por defectoTipos “mime” deben ser reconocidos o sino error 404“Verificar si archivo existe” encendido por defectoScripts de administración no accesibles mediante URLPermisos mejorados para archivos “log”Requerimientos no reconocidos rechazadosY más…
16
Windows Server 2003 Mejoras de SeguridadWindows Server 2003 Mejoras de Seguridad
Servidos deshabilitados = Reduce ataquesManejo de Parches mejorado:
Menos reiniciacionesWindows Update ServicesWindows Update Client
Modo de Seguridad alta en IE por defectoMejoras en Service Pack 1
Windows Firewall Asistentes de configuración de Seguridad
Servidos deshabilitados = Reduce ataquesManejo de Parches mejorado:
Menos reiniciacionesWindows Update ServicesWindows Update Client
Modo de Seguridad alta en IE por defectoMejoras en Service Pack 1
Windows Firewall Asistentes de configuración de Seguridad
17
¿Todas estas mejoras hicieron alguna diferencia?
¿Todas estas mejoras hicieron alguna diferencia?
18
Progreso de Seguridad para IISProgreso de Seguridad para IIS
- Notas -
MS02-011 & 012 no incluidos: afecta sólo el servicio SMTP
ASP.NET agrega 2 arriba
Un parche de seguridad para IIS 6 desde RTM
= Crítico
= liberación de X actualizaciones
XX
IIS 6
IIS 5
2002 2003 2004 2005
IIS 4
4/15Server 2003 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ítico
19
Número de parches críticos de seguridad para IIS 6 desde
RTM
Número de parches críticos de seguridad para IIS 6 desde
RTM
Hasta el 04 Agosto 2005Hasta el 04 Agosto 2005
20
Comparación de VulnerabilidadComparación de Vulnerabilidad
21
22
IIS no puede ser rechazado IIS no puede ser rechazado en términos técnicos como en términos técnicos como una plataforma insegura.una plataforma insegura.
23
Pero…Pero…
¿Que hay sobre la percepción pública de la seguridad de IIS?
¿Que hay sobre la percepción pública de la seguridad de IIS?
24
Gartner Reconsidera!Gartner Reconsidera!Management Update de Gartner - 2005Management Update de Gartner - 2005
http://www.gartner.com/DisplayDocument?doc_cd=125453MS internal: MS internal: http://mslibrary/research/MktResearch/Gartner2/research/125400/125453/125453.html
Casi imposible de encontrar en Casi imposible de encontrar en GoogleGoogle
25
Sitios Web de las empresas Fortune 1000 utilizando IISSitios Web de las empresas Fortune 1000 utilizando IIS
http://port80software.com/surveys/top1000webservers/http://port80software.com/surveys/top1000webservers/
26
InfoWorld: Julio 27, 2005InfoWorld: Julio 27, 2005“El reciente cambio de rumbo de II fue
remarcable. La versión 6 es sólido como una roca y posiblemente más seguro que Apache.”
“El reciente cambio de rumbo de II fue remarcable. La versión 6 es sólido como una roca y posiblemente más seguro que Apache.”
http://www.infoworld.com/article/05/07/27/31OPstrategic_1.htmlhttp://www.infoworld.com/article/05/07/27/31OPstrategic_1.html
27
ResumenResumenConfianza: fácil de perder, difícil de volver a ganarLos impactos de la Iniciativa de Computación Confiable comienzan a impactar en la opinión públicaIIS 6 es una plataforma sólida
Cero “fixes” críticos desde RTM (a la fecha)IIS 6 es seguro por defecto y por diseñoMejora en la seguridad de Windows 2003 ServerGartner dice “IIS no es más un problema” 53% del mercado de Empresas Fortune 1000
Confianza: fácil de perder, difícil de volver a ganarLos impactos de la Iniciativa de Computación Confiable comienzan a impactar en la opinión públicaIIS 6 es una plataforma sólida
Cero “fixes” críticos desde RTM (a la fecha)IIS 6 es seguro por defecto y por diseñoMejora en la seguridad de Windows 2003 ServerGartner dice “IIS no es más un problema” 53% del mercado de Empresas Fortune 1000
28
IIS7Longhorn
29
AgendaAgendaPlataforma de Servidor Web Integrada, Extensible
Sistema de Configuración Unificado, mejoradoNueva herramienta de Administración con Soporte de Administración DelegadoNúcleo Web Extensible, ComponentizadoCaracterísticas de Diagnóstico y Monitoreo integrado
Plataforma de Servidor Web Integrada, Extensible
Sistema de Configuración Unificado, mejoradoNueva herramienta de Administración con Soporte de Administración DelegadoNúcleo Web Extensible, ComponentizadoCaracterísticas de Diagnóstico y Monitoreo integrado
30
Configuración“No sería bueno si…”Configuración“No sería bueno si…”
Los Administradores pudieran delegar su controlHabilitar “dueños” de sitio y Aplicaciones para modificar configuraciones opcionalmente
Poder acceder vía FTP a todas las configuraciones de las aplicaciones en el Servidor Web
Y no tener que usar herramientas de administración para configurar manualmente las cosasTener “Xcopy deployment” para páginas, código, binarios y todas las configuraciones
Pudiera guardar mis archivos de configuración de IIS, ASP.NET + Indigo en el mismo archivo
Y no tener APIs de conceptos y configuraciones separados del “master”Y las autorizaciones, errores personalizados de IIS/ASP.NET están configurados de una sola manera
Pudiera tener un modelo de configuración más limpio, esquematizado y fácil
Archivos de configuración fáciles de editar a mano, mediante API o desde la herramienta de administración
Los Administradores pudieran delegar su controlHabilitar “dueños” de sitio y Aplicaciones para modificar configuraciones opcionalmente
Poder acceder vía FTP a todas las configuraciones de las aplicaciones en el Servidor Web
Y no tener que usar herramientas de administración para configurar manualmente las cosasTener “Xcopy deployment” para páginas, código, binarios y todas las configuraciones
Pudiera guardar mis archivos de configuración de IIS, ASP.NET + Indigo en el mismo archivo
Y no tener APIs de conceptos y configuraciones separados del “master”Y las autorizaciones, errores personalizados de IIS/ASP.NET están configurados de una sola manera
Pudiera tener un modelo de configuración más limpio, esquematizado y fácil
Archivos de configuración fáciles de editar a mano, mediante API o desde la herramienta de administración
31
Herramienta de Administración“No sería bueno si…”
Herramienta de Administración“No sería bueno si…”Pudiera tener una herramienta administrativa fácil
de usarUn modelo más intuitivo basado en “tareas” en ves de el “infierno” de las propiedades de página
Pudiera manejar todo de una manera consistenteIIS y ASP.NET integrados en vez de tener “tabs” aisladosConfiguración de seguridad en un solo lugar en vez de en cuatro
Pudiera utilizar la herramienta de administración para escenarios de ”hosting”
Habilitar “delegated management” básicamente por-site/por-aplicaciones Utilizar HTTP como protocolo base, manejado a través de “proxies”Herramienta de administración de usuarios no requiere de una cuenta de administración desde un servidor remoto
Pudiera utilizar la herramienta de administración para manejar 1000’s Sitios Web
Pudiera tener una herramienta administrativa fácil de usar
Un modelo más intuitivo basado en “tareas” en ves de el “infierno” de las propiedades de página
Pudiera manejar todo de una manera consistenteIIS y ASP.NET integrados en vez de tener “tabs” aisladosConfiguración de seguridad en un solo lugar en vez de en cuatro
Pudiera utilizar la herramienta de administración para escenarios de ”hosting”
Habilitar “delegated management” básicamente por-site/por-aplicaciones Utilizar HTTP como protocolo base, manejado a través de “proxies”Herramienta de administración de usuarios no requiere de una cuenta de administración desde un servidor remoto
Pudiera utilizar la herramienta de administración para manejar 1000’s Sitios Web
32
Extensibilidad“No sería bueno si…”Extensibilidad“No sería bueno si…”
Todo el corazón del servidor fue modulado y construido en una API pública extensible
Mediante una arquitectura “Building Block” donde las características principales pueden ser agregadas y removidas
Pudiera construir módulos que extiendan el Servidor WebAgregar nuevos esquemas de autentificación/autorizaciónReemplazar la forma de revisar el directorio o el registro del servidor
Pudiera construir módulos utilizando una API nativa o manejadaLas APIs de los módulos deberían hacer que el crear módulos sea rápido y sencillo
API administrada == IHttpModule en ASP.NET hoy en día
Funcionalidad + características han sido integradas entre IIS/ASP.NETMódulos existentes de ASP.NET pueden ser utilizados en contenidos diferentes a ASP.NETEjemplo: Autentificación de formularios y administración de roles para contenido estático
Pudiera encontrar cientos de módulos construidos por la comunidadUn gran ecosistema de módulos que puedan utilizarse fácilmente
Pueda personalizar la cantidad de trabajo de mi servidor a la vez que reduzco las posibilidades de ataques
Instalar sólo los módulos que realmente se necesitan
Todo el corazón del servidor fue modulado y construido en una API pública extensible
Mediante una arquitectura “Building Block” donde las características principales pueden ser agregadas y removidas
Pudiera construir módulos que extiendan el Servidor WebAgregar nuevos esquemas de autentificación/autorizaciónReemplazar la forma de revisar el directorio o el registro del servidor
Pudiera construir módulos utilizando una API nativa o manejadaLas APIs de los módulos deberían hacer que el crear módulos sea rápido y sencillo
API administrada == IHttpModule en ASP.NET hoy en día
Funcionalidad + características han sido integradas entre IIS/ASP.NETMódulos existentes de ASP.NET pueden ser utilizados en contenidos diferentes a ASP.NETEjemplo: Autentificación de formularios y administración de roles para contenido estático
Pudiera encontrar cientos de módulos construidos por la comunidadUn gran ecosistema de módulos que puedan utilizarse fácilmente
Pueda personalizar la cantidad de trabajo de mi servidor a la vez que reduzco las posibilidades de ataques
Instalar sólo los módulos que realmente se necesitan
33
Arquitectura Modular de IIS7Eventos Unificados
Arquitectura Modular de IIS7Eventos UnificadosEventos Eventos
“Request”“Request”BeginAuthenticateAuthorizeResolve CacheMap HandlerAcquire StatePreExecute HandlerExecute HandlerRelease StateUpdate CacheLogEnd
Eventos Eventos “Request”“Request”
BeginAuthenticateAuthorizeResolve CacheMap HandlerAcquire StatePreExecute HandlerExecute HandlerRelease StateUpdate CacheLogEnd
EventosEventos Globales (sólo Globales (sólo nativos)nativos)
InitializeShutdownConfig ChangeFile ChangeHealth CheckEtc
34
Módulos IIS7 en Longhorn ServerMódulos IIS7 en Longhorn Server
Http Protocol Http Protocol SupportSupportValidationRangeModuleValidationRangeModule TraceVerbModuleTraceVerbModule
OptionsVerbModuleOptionsVerbModule ClientRedirectionModuleClientRedirectionModule
Logging and Logging and DiagnosticsDiagnostics
HttpLoggingModuleHttpLoggingModule
CustomLoggingModuleCustomLoggingModule
Configuration and Metadata Configuration and Metadata CachesCachesConfigurationModuleConfigurationModule UriCacheModuleUriCacheModule
SiteCacheModuleSiteCacheModule FileCacheModuleFileCacheModule
Core Web ServerCore Web ServerDirectoryListingModuleDirectoryListingModule CustomErrorModuleCustomErrorModule
DynamicCompressionModuleDynamicCompressionModule StaticCompressionModuleStaticCompressionModule
StaticFileModuleStaticFileModule DefaultDocumentModuleDefaultDocumentModule
HttpCacheModuleHttpCacheModule
RequestMonitorModuleRequestMonitorModule
TracingModuleTracingModule
AuthN/AuthZAuthN/AuthZ
BasicAuthModuleBasicAuthModule
DigestAuthModuleDigestAuthModule
WindowsAuthModuleWindowsAuthModule
CertificateAuthModuleCertificateAuthModule
AnonymousAuthModuleAnonymousAuthModule
FormsAuthModuleFormsAuthModule
AccessCheckModuleAccessCheckModule
UrlAuthorizationModuleUrlAuthorizationModule
ExtensibilityExtensibility
ISAPIModuleISAPIModule
ISAPIFilterModuleISAPIFilterModule
CGIModuleCGIModule
ServerSideIncludeModuleServerSideIncludeModule
ManagedEngineModuleManagedEngineModule
PublishingPublishing
DavModuleDavModule
35
Diagnósticos“No sería bueno si…”Diagnósticos“No sería bueno si…”
Pudiera ver los requerimientos de ejecutables en tiempo real
Ejemplo: : ¿Que requerimiento esta llevando el CPU al 100%?
Pudiera ver fácilmente el estado de todos los Sitios, “pool” de Apps y Apps en general
Ejemplo: ¿Existe algún “pool” de aplicaciones fallando en mi servidor?Ejemplo: ¿Que aplicaciones están activas actualmente?
Pudiera rastrear un requerimiento desde el comienzo hasta el final
Ejemplo: : ¿En donde existe una falla de permisos en un requerimiento?
Pudiera habilitar rastreo automático parar todos los requerimientos fallidos
Ejemplo: Crear un “Log” de rastreo detallado para fallas específicas de código o si el requerimiento se “demora demasiado”Configurable por cada aplicación
Pudiera ver los eventos de ASP.Net & IIS en la misma fuente?Ejemplo : Eventos de Rastreo de páginas ASP.Net & Eventos de infraestructura de IIS en la mismo fuente
Pudiera ver los requerimientos de ejecutables en tiempo real
Ejemplo: : ¿Que requerimiento esta llevando el CPU al 100%?
Pudiera ver fácilmente el estado de todos los Sitios, “pool” de Apps y Apps en general
Ejemplo: ¿Existe algún “pool” de aplicaciones fallando en mi servidor?Ejemplo: ¿Que aplicaciones están activas actualmente?
Pudiera rastrear un requerimiento desde el comienzo hasta el final
Ejemplo: : ¿En donde existe una falla de permisos en un requerimiento?
Pudiera habilitar rastreo automático parar todos los requerimientos fallidos
Ejemplo: Crear un “Log” de rastreo detallado para fallas específicas de código o si el requerimiento se “demora demasiado”Configurable por cada aplicación
Pudiera ver los eventos de ASP.Net & IIS en la misma fuente?Ejemplo : Eventos de Rastreo de páginas ASP.Net & Eventos de infraestructura de IIS en la mismo fuente
36
Compatibilidad“Me encanta IIS7 porque…”Compatibilidad“Me encanta IIS7 porque…”
No necesito dar vueltas para hacer la actualización
Puedo utilizar el “setup” estándar del Sistema Operativo para actualizaciones desde IIS 5 y IIS 6
Mis extensiones ISAPI y filtros existentes funcionan sin problemas
Módulos ISAPI en IIS7 proporcionan compatibilidad con versiones anteriores
Puedo ejecutar ASP.NET V1.1 y V2.0Cada “Pool” de aplicaciones pueden ser mapeadas por separado en una versión del CLR
Puedo seguir usando API’s ABO, ADSI y WMI APIs para configuraciones
Continúan manejando y configurando las opciones correctamente
No necesito dar vueltas para hacer la actualización
Puedo utilizar el “setup” estándar del Sistema Operativo para actualizaciones desde IIS 5 y IIS 6
Mis extensiones ISAPI y filtros existentes funcionan sin problemas
Módulos ISAPI en IIS7 proporcionan compatibilidad con versiones anteriores
Puedo ejecutar ASP.NET V1.1 y V2.0Cada “Pool” de aplicaciones pueden ser mapeadas por separado en una versión del CLR
Puedo seguir usando API’s ABO, ADSI y WMI APIs para configuraciones
Continúan manejando y configurando las opciones correctamente
37
ResumenResumenIIS7 será una versión mayor que ofrece
Muchísima extensibilidad, flexibilidad y personalizaciónUn integrado “Stack” de Aplicaciones WebCompatibilidad con aplicaciones existentesConfiabilidad a prueba de balasSeguridad
IIS7 será una versión mayor que ofrece
Muchísima extensibilidad, flexibilidad y personalizaciónUn integrado “Stack” de Aplicaciones WebCompatibilidad con aplicaciones existentesConfiabilidad a prueba de balasSeguridad
38
top related