Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 26

Como Aplicar Seguridad a Nuestras Aplicaciones Web Utilizando Tecnologias ASP.

NET
Calificar

Resumen
Es importante tomar en cuenta las posibles amenazas presentes cuando tenemos en produccin un sitio web. Estas amenazas van desde el ingreso no autorizado al sitio, asi como tambien, la manipulacin indebida de datos de alta confidencialidad. Para esto existe una Solucin "Seguridad en las aplicaciones Web con Tecnologias ASP.NET". Una de las principales ventajas que trae esta tecnologa es Aplicar Membresia, Roles, Almacenamiento Encriptado de datos, administracion de usuarios, manejo de procedimientos almacenados para realizar consultas parametrizadas. Manipulacin de archivos de configuracin, manejo de clases utilizando orientacin a objetos, Desarrollo de la aplicacin por capas entre otros, a continuacin te presento lo que necesitas, los pasos y las mejores practicas (Best Practices) para lograr de manera correcta todo el funcionamiento en tu sitio (Esto igualmente aplica para la EXCELENTE PAGINA COMO LO ES WWW.BIENSIMPLE.COM). Por favor Recomiendo le des un zoom a la pagina considerable para que puedas visualizar mejor las imagenes. Por otra parte, es importante acotar que es una parte de la seguridad en una aplicacin Web, dedicada al tema de permisos. Pero que tambin puede revisar SQL Injection, y en general el tema de ataques a aplicaciones web, como tambin el tema de validaciones en cualquier ingreso que haga el usuario

Necesitas
Hablando de Software Necesitas: Visual Studio 2005 o 2008, o en su defecto Visual Web Developer Express Edition Proveedor de Datos: Microsoft SQLSERVER EXPRESS 2008 Hablando de Ti: Necesitas: un poco de conocimientos no muy profundo en HTML y Ganas de que tu sitio sea totalmente protegido

Pasos
Paso 1 Muy sencillo, ejecuta Visual Studio, ir a Archivos > Nuevo > Sitio Web, dale un nombre al proyecto y aceptamos. Puedes utilizar cualquier Lenguaje VB, C#...

Paso 2

Una de las caractersticas importantes de esta tecnologa es que tu puede hacer uso de la herramienta de configuracin el cual en el mismo tu puedes crear roles, membresia, funciones para darle acceso al usuario a ciertas partes de tu sitio, siempre y cuando el mismo este loguea y este autorizado. "Automaticamente se Crea tu Base de datos con sus respectivas Tablas, Usuarios, Funciones, Roles, Procedimientos Almacendados, Datos Encriptados. Esta lleva por nombre ASPNETDB.MDF" Sin necesidad de que tu crees la Base de Datos. Como podemos acceder a esta herramienta? Lo hacemos de la siguiente manera: Entras a la Menu que dice Sitio Web / Herramienta de Configuracion de ASP.NET "Click"

Paso 3 Antes de entrar a la Herramienta de Configuracion vamos a observar los recursos que tengo al crear mi proyecto y la creacion del directorio hacia donde los usuarios entraran al monento de autenticarse. Visualizacion de Los Recursos.

Creando un directorio:

El directorio lleva por nombre Miembros. Retomando lo mencionado en la herramienta de configuracion Entras a la Menu que dice Sitio Web / Herramienta de Configuracion de ASP.NET "Click" Al Hecer click en la opcion se levantara una pgina de configuracin de ASP.NET

En el podemos encontrar varias opciones: La Primera que debemos hacer click es en Proveedor: La zona Proveedor sirve para administrar el modo en que ASP.NET almacena datos para las caractersticas de la aplicacin, como cuentas de usuario, funciones y otros valores de configuracin. Recuerda que la Base de datos se Creara Automaticamente.

Al darle click aparece una opcion de prueba debes darle click, con esto se logra la visualizacion correcta de la conexion a la base de datos debes obtener una respuesta asi: "La conexin con la base de datos se estableci correctamente". *La Segunda *debemos crear el tipo de autenticacion Windows o Forms eso lo hacemos en la Zona de Suguridad.

