Securización Internet Information Services 6.0 y SQL Server 2000 Iván González Vilaboa Microsoft...
-
Upload
victor-rita -
Category
Documents
-
view
11 -
download
3
Transcript of Securización Internet Information Services 6.0 y SQL Server 2000 Iván González Vilaboa Microsoft...
Securización Internet Information Services 6.0
y SQL Server 2000
Iván González VilaboaMicrosoft MVPWindows Server - IIS
Internet Information Services 6.0 ¿Qué es?
Proporciona a Windows...Un servidor de aplicaciones Web
Un servidor de FTP
Un servidor de news (NNTP)
Un servidor de SMTP
Da soporte a aplicaciones Web:Active Server Pages (.asp)
ASP.NET (.aspx)
…
Esto último es uno de sus factores de éxito
Internet Information Services 6.0 ¿Qué ha cambiado?
IIS 6.0 no es simplemente una nueva versión
Practicamente se ha rehecho
Cambiosen la arquitectura
Aislamiento de Worker Process
Kernel-Mode Queuing
en el almacenamiento de la metabase
en la consola de administración
en el servicio de FTP
Internet Information Services 6.0 Nueva arquitectura
HTTP.SYS: proceso en modo kernel (núcleo); recibe y encamina peticiones httpWAS: proceso de configuración y gestión (WAS = Web Administration Service)W3WP.exe: entorno de ejecución para aplicaciones web
(WP=Worker Process)Nuevo esquema de aislamiento de aplicacionesSoporte para múltiples procesos WP
web web appapp
WASWAS W3WP.exeW3WP.exe
web web appapp
HTTP.SYSHTTP.SYS
kern
elke
rnel
W3WP.exeW3WP.exe
web web appapp
W3WP.exeW3WP.exe
web web appapp
Internet Information Services 6.0 Proceso de peticiones en el kernel: HTTP.sys
CacheCacheMotor HTTPMotor HTTP
NamespaceNamespaceMapperMapper
Co
laC
ola
Pet
icio
nes
Pet
icio
nes
EnvíoEnvíoRespuestaRespuesta
PeticiónPetición
Worker ProcessWorker Process
HTTP.sysHTTP.sys
HSE_REQ_ENABLE_CACHEHSE_REQ_ENABLE_CACHE
Co
laC
ola
Pet
icio
nes
Pet
icio
nes
Co
laC
ola
Pet
icio
nes
Pet
icio
nes
RespuestaRespuesta
Internet Information Services 6.0 Fiabilidad: la arquitectura
Aislamiento total de procesos
uno o más procesos en comunicación directa con el kernel
Independiente de otros procesos
Application PoolsAgrupan sites y aplicaciones
Una cola de peticiones por Application Pool
Web Gardens
Colas gestionadas en modo kernel
HTTP.sysHTTP.sys
WASWAS
Worker Worker ProcessProcess
Filtro ISAPIFiltro ISAPI
ExtensiónExtensiónISAPIISAPI
Worker Worker ProcessProcess
Filtro ISAPIFiltro ISAPI
ExtensiónExtensiónISAPIISAPI
Application PoolApplication Pool Application PoolApplication Pool
Internet Information Services 6.0 Application Pools
Podemos tener uno o másCada uno servido por uno o más W3WP.exe
Cada W3WP.exe solo sirve un pool
Peticiones redirigidas al pool por HTTP.sys
Podemos aislar las aplicaciones Web basándonos:
En sitio/cliente
En la funcionalidad
En la fiabilidad
Internet Information Services 6.0 Reciclado periódico de los procesos
Qué esReiniciamos las aplicaciones Web basándonos en:
El tiempo que llevan funcionando
El número de peticiones
En un calendario
En el consumo de memoria
Bajo demanda
Porqué usarloPrevenir que aplicaciones defectuosas afecten al sistema
Refrescar las aplicaciones para aumentar la disponibilidad
Internet Information Services 6.0 Arquitectura con autorecuperación
Qué esDiseñada para detectar bloqueos de threads dentro de W3WP.exe
Cómo funcionaW3SVC consulta cada W3WP.exe (pinging)
El proceso tiene un tiempo para responder
Si no responde en ese tiempo:Matar el proceso, publicar un evento y lanzar uno nuevo (por defecto)
IIS puede ser configurado para realizar una acción sobre el proceso
Internet Information Services 6.0 Detección de fallos y recuperación
Detección de fallosW3SVC detecta “casques” en W3WP.exe
W3SVC lanzará un nuevo W3WP.exe si es necesario
Las peticiones son encoladas por HTTP.sys mientras se crea el nuevo W3WP
Resultado: no existe interrupción en el servicio
ProtecciónSolo se permiten x fallos en y minutos
El pool será detenido si se superan estos valores (error 503 para las peticiones)
Internet Information Services 6.0 Fiabilidad: gestión de procesos
HTTP.SYSHTTP.SYSHTTP.SYSHTTP.SYS
Web Web AdminAdminServiceService
(WAS)WAS)
Web Web AdminAdminServiceService
(WAS)WAS)ExtensiónExtensión
ISAPIISAPI
Filtro ISAPIFiltro ISAPI
Worker Worker ProcessProcess
ExtensiónExtensiónISAPIISAPI
Filtro ISAPIFiltro ISAPI
Worker Worker ProcessProcess
ExtensiónExtensiónISAPIISAPI
Filtro ISAPIFiltro ISAPI
Worker Worker ProcessProcess
INETINFOINETINFO
metabasemetabaseExtensiónExtensión
ISAPIISAPI
Filtro ISAPIFiltro ISAPI
Worker Worker ProcessProcess
Internet Information Services 6.0 Escalabilidad: Dynamic Kernel Caching
Cache
Network Stack
HTTP.SYS
W3WP.EXE (IIS6.0)
ASP.NET/CLR
User Application
UserKernel
Database
GET http://www.acme.com/store/sproketcatalog.aspxGET http://www.acme.com/store/sproketcatalog.aspx
PeticiónPetición RespuestaRespuesta
SinSinCacheCache
ConConCacheCache
Cache
Network Stack
HTTP.SYS
W3WP.EXE (IIS6.0)
ASP.NET/CLR
User Application
UserKernel
Database
PeticiónPetición RespuestaRespuesta
<%@ OutputCache Duration="10" VaryByParam="none" %>
Internet Information Services 6.0 Seguridad
IIS no se instala por defecto en una instalación limpia
En una actualización se instala solo si teníamos instalado URLScan
Las URL’s están ahora limitadas a 16KB y presentan mayores restricciones
Que no existan caracteres especiales, etc.
RestriccionesSolo se ejecutan peticiones para extensiones permitidas
Solo se sirven ficheros con extensiones conocidasDefinidas en MIMEMAP
Herramientas de línea de comandos limitadas al grupo de administradores
Internet Information Services 6.0 Rendimiento
Web GardenApplication pool con más de un Worker Process
Afinidad de procesadorVincular los procesos de un Application pool a uno o más procesadores
Se hace caché de las respuestas en HTTP.sys (kernel)
Se liberan los procesos después de un tiempo de inactividad
Se relanzarán cuando sea necesario (peticiones)
Esto no implica que la aplicación no esté activa!!
Internet Information Services 6.0 Administración y gestión
Metabase en formato XML - ¡Menos reinicios!
Importación y exportación de la configuración
Elección entre varios interfaces de gestión
Nueva consola de administración vía Web
Internet Information Services 6.0 Mejoras en la metabase
La metabase almacena la configuración de IIS
XML MetabaseLa metabase ahora se almacena en XML
Existe un histórico de la metabase
Modo EditWhileRunningPermite hacer cambios a metabase.xml mientras IIS está funcionando
Es más seguro usar ADSI o el UI para hacer cambios
\systemroot\system32\inetsrv\Metabase.xml
MBSchema.xml
Seguridad en SQL Server 2000
Servicio SQLPor seguridad crearemos en Windows 2000 un usuario para lanzar el servidor SQL, “sqluser” ,si no creamos este usuario, el servicio será lanzado por el usuario LocalSystem.
Una vulnerabilidad que ejecute comandos en el sistema, sería ejecutado con privilegios de administración. De esta forma con el usuario sqluser (no es parte del grupo de administradores) los riegos que corre el sistema son mucho menores
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Autentificación:
Windows Siempre que sea posible.
SQL ServerVulnerable a la fuerza Bruta
Contraseñas
Tamaño, caracteres, ...
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Seguridad a Nivel de RedFiltrar puertos
1433 TCP/UDP
1434 TCP/UDP
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Eliminar las Bases de Datos de ejemplos
Para mayor seguridad en el sistema eliminaremos todos las bases de datos de ejemplo que dispone SQL Server
Northwind
Pub
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Habilitar registro de logsMediante el Administrador corporativo.Mediante el Analizador de consultas u osql.exe
Master..xp_instance_regwrite N’HKEY_LOCAL_MACHINE’,N’SOFTWARE\Microsoft\MSSQLServer\MSSQLServer’,N’AuditLevel’,REG_WORD,3
Deshabilitar SQL AgentEn caso de no ser necesario
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Cifrar los datos que sean posibles dentro de la Base de DatosNo ejecutar SQLServer en el contexto de una cuenta privilegiadaEliminar los procedimientos almacenados que no se utilicen como xp_cmdshell (Permisos)Quitar los permisos débiles de los procedimientos almacenados y dejar sólo saUtilizar alertas para detectar posibles incidencias o ataques
Seguridad en SQL Server 2000
Seguridad en SQL Server 2000
Asignar los permisos adecuados a las tablas, vistas y campos de las mismas para cada usuario.
Trabajo costoso, pero que tiene recompensa
Realizar un buen diseño de la BD
Público
Privado
Seguridad en SQL Server 2000
Seguridad en la Aplicación
Realizar un parseo adecuado de caracteres:Mediante expresiones regularesValidación de caracteres
PermitidosConsultas con “sa”
Las imprescindiblesCrear una cuenta de usuario con permisos mínimos.
invitadodb
y ahora…
Fiesta!!!
Recursos de la comunidad
IIS Community Portalhttp://www.microsoft.com/windowsserver2003/community/centers/iis/
Portal de IIShttp://www.microsoft.com/iis
Grupos de noticias de IISmicrosoft.public.inetserver.iismicrosoft.public.inetserver.iis.ftpmicrosoft.public.inetserver.iis.security
Grupos de noticiashttp://www.microsoft.com/communities/newsgroups/default.mspx
Recursos de la comunidadhttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
Grupos de usuarioshttp://www.microsoft.com/communities/usergroups/default.mspx
Lecturas recomendadas
TÍTULOTÍTULO IDIOMAIDIOMA
Microsoft® Windows® Security Microsoft® Windows® Security Resource KitResource Kit
ISBN: 0-7356-1868-2ISBN: 0-7356-1868-2
InglésInglés
Internet Information Services Internet Information Services (IIS) 6.0 Resource Kit(IIS) 6.0 Resource Kit
ISBN: ISBN: 0-7356-1420-20-7356-1420-2
InglésInglés
Al salir de aquí…
Cubrir el formulario de evaluaciónhttp://www.microsoft.com/spain/technet/unimer
Descargar esta presentaciónhttp://www.microsoft.com/spain/technet/justit
Ver otras sesiones sobre seguridadhttp://www.microsoft.com/technet/tcevents/webcasts/default.mspx
Descargar la guía de seguridadWindows 2000
http://www.microsoft.com/technet/security/prodtech/win2000/
Windows Server 2003http://www.microsoft.com/technet/security/prodtech/win2003/
Tomarnos unas cañas juntos!!!
examinanos!examinanos!
http://www.microsoft.com/spain/technet/unimer
Preguntas?Preguntas?Comentarios?Comentarios?
[email protected]@udc.es
© 2004 Microsoft Corporation. Todos los derechos reservados.© 2004 Microsoft Corporation. Todos los derechos reservados.Esta presentación es sólo con propósitos formativos. MICROSOFT NO GARANTIZA, Esta presentación es sólo con propósitos formativos. MICROSOFT NO GARANTIZA,
EXPLÍCITA O IMPLÍCITAMENTE, LOS CONTENIDOS DE ESTA PRESENTACIÓN.EXPLÍCITA O IMPLÍCITAMENTE, LOS CONTENIDOS DE ESTA PRESENTACIÓN.
© 2004 Microsoft Corporation. Todos los derechos reservados.© 2004 Microsoft Corporation. Todos los derechos reservados.Esta presentación es sólo con propósitos formativos. MICROSOFT NO GARANTIZA, Esta presentación es sólo con propósitos formativos. MICROSOFT NO GARANTIZA,
EXPLÍCITA O IMPLÍCITAMENTE, LOS CONTENIDOS DE ESTA PRESENTACIÓN.EXPLÍCITA O IMPLÍCITAMENTE, LOS CONTENIDOS DE ESTA PRESENTACIÓN.