fundamentos de seguridad para aplicaciones web fundamentos de seguridad en... · agenda del día...

39

Upload: vudung

Post on 19-Apr-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET
Page 2: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

FundamentosFundamentos de de seguridadseguridadparapara aplicacionesaplicaciones WebWeb

Jorge OblitasJorge OblitasMicrosoft Regional DirectorMicrosoft Regional Directorwww.icuadrado.comwww.icuadrado.comwww.microsoft.com/rdwww.microsoft.com/rd

Page 3: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

Agenda del Agenda del ddííaa

FundamentosFundamentos de de SeguridadSeguridad paraparaaplicacionesaplicaciones WebWeb

SeguridadSeguridad esencialesencial parapara IIS y ASP.NETIIS y ASP.NETAtaquesAtaques y y ModeloModelo de de ataquesataques

A A ququéé temertemer y y porpor ququééIdentificandoIdentificando vulnerabilidadesvulnerabilidadessistemsistemááticamenteticamente

DefensasDefensas y y contramedidascontramedidasEscribiendoEscribiendo ccóódigodigo ASP.NET ASP.NET seguroseguro

UniendoUniendo todotodoAplicaciAplicacióónn referencialreferencial de Microsoft de Microsoft parapara el el OpenHackOpenHack

Page 4: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

Agenda de Agenda de estaesta sesisesióónn

PorPor ququéé hablamoshablamos de de seguridadseguridad??SeguridadSeguridad IISIISSeguridadSeguridad ASP.NETASP.NETPersonificaciPersonificacióónnAutenticaciAutenticacióónn ASP.NETASP.NETAutorizaciAutorizacióónn ASP.NETASP.NETAutenticaciAutenticacióónn y y AutorizaciAutorizacióónn en en acciaccióónn

Page 5: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

PorPor ququéé hablamoshablamos de de seguridadseguridad??

Reportaron brechas de seguridad en los últimos 12

meses

Tuvieron perdidasfinancieras como resultado

Identificaron la conexión a Internet como fuente frecuente

de ataquesReportaron la intrusión a

las autoridades

90%

i http://www.gocsi.com/press/20020407.html

Encuesta 2002 de crimen y seguridad en computadoras.

80%

74%

34%

Porcentajes de las compañías participantes

Page 6: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

CCóómomo paspasóó estoesto??

Administración de la sesión 79%

Vulnerabilidades comunes del softwarePorcentajes de aplicaciones que tuvieron serias deficiencienciasen el diseño en las áreas mostradas en las áreas indicadas

Control de accesos 64%Algoritmos criptográficos 61%

Manipulación de parámetros 73%

Manejo de data sensible 41%

Validación del ingreso 32%Controles administrativos 36%

Page 7: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

Manos a la Manos a la obraobrasoftware software seguroseguro requiererequiere personal personal dedicadodedicadoy con y con conocimientoconocimiento..

El Software no El Software no eses seguroseguro sisi la red no lo la red no lo eses..La La administraciadministracióónn eses el el lecholecho de de rocaroca de la de la seguridadseguridad..

El software El software seguroseguro reuqierereuqiere tambitambiéénndesarrolladoresdesarrolladores dedicadosdedicados y con y con conocimientoconocimiento. .

UnaUna administraciadministracióónn apropiadaapropiada no no significasignifica nada nada sisi el el ccóódigodigo no no eses seguroseguro..MuchosMuchos desarrolladoresdesarrolladores no se no se dandan cuentacuenta quequeestestáánn escribiendoescribiendo ccóódigodigo inseguroinseguro..

Page 8: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

EstoEsto eses ccóódigodigo inseguroinseguro!!<html>

<body><form runat="server">

<asp:TextBox ID="Input" runat="server" /><asp:Button Text=“Clickeame" OnClick="OnSubmit"

runat="server" /><asp:Label ID="Output" runat="server" />

</form></body>

</html>

<script language="C#" runat="server">void OnSubmit (Object sender, EventArgs e){

Output.Text = "Hola, " + Input.Text;}</script>

Page 9: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

