Está en la página 1de 22

Seguridad en

aplicaciones Web con


Microsoft ASP.NET
Descripción

 Descripción de la seguridad para aplicaciones Web


 Trabajar con autenticación basada en Windows
 Trabajar con autenticación basada en formularios
 Descripción de la autenticación de Microsoft Passport
Lección: descripción de la seguridad para aplicaciones
Web

 Autenticación frente a autorización


 ¿Cuáles son los métodos de autenticación de ASP.NET?
 Multimedia: métodos de autenticación de ASP.NET
 Comparación de los métodos de autenticación de ASP.NET
 ¿Cuáles son los mecanismos de autenticación de IIS?
 Demostración: uso de los mecanismos de autenticación de
IIS
 ¿Qué es Secure Sockets Layer?
Autenticación frente a Autorización

 Autenticación
 Acepta credenciales de un usuario
 Valida las credenciales
 Autorización
 En función de las credenciales de autenticación
suministradas, determina el derecho de acceso a un
recurso
 Puede asignarse por nombre de usuario o por rol
¿Cuáles son los métodos de autenticación de ASP.NET?
 Autenticación basada en Windows
 Depende del sistema operativo Windows y de IIS
 El usuario solicita una página Web segura y la solicitud pasa por IIS
 Una vez IIS verifica las credenciales, se devuelve la página Web segura
 Autenticación basada en formularios
 Las solicitudes no autenticadas son redirigidas a un formulario HTML
 El usuario proporciona credenciales y envía el formulario HTML
 Una vez verificadas las credenciales, se suministra una cookie de
autenticación
 Autenticación mediante Microsoft Passport
 Servicio de autenticación centralizado que ofrece una única opción de inicio
de sesión
 Microsoft Passport es un Servicio Web XML
Comparación de los métodos de autenticación de ASP.NET
Método Ventajas Inconvenientes
 Utiliza infraestructura Windows  No apropiado para
Autenticación
existente la mayoría de
basada en  Controla el acceso a aplicaciones de
Windows información confidencial Internet

Autenticación  Adecuada para aplicaciones de


basada en Internet  Basada en cookies
formularios  Soporta todo tipo de clientes
 Inicio de sesión único para
muchos sitios de Internet
 No es necesario mantener una
Autenticación
base de datos para almacenar  Basada en cookies
mediante Microsoft
información del usuario  Implica cuota
Passport  Permite a los desarrolladores
personalizar el aspecto de la
página de inscripción
¿Cuáles son los mecanismos de autenticación de IIS?
Nivel de
Mecanismos Descripción
seguridad
Acceso anónimo Ninguno  No se produce autenticación
 El cliente envía nombre de usuario y
contraseña como texto claro
Bajo
Autenticación  Puede encriptarse utilizando SSL
(Medio con SSL)
básica  Parte de la especificación HTTP y
soportado por la mayoría de
exploradores
 Envía la información en un hash (o
Autenticación digest) codificado
Medio
implícita  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 través de muchos
cortafuegos
Demostración: uso de los mecanismos de autenticación
de IIS
 Hacer clic con el botón derecho en Mod16 y hacer clic
en Propiedades
 Hacer clic en la pestaña Seguridad de directorios
 Hacer clic en Modificar
 Mostrar los métodos de
autenticación
¿Qué es Secure Sockets Layer?
 SSL es un protocolo que se utiliza para transmitir datos de
forma segura a través de una red. SSL securiza los datos
mediante:
 Encriptación de datos
- Asegura que los datos enviados son leídos únicamente por
un servidor destinatario seguro
 Autenticación de servidor
- Asegura que los datos se envían al servidor correcto
- Utiliza los certificados de servidor y de cliente
 Integridad de los datos
- Protege la integridad de los datos
- Incluye un código de autenticación de mensajes que
detecta si un mensaje ha sido o no modificado
 Utiliza HTTPS (Hypertext Transfer Protocol Secure) para
recuperar una página Web ASP.NET
Lección: trabajar con autenticación basada en Windows

 Cómo habilitar la autenticación basada en Windows


 Leer información del usuario
 Demostración: uso de la autenticación basada en Windows
Cómo habilitar la autenticación basada en Windows

11 Configurar IIS para utilizar uno o varios de los siguientes


mecanismos de autenticación :
 Básica
 Implícita
 Seguridad de Windows integrada