*Nota: *Debes tomar en cuenta algo A.- "Desde Internet" Seleccionar la opcin si los usuarios obtienen acceso al sitio Web desde Internet B.- "Desde una red local" Si los mismos tendran acceso desde una red privada. Selecciona la que veas mas conveniente para el desarrollo de tu web. Partiendo de los requerimientos. Una vez Hecho Click en el Boton "Listo". parte Inferior derecho.

Al darle click al boton se activara la las opciones de crear usuario

La Segunda es que debemos crear los usuario que entraran a nuestro sitio Click en la Zona Seguridad. Cuando creamos una aplicacin web nos interesa que tenga una cierta seguridad en toda la aplicacin o en zonas concretas de esta ya que tenemos una serie de recursos que deseamos proteger y solo sean accesibles por tipo de usuario especificado. ASP.NET utiliza un sistema de seguridad que le permite restringir el acceso a cuentas de usuario especficas o a las funciones (Roles) a las que pertenecen las cuentas de usuario. Con la ficha Seguridad, puede administrar cuentas de usuario, funciones y reglas de acceso para el sitio Web. Antes de utilizar la ficha Seguridad por primera vez, utilice el Asistente para la configuracin de seguridad para configuraciones de seguridad bsicas para el sitio Web. En el nos mostrara varios campos (Nombre, Contrasea, Pregunta Secreta, Respuesta Secreta, Email)

Importante: Podran notar que en la cantidad de usuario que anteriormente estaban que era 0 cambio ahora a 1 La Tercera Opcion es en la Zona Seguridad, En el vamos a definir las Funciones es decir los roles que estaran presente en nuestro sitio. en otras palabras debemos indicarle a nuestro sitio que usuario sera invitado, y cual sera administrador o quienes son miembros de nuestro sitio. Para hacerlos, activamos funciones y click en la opcion crear nueva funcion, nos mostrara un cuadro de texto en el cual se debe colocar las funciones existentes. En nuestro caso vamos a colocar Miembros. Aceptar y Listo.

*Una vez que habilito creo la funcion (Rol). este llevara el nombre de Miembros.*

Una vez que agrego la funcion puedo administrarla e igualmente eliminarla. Ahora las funciones cambiaron de 0 a 1

Notese que ahora podemos administrar a los usuarios que estan dentro de el rol antes creado. es decir podemos decirle a nuestro sitio para darle mayor seguridad que el usuario biensimple esta asignado al rol miembros. De la siguiente manera:

Click en la opcion Administrar Usuarios / Click al Usuario a Editar Funciones / y va aparecer ilustrativamente asi:

Click en la casilla miembros, ahi le estamos diciendo que el usuario [BienSimple] esta asignado al Rol Miembros La Cuarta Opcion en la misma Zona de Seguridad se encuentra una opcion que dice: Crear Reglas de Acceso. Ahora vamos a asignarles a que usuarios van a estran a mi sitio siempre y cuando los mismos esten logueados.

Nota: Para hacerlo mas facil, desde un comienzo creamos en el sitio una carpeta que el cual lleva por nombre Miembros Nos va aparecer en la parte izquierda todas los directorios presentes en mi sitio, por ejemplo app_data la carpeta Miembros antes creada entre otros... De manera ilustrada es asi:

Ahora, Click en la carpeta miembros, y le vamos a decir en la las opciones que tengo al otro lado que en la misma no van a entrar usuarios desconocidos, es decir, Selecciona la carpeta miembros, del Lado Derecho, Selecciono Usuarios annimos, Denegar. Con esto queremos decir, que los usuarios que no esten loguados, no podran entrar a los recursos que se encuentren dentro de la carpeta Miembros y que estos seran denegados. Click en el boton Aceptar Vamos a colocarlo de manera ilustrada:

Listo amigo ya tienes configurado todo tu sitio con sus respectiva seguridad. Ya puedes cerrar la ventana del explorador e ir para la Visual Studio y comenzar a estruturar tu sitio incluyendo la Seguridad. Paso 4

En el explorador de soluciones que tienes en la parte derecha "Ahi tienes todos tus recursos antes mencionados" mas la base de datos que el mismo crea automaticamente. Importante: Hasta estos momentos hemos visto lo poderoso que es la herramienta SIN UNA LINEA DE CODIGO Veamos: Click en Actualizar y,