Forzando Forzando camposcampos ocultosocultos

Page 10: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

SeguridadSeguridad IISIIS

AuthenticaciAuthenticacióónn

AutorizaciAutorizacióónnPermisos de la Metabase de la Web

ACL

AnonymousBasicDigest

SSL/TLSSSL/TLS

Quén envió el request?

Qué puede hacerel usuario quellama?

RestricciRestriccióónn IPIP Las llamadas desdeesta IP son permitidas?

Certificados X.509Integrada con WindowsPassport (IIS 6)

ProtecciProteccióónn y Poolingy PoolingDónde debeejecutarse el código

Debe ser encriptado el tráfico?

Page 11: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

Basi

cBa

sic

Dige

stDi

gest

NTLM

NTLM

Kerb

eros

Kerb

eros

X.50

9 X.

509

Certs

Certs

Pass

port

Pass

port

MecanismosMecanismos de de autenticaciautenticacióónn IISIIS

YYYYYYYYNNNNTRansparenteTRansparente al al usuariousuario??YYYYNNNNYYYYPasaPasa a a travtravééss de firewalls?de firewalls?YYYYNNNNYYYYSoportaSoporta browsers no IE?browsers no IE?NNNNNNNNNNYYCredencialesCredenciales en en cleartextcleartext??NNNN

NN****

NNYYYY

NNYY

NNYY

YYSoportaSoporta delegacidelegacióónn?*?*YYNecesitaNecesita cuentascuentas Windows?Windows?

En Windows 2003 Server, la transición y delegación restringida en Kerberos se puede usarpara delegar al margen del mecanismo de autenticación seleccionado.*

Some mapeos de certificados son delegables, pero la mayoría no**

Page 12: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

IIS 5 y ASP.NETIIS 5 y ASP.NET

Inetinfo.exe

Aspnet_isapi

Aspnet_wp.exe

AppDomain

AppDomain

HTTPRequests

Named Pipe

Otrascañerías

Las aplicaciones ASP.NET comparten un worker process pero están aisladas en AppDomains* separados.

* ASP.NET también soporta Web gardening,que ubica un worker process por CPU

ASP.NET worker process

Page 13: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

IIS 6 y ASP.NETIIS 6 y ASP.NET

Inetinfo.exe

W3wp.exe

AppDomain

Aspnet_isapi

HTTP Requests

W3wp.exe

AppDomain

AppDomain

Aspnet_isapi

Http.sys

I/O Completion PortsModo Kernel Modo Usuario

Application Pool 1 Application Pool 2

Page 14: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

IdentidadIdentidad del Worker Processdel Worker Process

En IIS 5, ASP.NET En IIS 5, ASP.NET correcorre comocomo ASPNET ASPNET porpordefectodefecto

CuentaCuenta local local ddéébilbil con con privilegiosprivilegios limitadoslimitados..CreadoCreado al al momentomomento de la de la instalaciinstalacióónn..Password Password autogeneradaautogenerada..

En IIS 6, ASP.NET En IIS 6, ASP.NET correcorre comocomo un un servicioservicio de de red (machine$) red (machine$) porpor defectodefecto

CuentaCuenta local local ddéébilbil con con privilegiosprivilegios limitadoslimitados..TieneTiene credencialescredenciales de red.de red.ConstruidoConstruido en Windows 2003 Serveren Windows 2003 Server

Page 15: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

IdentidadIdentidad del del procesoproceso de de cambiocambioIIS 6IIS 6

Configurable Configurable porpor application poolapplication poolLas Las CredencialesCredenciales son son administradasadministradas porpor IISIIS

IIS 5IIS 5La La IdentidadIdentidad eses compartidacompartida porpor todostodos loslos WPsWPsen el Web serveren el Web serverLas Las CredencialesCredenciales se se guardanguardan en en Machine.configMachine.config**

<processModel userName="MiDominio\MiUsuario"password="..." ... />

Ver http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT01.asp ara saber como correr ASP.NET usando una cuenta personalizada.

*

Page 16: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AsegurandoAsegurando laslas credencialescredencialesdel del procesoproceso

