Seguridad en aplicaciones Web con Microsoft ASP.NET
Descripción <ul><li>Descripción de la seguridad para aplicaciones Web </li></ul><ul><li>Trabajar con autenticación basada ...
Lección: descripción de la seguridad para aplicaciones Web <ul><li>Autenticación frente a autorización </li></ul><ul><li>¿...
Autenticación frente a Autorización <ul><li>Autenticación </li></ul><ul><ul><li>Acepta credenciales de un usuario </li></u...
¿Cuáles son los métodos de autenticación de ASP.NET? <ul><li>Autenticación basada en Windows </li></ul><ul><ul><li>Depende...
Comparación de los métodos de autenticación de ASP.NET <ul><li>Inicio de sesión único para muchos sitios de Internet </li>...
¿Cuáles son los mecanismos de autenticación de IIS? Alto Medio Bajo  (Medio con SSL) Ninguno Nivel de seguridad <ul><li>Ut...
Demostración: uso de los mecanismos de autenticación de IIS <ul><li>Hacer clic con el botón derecho en Mod16 y hacer clic ...
¿Qué es  Secure Sockets Layer ? <ul><li>SSL es un protocolo que se utiliza para transmitir datos de forma segura a través ...
Lección: trabajar con autenticación basada en Windows <ul><li>Cómo habilitar la autenticación basada en Windows </li></ul>...
Cómo habilitar la autenticación basada en Windows <ul><li>Configurar IIS para utilizar uno o varios de los siguientes meca...
Cómo habilitar la autenticación basada en Windows ( continuación ) <ul><li>Establecer la autorización en Web.config </li><...
Leer información del usuario <ul><li>Tras la autenticación, el servidor Web puede leer la identidad del usuario </li></ul>...
Demostración: uso de la autenticación basada en Windows <ul><li>Abrir IIS y configurarlo únicamente con autenticación anón...
Lección: trabajar con autenticación basada en formularios <ul><li>Descripción 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  a...
Cómo habilitar la autenticación basada en formularios <ul><li>Configurar IIS para utilizar autenticación anónima </li></ul...
<ul><li>Añadir una referencia a System.Web.Security </li></ul><ul><li>La página de inicio de sesión v erifica y examina la...
Demostración: uso de la autenticación basada en formularios <ul><li>Abrir IIS y configurar para autenticación anónima </li...
Lección: Descripción de la autenticación mediante Microsoft Passport <ul><li>Cómo funciona Microsoft Passport </li></ul><u...
Cómo funciona Microsoft Passport sitioweb.msft Cliente Passport.com El cliente solicita una página al host 1 2 3 4 5 El si...
Otros recursos sobre Microsoft Passport <ul><li>Sitios Web </li></ul><ul><ul><li>http://www.passport.com </li></ul></ul><u...
Próxima SlideShare
Cargando en…5
×

14. Seguridad En Aplicaciones Web Asp.Net

14.477 visualizaciones

Publicado el

Seguridad En Aplicaciones Web Asp.Net

Publicado en: Tecnología
0 comentarios
6 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
14.477
En SlideShare
0
De insertados
0
Número de insertados
89
Acciones
Compartido
0
Descargas
376
Comentarios
0
Recomendaciones
6
Insertados 0
No insertados

No hay notas en la diapositiva.

