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
Autenticacin
basada en
Windows
Utiliza infraestructura Windows
existente
Controla el acceso a
informacin confidencial
No apropiado para
la mayora de
aplicaciones de
Internet
Autenticacin
basada en
formularios
Adecuada para aplicaciones de
Internet
Soporta todo tipo de clientes
Basada en cookies
Autenticacin
mediante
Microsoft
Passport
Inicio de sesin nico para
muchos sitios de Internet
No es necesario mantener una
base de datos para almacenar
informacin del usuario
Permite a los desarrolladores
personalizar el aspecto de la
pgina de inscripcin
Basada en cookies
Implica cuota
Cules son los mecanismos de autenticacin de IIS?





Mecanismos
Nivel de
seguridad
Descripcin
Acceso annimo Ninguno No se produce autenticacin
Autenticacin
bsica
Bajo
(Medio con SSL)

El cliente enva nombre de usuario y
contrasea como texto claro
Puede encriptarse utilizando SSL
Parte de la especificacin HTTP y
soportado por la mayora de
exploradores
Autenticacin
implcita
Medio
Enva la informacin en un hash (o
digest) codificado
Requiere Internet Explorer 5 o superior
Requiere Active Directory
Seguridad
integrada de
Windows

Alto
Utiliza NTLM o Kerberos
Generalmente adecuado para intranets,
no Internet
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
Configurar IIS para utilizar uno o varios de los
siguientes mecanismos de autenticacin :
Bsica
Implcita
Seguridad de Windows integrada
Establecer la autenticacin basada en Windows en
Web.config



1
2
<system.web>
<Authentication mode="Windows" />
</system.web>
Cmo habilitar la autenticacin basada en Windows
(continuacin)
Establecer la autorizacin en Web.config






Cuando los usuarios
acceden al formulario
Web Form, IIS solicita
informacin de inicio
de sesin
<location path="ShoppingCart.aspx">
<system.web>
<Authorization>
<deny users="?"/>
</Authorization>
</system.web>
</location>
4
3
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
El cliente solicita pgina
Autorizado
Autenticacin
ASP.NET Forms
No
autenticado
Autenticado
Pgina de inicio
(los usuarios
introducen sus
credenciales)
Autenticado
Cookie de
autenticacin
Autorizado
No
autenticado
Acceso denegado
Pgina segura
solicitada


IIS
Nombre usuario
Contrasea
Alguien
***********
Enviar
1 2
3
4
6
5
7
Cmo habilitar la autenticacin basada en formularios
Configurar IIS para utilizar autenticacin annima
Establecer la autenticacin basada en formularios en
Web.config



Establecer la autorizacin
Generar un formulario Web
Form de inicio de sesin

1
2
3
4
<Authentication mode="Forms" >
<forms name=".namesuffix"
loginUrl="login.aspx" />
</Authentication>
Aadir una referencia a System.Web.Security
La pgina de inicio de sesin verifica y examina las credenciales de un
usuario







Leer las credenciales del usuario desde una cookie
User.Identity.Name devuelve el valor guardado por
FormsAuthentication.RedirectFromLoginPage
Crear una pgina de inicio de sesin
Sub cmdLogin_Click(s As Object, e As eventArgs)
If (login(txtEmail.Text, txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, False)
End If
End Sub
private void cmdLogin_Click(object sender, EventArgs e)
{
if (login(txtEmail.Text, txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);
}
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


sitioweb.msft
Cliente
Passport.com
El cliente solicita una pgina al host 1
2
3
4
5
El sitio redirige al cliente a Passport.com
El cliente es redirigido e inicia sesin en
Passport.com
Passport devuelve una cookie
con la informacin del
ticket
6
El cliente accede al host, esta
vez con la informacin
del ticket
El host devuelve un formulario
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