Seguridad en ASP'NET - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Seguridad en ASP'NET

Description:

Puede tambi n correr con la cuenta ASP.NET o la cuenta ... Implementar un sistema pago por request. Restringir el acceso basado en reglas del negocio ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 29
Provided by: daniel591
Category:
Tags: asp | net | pago | seguridad

less

Transcript and Presenter's Notes

Title: Seguridad en ASP'NET


1
Seguridad en ASP.NET
  • Daniel Laco

danielL_at_vemn.com.ar
2
Agenda
  • Como trabaja ASP.NET ?
  • Tipos de Autenticación
  • Seguridad en WebServices
  • Alternativas
  • SSL
  • Con Autenticación Windows
  • Con Cerfiticados

3
Conceptos
  • Impersonalizacion
  • Autenticacion
  • Autorizacion

4
Esquema de Seguridad de ASP.NET
5
Identidad del Proceso
  • El filtro ISAPI
  • Aspnet_isapi.dll
  • Aspnet_wp.exe
  • El proceso que ejecuta los request
  • El usuario por defecto es Machine
  • Puede también correr con la cuenta ASP.NET o la
    cuenta configurada en ltprocessModelgt
  • ltprocessModel enable"true" timeout"Infinite"
    ....userName"MACHINE" password"AutoGenerate"
    ..../gt

6
Servicios de Seguridad
  • Autenticación y autorización en ASP.NET
  • Extensible y personalizable
  • Esquema de Autenticación transparente
  • Modelo simple de desarrollo
  • Soporte para autorizaciones granulares
  • Usa CLR Evidence-Based Security
  • Suporta seguridad a nivel de aplicación

7
Indentidad del Request
  • Impersonalización
  • Se ejecuta con el contexto de seguridad de la
    entidad que hace el Request
  • Configurable en ASP.NET
  • Habilitado para compatibilidad con el
    comportamiento de ASP

ltsystem.webgt ltidentity impersonate"true"
/gt lt/system.webgt
8
Autenticación
  • ASP.NET es una extensión ISAPI
  • Solo recibe pedidos para contenido que tenga un
    mapeo
  • Windows Authentication (vía IIS)
  • Basic, Digest, NTLM, Kerberos, IIS Certificate
  • Autenticación basada en Formularios (Cookie)
  • Verificación de credencial a nivel de Aplicación
  • Soporta Microsoft Passport
  • Autenticación Personalizada
  • Tiene un modelo simple de desarrollo

9
Configuración - Aplicaciones
  • Control administrativo sobre la configuración
  • Usado para forzar políticas de seguridad o
    restricciones en el comportamiento de una
    aplicación

ltlocation path"site1/application1"
allowOverride"false"gt ltsystem.webgt
ltidentity impersonate"true"/gt
lt/system.webgt  lt/locationgt
10
Autorización por URL
  • Ejemplo permite Admins o WebServiceUsers y
    deniega todos los otros usuarios
  • Ejemplo no permite usuarios anónimos

lt!-- is all users, ? is anonymous users
--gt ltauthorizationgt ltallow verbs"POST"
Roles"Admins" /gt ltallow Roles"WebServiceUsers"
/gt ltdeny users"" /gt lt/authorizationgt
ltauthorizationgt ltdeny users"?"
/gt lt/authorizationgt
11
Microsoft Passport
  • Un solo ingreso a través de múltiples sitios
  • Servicio de perfil de usuario
  • Integrado dentro de la autenticación de ASP .NET
  • Requiere la instalación del Passport SDK
  • ASP .NET envuelve IPassportManager,
    IPassportManager2, IPassportCrypt interfaces
  • Mas detalles en http//www.passport.com

12
Autenticación basada en Formularios
  • Fácil de implementar
  • ASP .NET provee redirección
  • Pasos
  • Configure IIS para que permita usuarios anónimos
    (típicamente)
  • Use SSL!
  • Configure ASP.NET con autenticación por cookie
  • Escriba su página de Login