14. Seguridad En Aplicaciones Web Asp.Net

  1. 1. Seguridad en aplicaciones Web con Microsoft ASP.NET
  2. 2. Descripción <ul><li>Descripción de la seguridad para aplicaciones Web </li></ul><ul><li>Trabajar con autenticación basada en Windows </li></ul><ul><li>Trabajar con autenticación basada en formularios </li></ul><ul><li>Descripción de la autenticación de Microsoft Passport </li></ul>
  3. 3. Lección: descripción de la seguridad para aplicaciones Web <ul><li>Autenticación frente a autorización </li></ul><ul><li>¿Cuáles son los métodos de autenticación de ASP.NET? </li></ul><ul><li>Multimedia: métodos de autenticación de ASP.NET </li></ul><ul><li>Comparación de los métodos de autenticación de ASP.NET </li></ul><ul><li>¿Cuáles son los mecanismos de autenticación de IIS? </li></ul><ul><li>Demostración: uso de los mecanismos de autenticación de IIS </li></ul><ul><li>¿Qué es Secure Sockets Layer? </li></ul>
  4. 4. Autenticación frente a Autorización <ul><li>Autenticación </li></ul><ul><ul><li>Acepta credenciales de un usuario </li></ul></ul><ul><ul><li>Valida las credenciales </li></ul></ul><ul><li>Autorización </li></ul><ul><ul><li>En función de las credenciales de autenticación suministradas, determina el derecho de acceso a un recurso </li></ul></ul><ul><ul><li>Puede asignarse por nombre de usuario o por rol </li></ul></ul>
  5. 5. ¿Cuáles son los métodos de autenticación de ASP.NET? <ul><li>Autenticación basada en Windows </li></ul><ul><ul><li>Depende del sistema operativo Windows y de IIS </li></ul></ul><ul><ul><li>El usuario solicita una página Web segura y la solicitud pasa por IIS </li></ul></ul><ul><ul><li>Una vez IIS verifica las credenciales, se devuelve la página Web segura </li></ul></ul><ul><li>Autenticación basada en formularios </li></ul><ul><ul><li>Las solicitudes no autenticadas son redirigidas a un formulario HTML </li></ul></ul><ul><ul><li>El usuario proporciona credenciales y envía el formulario HTML </li></ul></ul><ul><ul><li>Una vez verificadas las credenciales, se suministra una cookie de autenticación </li></ul></ul><ul><li>Autenticación mediante Microsoft Passport </li></ul><ul><ul><li>Servicio de autenticación centralizado que ofrece una única opción de inicio de sesión </li></ul></ul><ul><ul><li>Microsoft Passport es un Servicio Web XML </li></ul></ul>
  6. 6. Comparación de los métodos de autenticación de ASP.NET <ul><li>Inicio de sesión único para muchos sitios de Internet </li></ul><ul><li>No es necesario mantener una base de datos para almacenar información del usuario </li></ul><ul><li>Permite a los desarrolladores personalizar el aspecto de la página de inscripción </li></ul><ul><li>Adecuada para aplicaciones de Internet </li></ul><ul><li>Soporta todo tipo de clientes </li></ul><ul><li>Utiliza infraestructura Windows existente </li></ul><ul><li>Controla el acceso a información confidencial </li></ul>Ventajas <ul><li>Basada en cookies </li></ul><ul><li>Implica cuota </li></ul>Autenticación mediante Microsoft Passport <ul><li>Basada en cookies </li></ul>Autenticación basada en formularios <ul><li>No apropiado para la mayoría de aplicaciones de Internet </li></ul>Autenticación basada en Windows Inconvenientes Método
  7. 7. ¿Cuáles son los mecanismos de autenticación de IIS? Alto Medio Bajo (Medio con SSL) Ninguno Nivel de seguridad <ul><li>Utiliza NTLM o Kerberos </li></ul><ul><li>Generalmente adecuado para intranets, no Internet </li></ul><ul><li>No funciona a través de muchos cortafuegos </li></ul>Seguridad integrada de Windows <ul><li>Envía la información en un hash (o digest) codificado </li></ul><ul><li>Requiere Internet Explorer 5 o superior </li></ul><ul><li>Requiere Active Directory </li></ul>Autenticación implícita <ul><li>El cliente envía nombre de usuario y contraseña como texto claro </li></ul><ul><li>Puede encriptarse utilizando SSL </li></ul><ul><li>Parte de la especificación HTTP y soportado por la mayoría de exploradores </li></ul>Autenticación básica <ul><li>No se produce autenticación </li></ul>Acceso anónimo Descripción Mecanismos
  8. 8. Demostración: uso de los mecanismos de autenticación de IIS <ul><li>Hacer clic con el botón derecho en Mod16 y hacer clic en Propiedades </li></ul><ul><li>Hacer clic en la pestaña Seguridad de directorios </li></ul><ul><li>Hacer clic en Modificar </li></ul><ul><li>Mostrar los métodos de autenticación </li></ul>
  9. 9. ¿Qué es Secure Sockets Layer ? <ul><li>SSL es un protocolo que se utiliza para transmitir datos de forma segura a través de una red. SSL securiza los datos mediante: </li></ul><ul><ul><li>Encriptación de datos </li></ul></ul><ul><ul><ul><li>- Asegura que los datos enviados son leídos únicamente por un servidor destinatario seguro </li></ul></ul></ul><ul><ul><li>Autenticación de servidor </li></ul></ul><ul><ul><ul><li>- Asegura que los datos se envían al servidor correcto </li></ul></ul></ul><ul><ul><ul><li>- Utiliza los certificados de servidor y de cliente </li></ul></ul></ul><ul><ul><li>Integridad de los datos </li></ul></ul><ul><ul><ul><li>- Protege la integridad de los datos </li></ul></ul></ul><ul><ul><ul><li>- Incluye un código de autenticación de mensajes que detecta si un mensaje ha sido o no modificado </li></ul></ul></ul><ul><li>Utiliza HTTPS (Hypertext Transfer Protocol Secure) para recuperar una página Web ASP.NET </li></ul>
  10. 10. Lección: trabajar con autenticación basada en Windows <ul><li>Cómo habilitar la autenticación basada en Windows </li></ul><ul><li>Leer información del usuario </li></ul><ul><li>Demostración: uso de la autenticación basada en Windows </li></ul>
  11. 11. Cómo habilitar la autenticación basada en Windows <ul><li>Configurar IIS para utilizar uno o varios de los siguientes mecanismos de autenticación : </li></ul><ul><ul><li>Básica </li></ul></ul><ul><ul><li>Implícita </li></ul></ul><ul><ul><li>Seguridad de Windows integrada </li></ul></ul><ul><li>Establecer la autenticación basada en Windows en Web.config </li></ul>1 2 <system.web> <Authentication mode=&quot;Windows&quot; /> </system.web>
  12. 12. Cómo habilitar la autenticación basada en Windows ( continuación ) <ul><li>Establecer la autorización en Web.config </li></ul><ul><li>Cuando los usuarios acceden al formulario Web Form, IIS solicita </li></ul><ul><li>información de inicio </li></ul><ul><li>de sesión </li></ul><location path=&quot;ShoppingCart.aspx&quot;> <system.web> <Authorization> <deny users=&quot;?&quot;/> </Authorization> </system.web> </location> 4 3
  13. 13. Leer información del usuario <ul><li>Tras la autenticación, el servidor Web puede leer la identidad del usuario </li></ul>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;
  14. 14. Demostración: uso de la autenticación basada en Windows <ul><li>Abrir IIS y configurarlo únicamente con autenticación anónima </li></ul><ul><li>Crear un nuevo usuario en el equipo local </li></ul><ul><li>Abrir Web.config y configurarlo para soportar autenticación y autorización </li></ul><ul><li>Ejecutar la aplicación Web ASP.NET segura </li></ul><ul><ul><li>Los estudiantes pueden acceder a la aplicación Web ASP.NET segura en el equipo del instructor </li></ul></ul>
  15. 15. Lección: trabajar con autenticación basada en formularios <ul><li>Descripción de la autenticación basada en formularios </li></ul><ul><li>Multimedia: autenticación basada en formularios </li></ul><ul><li>Cómo habilitar la autenticación basada en formularios </li></ul><ul><li>Crear una página de inicio de sesión </li></ul><ul><li>Demostración: uso de la autenticación basada en formularios </li></ul>
  16. 16. 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 segura solicitada IIS Nombre usuario Contraseña Alguien *********** Enviar 1 2 3 4 6 5 7  
  17. 17. Cómo habilitar la autenticación basada en formularios <ul><li>Configurar IIS para utilizar autenticación anónima </li></ul><ul><li>Establecer la autenticación basada en formularios en Web.config </li></ul><ul><li>Establecer la autorización </li></ul><ul><li>Generar un formulario Web </li></ul><ul><li>Form de inicio de sesión </li></ul>1 2 3 4 <Authentication mode=&quot;Forms&quot; > < forms name=&quot;.namesuffix&quot; loginUrl=&quot;login.aspx&quot; /> </Authentication>
  18. 18. <ul><li>Añadir una referencia a System.Web.Security </li></ul><ul><li>La página de inicio de sesión v erifica y examina las credenciales de un usuario </li></ul><ul><li>Leer las credenciales del usuario desde una cookie </li></ul><ul><ul><li>User.Identity.Name devuelve el valor guardado por FormsAuthentication.RedirectFromLoginPage </li></ul></ul>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 If End Sub private void cmdLogin_Click(object sender, EventArgs e) { if (login(txtEmail.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false); }
  19. 19. Demostración: uso de la autenticación basada en formularios <ul><li>Abrir IIS y configurar para autenticación anónima </li></ul><ul><li>Abrir Web.config y configurarlo para autenticación y autorización </li></ul><ul><li>Abrir la página de inicio de sesión y mostrar el código </li></ul><ul><li>Ejecutar la aplicación Web ASP.NET </li></ul><ul><ul><li>Los estudiantes pueden acceder a la aplicación Web ASP.NET segura en el equipo del instructor </li></ul></ul>
  20. 20. Lección: Descripción de la autenticación mediante Microsoft Passport <ul><li>Cómo funciona Microsoft Passport </li></ul><ul><li>Otros recursos de Microsoft Passport </li></ul>
  21. 21. Cómo funciona Microsoft Passport sitioweb.msft Cliente Passport.com El cliente solicita una página al host 1 2 3 4 5 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 6 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
  22. 22. Otros recursos sobre Microsoft Passport <ul><li>Sitios Web </li></ul><ul><ul><li>http://www.passport.com </li></ul></ul><ul><ul><li>http://msdn.microsoft.com </li></ul></ul>

×