En IIS 5, En IIS 5, usausa Aspnet_setregAspnet_setregSSóólolo en ASP.NET 1.1; en ASP.NET 1.1; hotfixhotfix parapara 1.01.0

<processModel ...userName="registry:HKLM\SOFTWARE\MyApp\Identity\ASPNET_SETREG,usuarioe"password="registry:HKLM\SOFTWARE\MyApp\Identity\ASPNET_SETREG,password"

/>

Machine.config

Registry

http://support.microsoft.com/default.aspx?scid=kb;en-us;329290i

Page 17: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

SeguridadSeguridad ASP.NETASP.NET

AutenticaciAutenticacióónn

AuthorizaciAuthorizacióónnAutorización ACLAutorización URL

WindowsPassportForms

ImpersonalizaciImpersonalizacióónn

De quein vino el request?

Que tienepermitido hacerel que llama?

Usar identidad de proceso o la identidad del quellama

Page 18: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

ImpersonalizaciImpersonalizacióónn

PorPor defectodefecto, el , el ccóódigodigo se se ejecutaejecuta utilizandoutilizandola la identidadidentidad del ASP.NET worker processdel ASP.NET worker process

El El AccesoAcceso eses negadonegado sisi se se intentaintenta accederacceder a un a un recursorecurso parapara el el cualcual el worker process no el worker process no tienetienepermisopermiso..

SiSi la la personificacipersonificacióónn estestáá habilitadahabilitada el el ccóódigodigo se se ejecutaejecuta bajobajo la la identidadidentidad del del quequellama.llama.

El El accesoacceso eses negadonegado sisi se se intentaintenta accederacceder a un a un recursorecurso parapara el el cualcual el el queque llama no llama no tienetienepermisopermiso..TrabajaTrabaja adjuntandoadjuntando el token de el token de accesoacceso al thread al thread asignadoasignado porpor el request.el request.

Page 19: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

HabilitandoHabilitando impersonalizaciimpersonalizacióónn

<configuration><system.web>

<authentication mode="Windows" /><identity impersonate="true" />

</system.web></configuration>

Web.config

Page 20: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutenticaciAutenticacióónn ASP.NETASP.NETAutenticaciAutenticacióónn WindowsWindows

UsaUsa laslas cuentascuentas Windows Windows existentesexistentesIdeal Ideal parapara aplicacionesaplicaciones IntranetIntranet

AutenticaciAutenticacióónn PassportPassportConvenienteConveniente parapara loslos usuariosusuarios (un (un ssóólolo puntopuntoparapara loguearseloguearse))PonerPoner laslas credencialescredenciales en en laslas manosmanos de de otrosotros..

AutenticaciAutenticacióónn porpor formulariosformulariosTipicamenteTipicamente usausa ppááginasginas de Login al de Login al estiloestiloeBay.eBay.Ideal Ideal parapara aplicacionesaplicaciones InternetInternet

Page 21: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutenticaciAutenticacióónn WindowsWindows

Jorge IIS ASP.NETA A

IIS crea el token de accesoidentificando al caller (Jorge oIUSR_machinename*)

ASP.NET recibe el token de acceso, hace un chequeoACL al recurso pedido, y hace el token disponiblepara impersonalización.

* Por defecto , IIS usa IUSR_machinename para representar usuarios anónimos

El request corre usando la identidad del proceso o la identidad personificada (jorge o IUSR_machinename*)

Page 22: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutenticaciAutenticacióónn porpor formulariosformulariosDisponible

parausuarios

anónimos?Recurso

Cookie deautenticacion

valida?

Logueoexitoso?Página de Login

cookie

Si

Accessodenegado

Está autorizadoel que hace el

request?

Si

Si

Si

No

No

No

No

Page 23: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

EspecificandoEspecificando el el tipotipo de de autenticaciautenticacióónn

<configuration><system.web><!-- mode="Windows|Passport|Forms|None" --><authentication mode="Windows" />

</system.web></configuration>

Web.config

Page 24: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