13
Autenticación con formularios como trabaja
Web Browser
14
Autenticación basada en Formularios
ltauthentication mode "Forms"gt ltforms
name".ASPXAUTH" loginUrl"login.aspx
" protection"all"
timeout"30" path"/"
/gt lt/authenticationgt
15
Autenticaciónpor Formularios - Configuración
  • Sección ltmachineKeygt
  • Configura claves separadas para aislar
    aplicaciones

ltmachineKey validationKey"autogenerate"
decryptionKey"autogenerate"
validation"SHA1"/gt
16
Controlando los Request
  • HTTPHandlers
  • HTTPModules

17
Proceso de Request en ASP.NET
ASP.NET Page
ASP.NET Service
HTTP Handler
Application
HTTP Module
Http Context
HTTP Module
Global.asax
.NET Code
ASP.NET Runtime
Host (IIS)
Native Code
18
Eventos por Request
  • Eventos por Request (en orden)
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_AuthorizeRequest
  • Application_ResolveRequestCache
  • Application_AcquireRequestState
  • Application_PreRequestHandlerExecute
  • ltlos handler se ejecutan aquígt
  • Application_PostRequestHandlerExecute
  • Application_ReleaseRequestState
  • Application_UpdateRequestCache
  • Application_EndRequest

19
Autenticación Personalizada
  • Evento Handle AuthenticateRequest
  • Nivel de Aplicación (global.asax) o
  • Http Module (implementar IHttpModule)
  • Escenarios
  • Autenticación SOAP personalizada
  • Ej., la aplicación define esquemas basado en los
    headers de SOAP
  • Autenticación de formularios para dispositivos
    móviles que no tienen cookies.

20
Autorización Web Personalizada
  • Maneja el evento AuthorizeRequest
  • A nivel de aplicación (global.asax) o
  • Http Module (implementar IHttpModule)
  • Escenarios
  • Implementar un sistema pago por request
  • Restringir el acceso basado en reglas del negocio
  • Restringir el acceso basado en comportamientos
    variables (Ej., límite de acceso por día,, etc.).

21
Roles personalizados
  • Maneja el evento authentication
  • Reemplace HttpContext.User con un objeto
    personalizado de IPrincipal o GenericPrincipal

public void WindowsAuthentication_OnAuthenticate(
Object src, WindowsAuthenticationEvent e)
// reemplace HttpContext Principal
e.Context.User new MyPrincipal(e.Identity)
22
Verificando la Identidad de un Thread
lt_at_ Import Namespace"System.Security.Principal"
gt WindowsIdentity curr curr
WindowsIdentity.GetCurrent()
23
Seguridad de Acceso por Código
  • Las aplicaciones Web pueden configurarse con
    diferentes grados de confianza
  • Trust setting determina los permisos
  • Ej
  • Full trust las aplicaciones pueden usar todos
    los recursos (sujeto a las restricciones de SO)
  • Low trust acceso limitado, acceso a archivos de
    solo-lectura desde el directorio de la
    aplicación, conectividad de red limitada, etc.

24
Configuración - Trust
ltlocation path"site1/application1"
allowoverride"false"gt ltsystem.webgt
lttrust level"High" originUrl"http//www.foo.co
m"/gt lt/system.webgt  lt/locationgt
25
Seguridad en WebServices
  • Pasando Usuario y Clave en el método
  • Generando una clave de sesión
  • Autenticando por windows
  • SoapHeaders

26
Recursos - Seguridad
  • Nota http//www.microsoft.com/spain/msdn/articulo
    s/archivo/261001/voices/authaspdotnet.asp
  • Cambios en la Versión 1 de Seguridad
    http//msdn.microsoft.com/library/default.asp?url
    /library/en-us/dnnetsec/html/v1securitychanges.asp
  • Seguridad .NET en MSDN http//msdn.microsoft.com/
    library/default.asp?url/nhp/Default.asp?contentid
    28001369

27
Preguntas ?
28
Muchas GraciasPor su participación !!
  • Daniel Laco

danielL_at_vemn.com.ar
Write a Comment
User Comments (0)
About PowerShow.com