Vous êtes sur la page 1sur 38

Lo nuevo en IIS 7

Parte 1: inicio del camino

Jorge Oblitas
Especialista en tecnologías de desarrollo
Microsoft Perú

1
Agenda
La historia de IIS
Seguridad en IIS 6
Filosofía de Diseño
Características mejoradas de seguridad

Reporte de Seguridad de IIS


Resultados
Percepción del mercado

IIS 7
2
Algunos datos
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 defecto
Los clientes tenían control limitado en
las implementaciones de IIS

3
IIS 5

4
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.

5
Tendencias de Servidores
Web
60%
Nimda y Red Code

50%

40%

30%
IIS
Apache
20%
Feb Mar Mar Mar Sep Dec Mar Oct Apr Oct J an Apr'
'99 '00 '01 '02 '02 '02 '03 '03 '04 '04 '05 05
6
Fuente: Netcraft
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…”
7
Empuje de Seguridad en
Windows
Se estableció un equipo de seguridad
8,500 personas
Educación extensiva en practicas de
seguridad
Inspección intensiva en todo el código
base
Mejora de las practicas de desarrollo
Prueba extensiva de infraestructura
Revisión de seguridad por cada
característica
Modelo de amenazas
Código “legacy” removido 8
IIS 6: Seguro por Diseño
No instalado por defecto en Windows
Server 2003
Las políticas de Grupo de Windows
evitan su instalación
IIS deshabilitado cuando se actualiza
desde IIS 5 a IIS 6
Instalación por defecto mínima
SMTP, NNTP y FTP no instalados por
defecto
Características dinámicas no habilitadas
por defecto
9
* Exceptop para Windows Server 2003, Web Edition
IIS 6: Seguro por Defecto
Características agresivas de seguridad
Proporciona solo contenido estático por
defecto
16k de requerimiento límite
HTTP RFC obligatorio
ASP “Post” limitado a 200k
ASP “Upload” limitado a 4 MB
Protección contra escritura de contenido
ACLs mejorado en “log files” y directorios
de contenido
Privilegios bajos para la cuenta
“Network Services”
Mejora en los permisos NTFS 10
Mejora en los permisos
NTFS
Usuario
Anónimo
• Escritura en disco
wwwroot denegado
• Ejecución en
“System Tools”
denegado
• No se puede
acceder a los logs
de IIS
11
Web Site por defecto: antes y
ahora
IIS 5 Windows 2000
Muchas apps y folders. Algunas inseguras

IIS 6 Windows 2003


2 archivos estáticos

12
Bajo privilegio en “Process
Identity”
No “user
code” en
proceso
privilegiado
Fácil de crear
grupos
aislados de
aplicaciones
Servicios de
Admin de IIS
estan 13
aislados de
Web Service Extensions
Todos los ejecutables deben ser permitidos
EXPLICITAMENTE: ninguno es permitido por
defecto

14
Más Seguridad en IIS 6
Mejoras
Directorios padre deshabilitado por
defecto
Tipos “mime” deben ser reconocidos o
sino error 404
“Verificar si archivo existe” encendido
por defecto
Scripts de administración no accesibles
mediante URL
Permisos mejorados para archivos
“log” 15
Windows Server 2003
Mejoras de Seguridad
Servidos deshabilitados = Reduce
ataques
Manejo de Parches mejorado:
Menos reiniciaciones
Windows Update Services
Windows Update Client
Modo de Seguridad alta en IE por
defecto
Mejoras en Service Pack 1
Windows Firewall 16
¿Todas estas
mejoras
hicieron alguna
diferencia?

17
Progreso de Seguridad para
IIS Un parche de seguridad para IIS 6 desde RTM
2002 2003 2004 2005
(WebDAV DoS)
4/15 10/12
Server 2003 RTM 04-021

IIS 6
4/10 6/11 10/30 5/28
02-018 02-028 02-062 03-018

IIS 5 8 4 4
7/13
04-021

IIS 4 8 4 4

< Crítico
- Notas -
= Crítico MS02-011 & 012 no incluidos:
X = liberación de X afecta sólo el servicio SMTP
actualizaciones ASP.NET agrega 2 arriba 18
Número de parches críticos de
seguridad para IIS 6 desde
RTM

19
Hasta el 04 Agosto 2005
Comparación de
Vulnerabilidad

