Está en la página 1de 22

Seguridad en

aplicaciones Web con


Microsoft ASP.NET
Descripcin

Descripcin de la seguridad para aplicaciones Web


Trabajar con autenticacin basada en Windows
Trabajar con autenticacin basada en formularios
Descripcin de la autenticacin de Microsoft Passport
Leccin: descripcin de la seguridad para
aplicaciones Web

Autenticacin frente a autorizacin


Cules son los mtodos de autenticacin de ASP.NET?
Multimedia: mtodos de autenticacin de ASP.NET
Comparacin de los mtodos de autenticacin de
ASP.NET
Cules son los mecanismos de autenticacin de IIS?
Demostracin: uso de los mecanismos de autenticacin
de IIS
Qu es Secure Sockets Layer?
Autenticacin frente a Autorizacin

Autenticacin
Acepta credenciales de un usuario
Valida las credenciales
Autorizacin
En funcin de las credenciales de autenticacin
suministradas, determina el derecho de acceso a un
recurso
Puede asignarse por nombre de usuario o por rol
Cules son los mtodos de autenticacin de ASP.NET?

Autenticacin basada en Windows


Depende del sistema operativo Windows y de IIS
El usuario solicita una pgina Web segura y la solicitud pasa por IIS
Una vez IIS verifica las credenciales, se devuelve la pgina Web segura
Autenticacin basada en formularios
Las solicitudes no autenticadas son redirigidas a un formulario HTML
El usuario proporciona credenciales y enva el formulario HTML
Una vez verificadas las credenciales, se suministra una cookie de
autenticacin
Autenticacin mediante Microsoft Passport
Servicio de autenticacin centralizado que ofrece una nica opcin de inicio
de sesin
Microsoft Passport es un Servicio Web XML
Comparacin de los mtodos de autenticacin de ASP.NET
Mtodo Ventajas Inconvenientes

Utiliza infraestructura Windows No apropiado para


Autenticacin
existente la mayora de
basada en
Controla el acceso a aplicaciones de
Windows informacin confidencial Internet

Autenticacin Adecuada para aplicaciones de


basada en Internet Basada en cookies
formularios Soporta todo tipo de clientes
Inicio de sesin nico para
muchos sitios de Internet
Autenticacin No es necesario mantener una
mediante base de datos para almacenar Basada en cookies
Microsoft informacin del usuario Implica cuota
Passport Permite a los desarrolladores
personalizar el aspecto de la
pgina de inscripcin
Cules son los mecanismos de autenticacin de IIS?
Nivel de
Mecanismos Descripcin
seguridad
Acceso annimo Ninguno No se produce autenticacin

El cliente enva nombre de usuario y


Bajo contrasea como texto claro
Autenticacin Puede encriptarse utilizando SSL
(Medio con SSL)
bsica Parte de la especificacin HTTP y
soportado por la mayora de
exploradores
Enva la informacin en un hash (o
Autenticacin digest) codificado
Medio
implcita Requiere Internet Explorer 5 o superior
Requiere Active Directory
Utiliza NTLM o Kerberos
Seguridad
Generalmente adecuado para intranets,
integrada de
Alto no Internet
Windows
No funciona a travs de muchos
cortafuegos
Demostracin: uso de los mecanismos de
autenticacin de IIS
Hacer clic con el botn derecho en Mod16 y hacer
clic en Propiedades
Hacer clic en la pestaa Seguridad de directorios
Hacer clic en Modificar
Mostrar los mtodos
de autenticacin
Qu es Secure Sockets Layer?
SSL es un protocolo que se utiliza para transmitir datos de
forma segura a travs de una red. SSL securiza los datos
mediante:
Encriptacin de datos
- Asegura que los datos enviados son ledos nicamente por un
servidor destinatario seguro
Autenticacin de servidor
- Asegura que los datos se envan al servidor correcto
- Utiliza los certificados de servidor y de cliente
Integridad de los datos
- Protege la integridad de los datos
- Incluye un cdigo de autenticacin de mensajes que detecta si un
mensaje ha sido o no modificado
Utiliza HTTPS (Hypertext Transfer Protocol Secure) para
recuperar una pgina Web ASP.NET
Leccin: trabajar con autenticacin basada en Windows

Cmo habilitar la autenticacin basada en Windows


Leer informacin del usuario
Demostracin: uso de la autenticacin basada en
Windows
Cmo habilitar la autenticacin basada en Windows