OpcionesOpciones de de autenticaciautenticacióónn porporformulariosformularios<configuration><system.web><authentication mode="Forms"><!--

forms Attributes:name="[cookie name]" – Nombre de la cookie de autenticaciónloginUrl="[url]" - URL de la pagina Loginprotection="[All|None|Encryption|Validation]"timeout="[minutes]" – tiempo de validez de la cookiepath="/" – Ruta de la cookierequireSSL="[true|false]" – Restringir la cookie a SSL? (1.1)slidingExpiration="[true|false]" – Renovar la cookie? (1.1)

--><forms loginUrl="/LoginPage.aspx" />

</authentication></system.web>

</configuration>

Web.config

Page 25: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

Security PrincipalsSecurity Principals

Windows Windows representarepresenta loslos security principals security principals con tokens de con tokens de accesoaccesoEl .NET Framework El .NET Framework representarepresenta loslos security security principals con principals con objetosobjetos security principalsecurity principal

AbstraeAbstrae el el tipotipo de de autenticaciautenticacióónnTe Te habilitahabilita a a escribirescribir ((laslas mmááss de de laslas vecesveces) ) ccóódigodigo gengenééricorico parapara buscarbuscar nombresnombres, , revisarrevisarroles, etc.roles, etc.

Los Los ObjetosObjetos Principal Principal exponenexponen data data úútiltilacercaacerca de de loslos usuariosusuarios ((especialmenteespecialmente loslosautenticadosautenticados))

Page 26: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

ObjetosObjetos Security PrincipalSecurity Principal

GenericPrincipalWindowsPrincipal

IPrincipalFormsIdentityWindowsIdentityPassportIdentityGenericIdentity

IIdentityA

El Objeto Identidad encapsula el token de acceso Windows si el tipo de accesoes WindowsIdentity