20
21
IIS no puede ser rechazado
en términos técnicos como
una plataforma insegura.

22
Pero…

¿Que hay sobre la


percepción
pública de la
seguridad de IIS?

23
Gartner Reconsidera!
Management Update de Gartner -
2005

Casi imposible de encontrar en


Google
http://www.gartner.com/DisplayDocument?doc_cd=125453
MS internal: http://mslibrary/research/MktResearch/Gartner2/research/125400/125453/125453.htm
24
Sitios Web de las empresas
Fortune 1000 utilizando IIS

http://port80software.com/surveys/top1000webservers/
25
InfoWorld: 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.”

http://www.infoworld.com/article/05/07/27/31OPstrategic_1.html
26
Resumen
Confianza: fácil de perder, difícil de
volver a ganar
Los impactos de la Iniciativa de
Computación Confiable comienzan a
impactar en la opinión pública
IIS 6 es una plataforma sólida
Cero “fixes” críticos desde RTM (a la
fecha)
IIS 6 es seguro por defecto y por diseño
Mejora en la seguridad de Windows 2003
Server
Gartner dice “IIS no es más un problema”
53% del mercado de Empresas Fortune 27
Longhorn

IIS7
28
Agenda
Plataforma de Servidor Web
Integrada, Extensible
Sistema de Configuración Unificado,
mejorado
Nueva herramienta de Administración con
Soporte de Administración Delegado
Núcleo Web Extensible, Componentizado
Características de Diagnóstico y Monitoreo
integrado

29
Configuración
“No sería bueno si…”

Los Administradores pudieran delegar su control


Habilitar “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 cosas
Tener “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 30
Archivos de configuración fáciles de editar a mano, mediante API o
Herramienta de
Administración
“No sería
Pudiera tenerbueno si…” administrativa fácil
una herramienta
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 consistente


IIS y ASP.NET integrados en vez de tener “tabs” aislados
Configuració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 31
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 Web


Agregar nuevos esquemas de autentificación/autorización
Reemplazar la forma de revisar el directorio o el registro del servidor

Pudiera construir módulos utilizando una API nativa o manejada


Las 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.NET


Módulos existentes de ASP.NET pueden ser utilizados en contenidos diferentes a
ASP.NET
Ejemplo: Autentificación de formularios y administración de roles para contenido
estático

Pudiera encontrar cientos de módulos construidos por la comunidad


Un gran ecosistema de módulos que puedan utilizarse fácilmente

Pueda personalizar la cantidad de trabajo de mi servidor a la vez que


32
reduzco las posibilidades de ataques
Arquitectura Modular de
IIS7
Eventos
Eventos UnificadosEventos
“Request” Globales (sólo
Begin nativos)
Authenticate Initialize
Authorize Shutdown
Resolve Cache Config Change
Map Handler
File Change
Acquire State
PreExecute Handler Health Check
Execute Handler Etc
Release State
Update Cache
Log
End
33
Módulos IIS7 en Longhorn
Server
Logging and
Diagnostics
AuthN/AuthZ
BasicAuthModule
Extensibility
ManagedEngineModule
Publishing
DavModule
HttpLoggingModule
DigestAuthModule ISAPIModule
CustomLoggingModule
WindowsAuthModule ISAPIFilterModule
RequestMonitorModule
CertificateAuthModule CGIModule
TracingModule
AnonymousAuthModule ServerSideIncludeModule

FormsAuthModule

AccessCheckModule

UrlAuthorizationModule

Core Web Server


StaticFileModule DefaultDocumentModule DirectoryListingModule CustomErrorModule

HttpCacheModule DynamicCompressionModule StaticCompressionModule

Http Protocol Configuration and Metadata


Support
ValidationRangeModule TraceVerbModule Caches
ConfigurationModule UriCacheModule

OptionsVerbModule ClientRedirectionModule SiteCacheModule FileCacheModule

34
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
35
Pudiera ver los eventos de ASP.Net & IIS en la misma fuente?
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.0


Cada “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
36
correctamente
Resumen
IIS7 será una versión mayor que
ofrece
Muchísima extensibilidad, flexibilidad y
personalización
Un integrado “Stack” de Aplicaciones
Web
Compatibilidad con aplicaciones
existentes
Confiabilidad a prueba de balas
Seguridad

37
38

Vous aimerez peut-être aussi