La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad en ASP.NET Daniel Laco

Presentaciones similares


Presentación del tema: "Seguridad en ASP.NET Daniel Laco"— Transcripción de la presentación:

1

2 Seguridad en ASP.NET Daniel Laco

3 Agenda Como trabaja ASP.NET ? Tipos de Autenticación
Seguridad en WebServices Alternativas SSL Con Autenticación Windows Con Cerfiticados

4 Conceptos Impersonalización Autenticación Autorización

5 Esquema de Seguridad de ASP.NET

6 Identidad del Proceso El filtro ISAPI Aspnet_wp.exe Aspnet_isapi.dll
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 <processModel> <processModel enable="true" timeout="Infinite" ....userName="MACHINE" password="AutoGenerate" ..../>

7 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 Soporta seguridad a nivel de aplicación

8 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 <system.web> <identity impersonate="true" /> </system.web>

9 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

10 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 <location path="site1/application1" allowOverride="false"> <system.web> <identity impersonate="true"/> </system.web>  </location>

11 Autorización por URL Ejemplo: permite “Admins” o “WebServiceUsers” y deniega todos los otros usuarios Ejemplo: no permite usuarios anónimos <!-- * is all users, ? is anonymous users --> <authorization> <allow verbs="POST" Roles="Admins" /> <allow Roles="WebServiceUsers"/> <deny users="*" /> </authorization> <authorization> <deny users="?" /> </authorization>

12 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 Mas detalles en

13 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

14 Autenticación basada en Formularios
<authentication mode= "Forms"> <forms name=".ASPXAUTH" loginUrl="login.aspx" protection="all" timeout="30" path="/" /> </authentication>

15 Controlando los Request
HTTPHandlers HTTPModules

16 Proceso de Request en ASP.NET
Page ASP.NET Service HTTP Handler Application Http Context HTTP Module HTTP Module Global.asax .NET Code ASP.NET Runtime Native Code Host (IIS)

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

18 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.).

19 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); }

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

21 Configuración - Trust <location path="site1/application1"
allowoverride="false"> <system.web> <trust level="High" originUrl="http://www.foo.com"/> </system.web>  </location>

22 Seguridad en WebServices
Pasando Usuario y Clave en el método Generando una clave de sesión Autenticando por windows SoapHeaders

23 Recursos - Seguridad Nota: Cambios en la Versión 1 de Seguridad: Seguridad .NET en MSDN:

24 Preguntas ?

25 Muchas Gracias Por su participación !!
Daniel Laco


Descargar ppt "Seguridad en ASP.NET Daniel Laco"

Presentaciones similares


Anuncios Google