Está en la página 1de 43

Desarrollo de Aplicaciones II

Seguridad del Website

José Sulla Torres


Agenda

 Fundamentos de seguridad
 Modelo de Seguridad en ASP.NET
 Autenticación de Formularios
 Autenticación Windows
 Membresia
Fundamentos de Seguridad ASP

ASP.NET provee un modelo de seguridad


multicapa que hace esto fácil para proteger
las aplicaciones web.

El primer paso en seguridad de las


aplicaciones se decide donde se necesita
seguridad y lo que es necesario para
protegerlo.
Conceptos de Seguridad

Autenticación: Es el proceso de determinar


la identidad del usuario. Usualmente, se
requiere credenciales (nombre y password)
para el login.

Autorización: Una vez que el usuario se ha


autenticado, la autorización es el proceso
de determinar si ese usuario tiene los
suficientes permisos para ejecutar una
acción dada.
Interacción ASP.NET y IIS
Certificados

Los certificados y las conexiones SSL (Secure


Sockets Layer) son tecnologías que están
soportados en IIS y son independientes de
ASP.NET.
Los certificados permiten demostrar que el site y
la información de la organización están
registrados y verificados con una autoridad
certificada.
El servidor web requiere un certificado para usar
SSL, el cual encripta automáticatemente toda la
información a ser enviada.
Certificados

Para añadir un certificado al sitio web,


primero se necesita adquirir uno de una
autoridad certificada. Por ejemplo:
• VeriSign
• GeoTrust
• GlobalSign
• Thawte
Secure Sockets Layer

SSL es una tecnología que encripta la


comunicación (passwords, numero de
tarjetas de crédito, etc.) entre un cliente y
un sitio web.
Aunque la ejecución es lenta, a menudo se
usa cuando se necesita privacidad de
información a ser transmitida entre un
usuario autenticado y una aplicación web.
Secure Sockets Layer
Secure Sockets Layer

Para acceder a la pagina sobre SSL, el


cliente tipea el URL colocando https en
lugar de http al inicio de la petición.

Se puede verificar en ASP.NET, si el


usuario se ha conectado sobre una
conexión segura usando código como:
Verificación de seguridad ASP.NET
La pagina login

Una vez que se ha especificado el modo de


autenticación y las reglas de autorización, se
necesita construir la pagina login, la cual es
una pagina con extensión .aspx que solicita
información del usuario y decide si el usuario
debería ser autenticado.

ASP.NET provee una clase especial


FormsAuthentication en el namespace
System.Web.Security
Metodos de FormAuthentication
Metodos de FormAuthentication
La pagina login

El método RedirectFromLoginPage()
requiere dos parámetros. El primero es el
nombre del usuario y el segundo es una
variable Boolean que crea un cookie de
autenticación de formulario ordinario
cuando es false.
La pagina login

Una vez que se ha ingresado el correcto


usuario y password se puede recuperar la
identidad por medio de User.Identity.Name
La pagina login
La pagina login

La aplicación debería tener características


para el logout que destruya el cookie de
autenticación del formulario:
Membresía

Es el proceso de administrar la lista de


usuarios.
ASP.NET puede crear y mantener el
catalogo de información de usuarios.
Se puede implementar reglas avanzadas
(tal como requerimientos de e-mail,
preguntas de seguridad, e implementación
de passwords fuertes).
Métodos de Membresía

Método Descripción
CreateUser() Agrega un nuevo usuario
DeleteUser() Elimina un usuario
GetUser() Retorna un usuario por su
nombre
GetUserNameByEmail() Retorna un usuario por su email
GetNumberOfUsersOnline() Retorna todos los usuarios en
linea
GetAllUsers() Retorna todos los usuarios
registrados
Métodos de Membresía
Métodos de Membresia
Controles de seguridad

Los ASP.NET controles de seguridad


interactúan con la membresía usando los
métodos de las clases Membership y
MembershipUser para implementar
interfaces como la pagina login, controles
de creación de usuarios y manejo de
password.
Controles de seguridad
Controles de seguridad

Control Descripción
Login Muestra las cajas de texto usuario y
password
LoginStatus Control que depende si esta
conectado o no
LoginName Control simple que muestra el
nombre del usuario
LoginView Control que muestra los diferentes
contenidos si esta o no conectado
PasswordRecovery Permite solicitar el password vía
email
ChangePassword Permite cambiar de password
El control Login

Una pagina login es estándar, por tal


motivo ASP.NET proporciona un control
Login con las cajas de texto Usuario y
Password así como un botón de Inicio de
sesión que pueda hacer ese trabajo.
Características del control Login

Incluye controles de validación que previene


que la pagina haga postback hasta que le
usuario y su password se hayan ingresado.
Maneja automáticamente la confirmación y
redirección de procesos si el login es
satisfactorio caso contrario muestra un
mensaje de error.
Provee un control check “Recuerdame”,
para almacenar o no un cookie persistente
con los datos del usuario.
Características del control Login
Eventos del control Login

Evento Descripción
LoggingIn Se invoca antes de que el usuario
sea autenticado.
LoggedIn Se invoca después de que el usuario
sea autenticado.
LoginError Se invoca cuando falla el intento de
login.
Authenticate Se invoca para autenticar el usuario.
Formato del control Login
El control CreateUserWizard

Es un control que permite crear usuarios.


El control CreateUserWizard opera en dos
pasos:
El primer paso reúne la información del
usuario necesario para generar el registro
del usuario.
El segundo paso muestra un mensaje de
confirmación una vez que la cuenta se ha
creado.
El control CreateUserWizard
El control PasswordRecovery

El control PasswordRecovery maneja la


cuenta del usuario cuando este ha olvidado
su password.
Este control permite al usuario a través de
un breve asistente preguntar el nombre le
usuario y la pregunta relevante de
seguridad.
Si el usuario ingresa correctamente la
respuesta correcta el password
automáticamente es enviada al email
configurado por el usuario.
El control PasswordRecovery
El control PasswordRecovery
Seguridad basada en formularios

Para implementar seguridad basada en


formulario, se necesita que se siga los
siguientes pasos:
1. Fijar el modo de autenticación en el fichero
Web.Config.
2. Restringir a los usuarios anónimos de una
pagina especifica o directorio en la aplicación.
3. Crear la pagina login.
Configuración del Web.config

Para definir el tipo de seguridad en el


fichero Web.Config se usa la etiqueta
<authentication>.
Configuración del Web.config

Atributo Descripción
name El nombre del cookie usado para
autenticación
loginUrl La pagina de login
protection El tipo de encriptación y validación usado
por la seguridad del cookie
timeout Minutos antes que cookie expire
Reglas de autorización

Para controlar quién puede y quién no puede


acceder al website, se necesita añadir reglas
de control de acceso a la sección de
<authorization> del web.config.
Reglas de autorización

El comodín “?” es para todos los usuarios


anónimos, en este ejemplo se niega a dichos
usuarios.
Controlando el acceso a archivos
Controlando el acceso a usuarios
Práctica

1. Indique los 2 criterios de seguridad que hay


que considerar en las aplicaciones Web.
2. ¿Qué es SSL?
3. ¿Qué función cumple el archivo web,config?

También podría gustarte