Post on 03-Jul-2015
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étodoMétodo VentajasVentajas InconvenientesInconvenientes
Autenticación basada en Windows
Utiliza infraestructura Windows existente
Controla el acceso a información confidencial
No apropiado para la mayoría de aplicaciones de Internet
Autenticación basada en formularios
Adecuada para aplicaciones de Internet
Soporta todo tipo de clientes Basada en cookies
Autenticación mediante Microsoft Passport
Inicio de sesión único para muchos sitios de Internet
No es necesario mantener una base de datos para almacenar información del usuario
Permite a los desarrolladores personalizar el aspecto de la página de inscripción
Basada en cookies Implica cuota
¿Cuáles son los mecanismos de autenticación de IIS?
MecanismosMecanismos Nivel de Nivel de seguridadseguridad DescripciónDescripción
Acceso anónimo Ninguno No se produce autenticación
Autenticación básica
Bajo (Medio con SSL)
El cliente envía nombre de usuario y contraseña como texto claro
Puede encriptarse utilizando SSL Parte de la especificación HTTP y
soportado por la mayoría de exploradores
Autenticación implícita
Medio
Envía la información 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 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
Configurar IIS para utilizar uno o varios de los siguientes mecanismos de autenticación :
Básica
Implícita
Seguridad de Windows integrada
Establecer la autenticación basada en Windows en Web.config
1111
2222
<system.web> <Authentication mode="Windows" /></system.web>
<system.web> <Authentication mode="Windows" /></system.web>
Cómo habilitar la autenticación basada en Windows (continuación)
Establecer la autorización en Web.config
Cuando los usuarios acceden al formulario Web Form, IIS solicitainformación de iniciode sesión
<location path="ShoppingCart.aspx"> <system.web>
<Authorization> <deny users="?"/></Authorization>
</system.web></location>
<location path="ShoppingCart.aspx"> <system.web>
<Authorization> <deny users="?"/></Authorization>
</system.web></location>
4444
3333
Leer información del usuario
Tras la autenticación, el servidor Web puede leer la identidad del usuario
lblAuthUser.Text = User.Identity.NamelblAuthType.Text = User.Identity.AuthenticationTypelblIsAuth.Text = User.Identity.IsAuthenticated
lblAuthUser.Text = User.Identity.NamelblAuthType.Text = User.Identity.AuthenticationTypelblIsAuth.Text = User.Identity.IsAuthenticated
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;
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
El cliente solicita página
Autorizado
Autenticación ASP.NET Forms
No autenticado
Autenticado
Página de inicio(los usuarios introducen sus credenciales)
Autenticado
Cookie de autenticación
Autorizado
No autenticado
Acceso denegado
Página segurasolicitada
IIS
Nombre usuario
ContraseñaAlguien
***********
EnviarEnviar
1111 2222
3333
44446666
55557777
Cómo habilitar la autenticación basada en formularios
Configurar IIS para utilizar autenticación anónima
Establecer la autenticación basada en formularios en Web.config
Establecer la autorización
Generar un formulario Web Form de inicio de sesión
1111
2222
3333
4444
<Authentication mode="Forms" ><forms name=".namesuffix" loginUrl="login.aspx" />
</Authentication>
<Authentication mode="Forms" ><forms name=".namesuffix" loginUrl="login.aspx" />
</Authentication>
Añadir una referencia a System.Web.Security
La página de inicio de sesión 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 página de inicio de sesión
Sub cmdLogin_Click(s As Object, e As eventArgs) If (login(txtEmail.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, False) End IfEnd Sub
Sub cmdLogin_Click(s As Object, e As eventArgs) If (login(txtEmail.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, False) End IfEnd Sub
private void cmdLogin_Click(object sender, EventArgs e){ if (login(txtEmail.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);}
private void cmdLogin_Click(object sender, EventArgs e){ if (login(txtEmail.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);}
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
sitioweb.msftsitioweb.msft
ClienteCliente
Passport.comPassport.com
El cliente solicita una página al host1111
2222
3333
4444
5555
El sitio redirige al cliente a Passport.com
El cliente es redirigido e inicia sesión en Passport.com
Passport devuelve una cookie con la información del ticket
6666
El cliente accede al host, esta vez con la información 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