Cada tipo de objeto Identidad expone informaci[onespec[ifica para un tipo de autenticación

Page 27: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

UsandoUsando IPrincipalIPrincipal e e IIdentityIIdentity

// Viendo si el caller está autenticadoif (HttpContext.Current.User.Identity.IsAuthenticated) {

// El caller está autenticado}

// Obteniendo el usuario del caller autenticadostring nombre = HttpContext.Current.User.Identity.Name;

// Realiza un chequeo de roles programáticoif (HttpContext.Current.User.IsInRole (“Administrador") {

// El caller es Administrador}

// Se obtiene el token de acceso del caller si estamos usando//autenticación Windowsif (HttpContext.Current.User.Identity is WindowsIdentity) {

IntPtr token =((WindowsIdentity) HttpContext.Current.User.Identity).Token;

...}

Page 28: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutorizaciAutorizacióónn ASP.NETASP.NETAutorizaciAutorizacióónn ACLACL

Se Se combinacombina ttíípicamentepicamente con con autenticaciautenticacióónnWindows.Windows.UsaUsa permisospermisos NTFS NTFS parapara controlarcontrolar el el accesoacceso a a loslos recursosrecursos basadobasado en la en la identidadidentidad Windows Windows del Caller.del Caller.No No requiererequiere PersonificaciPersonificacióónn

AutorizaciAutorizacióónn URLURLSe Se combinacombina ttíípicamentepicamente con con autenticaciautenticacióónn porporformulariosformulariosControlaControla el el accesoacceso a a loslos recursosrecursos basadobasado en la en la identidadidentidad Windows, Passport, o Windows, Passport, o porpor formulariosformulariosSe Se aplicaaplica en el en el Web.configWeb.config

Page 29: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

ACL

AutorizaciAutorizacióónn ACLACL

Jorge IIS ASP.NETA ASPXA

IIS crea el token de acceso identificando a Jorge y se lo pasa a lasASP.NET

ASP.NET revisa el ACL en el archiv pedido y hace fallar el request siJorge no tiene lospermisos necesarios

A

El acceso anónimono está permitido

Authenticationmode="Windows"

Page 30: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutorizaciAutorizacióónn URLURL

<!– Niega acceso al usuario anónimo (no autenticado) --><deny users="?" />

<!– Da acceso a Jorge y a Mary; pero a nadie más --><allow users=“Jorge, Mary" /><deny users="*" />

<!– Permite acceso a todos, excepto a Jorge y Mary --><deny users=“Jorge, Mary" /><allow users="*" />

<!– Permite el acceso a cualquier Administrador --><allow roles=“Administrador" /><deny users="*" />

Web.config

Page 31: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

EscogiendoEscogiendo la la combinacicombinacióónncorrectacorrecta

EscenarioEscenario #1: #1: AplicacionesAplicaciones IntranetIntranetLa La mayormayorííaa de de loslos accesosaccesos ocurrenocurren detrdetrááss del del firewallfirewallSirveSirve a a unauna pobiacipobiacióónn de de usuariosusuarios definidosdefinidos porporcuentascuentas de de usuariousuario WindowsWindows

EscenarioEscenario #2: #2: AplicacionesAplicaciones InternetInternetLa La mayormayorííaa de de loslos accesosaccesos ocurreocurre fuerafuera del del firewallfirewallSirveSirve a a poblacionespoblaciones de de usuariosusuarios no no definidasdefinidas porporcuentascuentas de de usuariousuario WindosWindos ((ejemploejemplo: eBay): eBay)

Page 32: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AplicacionesAplicaciones IntranetIntranet

SQL Server

Jorge

Mary

SebastiánIIS ASP.

NET

TrustedConnection

Servidor Web Servidor de bases de datos

AutenticaciónWindows

Permisos SQL Roles de DB

AutenticaciónIntegrada con

Windows

AutenticaciónWindows

IPSec

A

A

A

A

A

A

AutorizaciAutorizacióónn URLURL

Page 33: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AplicacionesAplicaciones InternetInternet

SQL Server

Jorge

Mary

SebastiánIIS ASP.

NET

TrustedConnection

Servidor Web Servidor de bases de datos

AutenticaciónWindows

Acceso anónimo(no autenticado)

Autenticación porFormularios

IPSec

Firewall

Permisos SQL Roles de DBAutorizaciAutorizacióónn ACLACL

Page 34: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutenticaciAutenticacióónn Windows y Windows y AutorizaciAutorizacióónn ACLACL

Page 35: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

AutenticaciAutenticacióónn porporformulariosyformulariosy autorizaciautorizacióónnURLURL

Page 36: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 37: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

ApApééndicendice

Page 38: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

SSL/TLSSSL/TLS

ConversacionesConversaciones segurasseguras cliente/servidorcliente/servidorPrivacidadPrivacidad del del mensajemensaje: : TraficoTrafico encriptadoencriptadousandousando llavesllaves y y negociadasnegociadas y y protocolosprotocolosIntegridadIntegridad del del mensajemensaje: : TraficoTrafico validadovalidado usandousandomensajesmensajes validadosvalidados con con ccóódigosdigos de de autenticaciautenticacióónn de de mensajemensaje protegidosprotegidos con con llavesllaves((MACsMACs))

““CCóómomo instalarinstalar SSL en un SSL en un servidorservidor Web"Web"http://msdn.microsoft.com/library/http://msdn.microsoft.com/library/--default.asp?urldefault.asp?url=/library/en=/library/en--us/dnnetsec/us/dnnetsec/--html/SecNetHT01.asphtml/SecNetHT01.asp

i http://www.ietf.org/rfc/rfc2246.txt

Page 39: Fundamentos de Seguridad para Aplicaciones Web fundamentos de seguridad en... · Agenda del día Fundamentos de Seguridad para aplicaciones Web Seguridad esencial para IIS y ASP.NET

IPrincipalIPrincipal e e IIdentityIIdentity

IPrincipal

IIdentity

interface IPrincipal{

IIdentity Identity { get; } // Expone el objeto identidadbool IsInRole (string role); // El usuario pertenece

// a un rol específico?}

interface IIdentity{

string AuthenticationType { get; } // Tipo de autenticación?bool IsAuthenticated (); // Esta el usuario autenticado?string Name { get ; } // Nombre del usuario autenticado

}