Observemos la bd creada ASPNETDB.MDF todo eso se muestra al darle al boton actualizar. Para continuar, vamos agregar un nuevo items. Nos posicionamos en la raiz de nuestro proyecto, Nuevo / Agregar un Nuevo ITEM o Elemento. Agregamos una pagina el cual se llamara Login.aspx

Al hacerlo el mismo se agregara a nuestro sitio Una de las funcionalidades que trae Visual Studio es que el mismo nos trae controles personalizados como por ejemplo: Login: en el mismo tu colocas nombre y contrasea [LoginStatus]: Puedes Iniciar o Cerrar Tu Sesion Tipo Hotmail u Otros Proveedores de cuentas de Correo [LoginName]: Para que al loguerate aparezca el nombre usuario de usuario autenticado [CreateUserWizard]: Para crear nuevos usuarios Una vez comprendido todo esto, abrimos la pagina login.aspx le damos una apariencia interesante y luego arrastramos el control login y listo sres, ya tenemos nuestro sitio con sus respectivas seguridades. Agregamos una plantilla a nuestro sitio. Diseo / Insertar tabla Activamos la Opcion Plantilla.

Ahora es cuestion de creatividad para poder estructurar bien nuestro sitio, lo he creado de la siguiente manera:

Asi como agregue una nueva carpeta al sitio el cual se llama "Miembros" ahora hice agregando una que se llama "Images" Las hubique, y luego las arrastre a la carpeta y listo.

Es importante acotar que en la pagina agregamos un control, login esto lo hacemos en el misma caja de herramientas que nos aporta visual studio. observemos "Ficha Inicio de Sesion"

Ahora vamos a colocar recursos dentro de la carpeta Miembros y Comenzamos a loguearnos para que observemos que solo entrar usuarios que estan autenticados y que pertenecen al rol Miembros.

Paso 5 Agregamos una nueva pagina dentro de la carpeta Miembros y le dejamos el nombre que trae por defecto Default.aspx "Puede tener cualquier nombre" Nota: Si al usuario se le ocurre hacer el llamado de la pagina que se encuentra dentro del directorio miembros la misma configuracion antes creada evalua si el mism esta autenticado, de no ser asi automaticamente lo reenvia a la pagina de login. Veamos...

Observemos la url: http://localhost:1619/BienSimple/login.aspx?ReturnUrl=%2fBienSimple%2fMiembros%2f Default.aspx

Vamos a probar del todo la pagina con su respectiva "SEGURIDAD"

Observemos que estamos colocando el usuario biensimple creado con el administrador al darle click al boton Iniciar Sesion observen lo que pasa:

Hemos entrado a la pagina Default.aspx porque nos hemos autenticado bien. Ahora intentemos con un usuario que no existe

Me muestra un mensaje de error porque el usuario Nelson No existe. Es importante acotar que para que el al momento de loguerame me envie a la pagina Default.aspx primeramente se debe configurar una propiedad del control login que es "[DestinationPageURL]" asi: Boton Derecho en el contro / Propiedad / Buscar----> [DestinationPageURL] y ubicar

donde esta la pagina a la que una vez logueado me envie hasta alla.

Paso 6 Podemos crear Nuevos Usuarios: Si arrastramos un control [CreateUserWizard] podemos ubicar en sus propiedades un evento que se llama [CreateUser] y con el simple hecho de colocar Roles.[AddUserToRole](Nombre del Control es decir [CreateUserWizard1].[UserName], Nombre de la Funcion. Acuerdate antes creada Miembros) Es decir, de la siguiente manera:

De manera ilustrada la pagina con el control queda de la siguiente manera:

Listo ya podemos crear usuarios con toda seguridad. Por otra parte podemos colocar otros controles a la pagina para aumentar seguridad en cuanto al cerrado de la sesion. Agregamos Un control [LoginName1]: Muestra el nombre del usuario Logueado, y [LoginStatus1]: Muestra el cerrado de la sesion

Al darle click a Cerrar Sesion Automaticamente la pagina lo envia a Login.aspx Puedo ampliarte mas tus conocimientos, enviame un mail a [email protected] y con gusto puedo ayudarte a crear aplicaciones seguras.

Mil gracias por todo, Saludos nelson Gomez desde Venezuela.

Importante
Es importante que tomes en cuenta que la seguridad en las aplicaciones que desarrollamos es MUY RECOMENDABLE.

También podría gustarte