22 Establecer la autenticación basada en Windows en
Web.config
<system.web>
<system.web>
<Authentication
<Authentication mode="Windows"
mode="Windows" />
/>
</system.web>
</system.web>
Cómo habilitar la autenticación basada en Windows
(continuación)
33 Establecer la autorización en Web.config

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

44 Cuando los usuarios


acceden al formulario
Web Form, IIS solicita
información de inicio
de sesión
Leer información del usuario

 Tras la autenticación, el servidor Web puede leer la


identidad del usuario

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

lblAuthUser.Text
lblAuthUser.Text == User.Identity.Name;
User.Identity.Name;
lblAuthType.Text
lblAuthType.Text == User.Identity.AuthenticationType;
User.Identity.AuthenticationType;
lblIsAuth.Text
lblIsAuth.Text == User.Identity.IsAuthenticated;
User.Identity.IsAuthenticated;
Demostración: uso de la autenticación basada en Windows

 Abrir IIS y configurarlo únicamente con


autenticación anónima
 Crear un nuevo usuario en el equipo local
 Abrir Web.config y configurarlo para soportar
autenticación y autorización
 Ejecutar la aplicación Web ASP.NET segura
 Los estudiantes pueden acceder a la
aplicación Web ASP.NET segura en el
equipo del instructor
Lección: trabajar con autenticación basada en formularios

 Descripción de la autenticación basada en formularios


 Multimedia: autenticación basada en formularios
 Cómo habilitar la autenticación basada en formularios
 Crear una página de inicio de sesión
 Demostración: uso de la autenticación basada en
formularios
Descripción de autenticación basada en formularios

11 22 Autenticación
IIS ASP.NET Forms

El cliente solicita página


No
autenticado

Nombre usuario
 Autenticado

66 Alguien 44 Autorizado
Acceso denegado


Contraseña Página de inicio
*********** (los usuarios
introducen sus
No Enviar
Enviar credenciales)
autenticado 33
Autenticado

Cookie de Autorizado
autenticación 77 Página segura
55 solicitada
Cómo habilitar la autenticación basada en formularios
11
 Configurar IIS para utilizar autenticación anónima

22 Establecer la autenticación basada en formularios en Web.config

<Authentication
<Authentication mode="Forms"
mode="Forms" >>
<<forms
forms name=".namesuffix"
name=".namesuffix"
loginUrl="login.aspx"
loginUrl="login.aspx" />/>
</Authentication>
</Authentication>
 Establecer la autorización
33
 Generar un formulario Web
44 Form de inicio de sesión
Crear una página de inicio de sesión
 Añadir una referencia a System.Web.Security
 La página de inicio de sesión verifica y examina las credenciales de un usuario

private
private void
void cmdLogin_Click(object
cmdLogin_Click(object sender,
sender, EventArgs
EventArgs e)
e)
{{
if
if (login(txtEmail.Text,
(login(txtEmail.Text, txtPassword.Text))
txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text,
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);
false);
}}

Sub
Sub cmdLogin_Click(s
cmdLogin_Click(s As
As Object,
Object, ee As
As eventArgs)
eventArgs)
If
If (login(txtEmail.Text,
(login(txtEmail.Text, txtPassword.Text))
txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text,
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, False)
False)
End If
End If
End
End Sub
Sub
 Leer las credenciales del usuario desde una cookie
 User.Identity.Name devuelve el valor guardado por
FormsAuthentication.RedirectFromLoginPage
Demostración: uso de la autenticación basada en formularios

 Abrir IIS y configurar para autenticación


anónima
 Abrir Web.config y configurarlo para
autenticación y autorización
 Abrir la página de inicio de sesión y mostrar
el código
 Ejecutar la aplicación Web ASP.NET
 Los estudiantes pueden acceder a la
aplicación Web ASP.NET segura en el
equipo del instructor
Lección: Descripción de la autenticación mediante
Microsoft Passport

 Cómo funciona Microsoft Passport


 Otros recursos de Microsoft Passport
Cómo funciona Microsoft Passport

11 El cliente solicita una página al host


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

33 El cliente es redirigido e inicia sesión en Passport.com

44 Passport devuelve una cookie con


la información del ticket

55 El cliente accede al host, esta vez con la información del ticket

Cliente
66 El host devuelve un formulario Web Passport.com
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