1 Configurar IIS para utilizar uno o varios de los


siguientes mecanismos de autenticacin :
Bsica
Implcita
Seguridad de Windows integrada
2 Establecer la autenticacin basada en Windows en
Web.config
<system.web>
<Authentication mode="Windows" />
</system.web>
Cmo habilitar la autenticacin basada en Windows
(continuacin)
3 Establecer la autorizacin en Web.config

<location path="ShoppingCart.aspx">
<system.web>
<Authorization>
<deny users="?"/>
</Authorization>
</system.web>
</location>

4 Cuando los usuarios


acceden al formulario
Web Form, IIS solicita
informacin de inicio
de sesin
Leer informacin del usuario

Tras la autenticacin, el servidor Web puede leer la


identidad del usuario

lblAuthUser.Text = User.Identity.Name
lblAuthType.Text = User.Identity.AuthenticationType
lblIsAuth.Text = User.Identity.IsAuthenticated

lblAuthUser.Text = User.Identity.Name;
lblAuthType.Text = User.Identity.AuthenticationType;
lblIsAuth.Text = User.Identity.IsAuthenticated;
Demostracin: uso de la autenticacin basada en Windows

Abrir IIS y configurarlo nicamente con


autenticacin annima
Crear un nuevo usuario en el equipo local
Abrir Web.config y configurarlo para
soportar autenticacin y autorizacin
Ejecutar la aplicacin Web ASP.NET
segura
Los estudiantes pueden acceder a la
aplicacin Web ASP.NET segura en el
equipo del instructor
Leccin: trabajar con autenticacin basada en formularios

Descripcin de la autenticacin basada en formularios


Multimedia: autenticacin basada en formularios
Cmo habilitar la autenticacin basada en formularios
Crear una pgina de inicio de sesin
Demostracin: uso de la autenticacin basada en
formularios
Descripcin de autenticacin basada en formularios

1 2 Autenticacin
IIS ASP.NET Forms

El cliente solicita pgina


No
autenticado

Nombre usuario
Autenticado

6 Alguien 4 Autorizado
Acceso denegado


Contrasea Pgina de inicio
*********** (los usuarios
introducen sus
No Enviar credenciales)
autenticado 3
Autenticado

Cookie de Autorizado
autenticacin 7 Pgina segura
5 solicitada
Cmo habilitar la autenticacin basada en formularios
1
Configurar IIS para utilizar autenticacin annima

2 Establecer la autenticacin basada en formularios en
Web.config

<Authentication mode="Forms" >


<forms name=".namesuffix"
loginUrl="login.aspx" />
</Authentication>


3 Establecer la autorizacin
4
Generar un formulario Web
Form de inicio de sesin
Crear una pgina de inicio de sesin

Aadir una referencia a System.Web.Security


La pgina de inicio de sesin verifica y examina las credenciales de un
usuario
private void cmdLogin_Click(object sender, EventArgs e)
{
if (login(txtEmail.Text, txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);
}

Sub cmdLogin_Click(s As Object, e As eventArgs)


If (login(txtEmail.Text, txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, False)
End If
End Sub

Leer las credenciales del usuario desde una cookie


User.Identity.Name devuelve el valor guardado por
FormsAuthentication.RedirectFromLoginPage
Demostracin: uso de la autenticacin basada en formularios

Abrir IIS y configurar para autenticacin


annima
Abrir Web.config y configurarlo para
autenticacin y autorizacin
Abrir la pgina de inicio de sesin y
mostrar el cdigo
Ejecutar la aplicacin Web ASP.NET
Los estudiantes pueden acceder a la
aplicacin Web ASP.NET segura en el
equipo del instructor
Leccin: Descripcin de la autenticacin
mediante Microsoft Passport

Cmo funciona Microsoft Passport


Otros recursos de Microsoft Passport
Cmo funciona Microsoft Passport

1 El cliente solicita una pgina al host


sitioweb.msft
2 El sitio redirige al cliente a Passport.com

3 El cliente es redirigido e inicia sesin en


Passport.com
4 Passport devuelve una cookie
con la informacin del
ticket
5 El cliente accede al host, esta
vez con la informacin
del ticket Cliente
6 El host devuelve un formulario Passport.com
Web Form y posiblemente
una nueva cookie que
puede leer y escribir
Otros recursos sobre Microsoft Passport

Sitios Web
http://www.passport.com
http://msdn.microsoft.com

También podría gustarte