Cargando



Fundamentos de Seguridad en ASP.NET MVC

En este tutorial vamos a ver algunos puntos a tomar en cuenta cuando estamos pensando en asegurar nuestra aplicación web realizada con ASP.NET.


jul 13 2014 00:38
Avanzado
jul 13 2014 15:53
Al momento de que necesitemos liberar nuestra aplicación web al público, surgen algunos requerimientos de seguridad, esto es más que todo porque existen miles de agentes que pueden afectar nuestra aplicación, ya sean maliciosos o no, como por ejemplo: datos erróneos, contraseñas no seguras, permisos de usuarios, etc. Si adicionalmente incluimos los agentes maliciosos como inyecciones SQL, ataques de denegación de servicios, accesos no autorizados, etc. Vemos entonces que tenemos que asegurar nuestra aplicación para por lo menos evitar los casos más evidentes.

Para poder asegurar nuestra aplicación debemos tener algunos fundamentos claros, es decir, las bases ya deben estar hechas tomando en cuenta la seguridad de nuestros datos, con ello podremos tener aplicaciones más seguras y menos problemas cuando estemos al aire.

Seguridad de Cada Capa


Puede darse el caso que solamente pensamos en la seguridad de la capa que se comunica con los usuarios directamente, la verdad es que cada capa de la aplicación debe tener sus propias medidas de seguridad.

Uno puede pensar que asegurando un formulario, ya automáticamente el controlador que recibe sus datos no corre riesgos, pero esto en la práctica no es así, por lo que deberíamos tomar medidas para que el controlador sea seguro independientemente de lo que pase en el formulario.

asp_funda_seg.jpg


Así podemos ir extendiendo cada una de las secciones de la aplicación, vemos que hay que ser bastante detallista, pero esto al final paga sus dividendos cuando reducimos el riesgo en un gran porcentaje.

Nunca Confiar en el Usuario


A pesar que podamos haber diseñado toda una experiencia de usuario, al final del día lo que ingrese como dato a nuestra aplicación puede ser utilizado en nuestra contra, es decir, que no debemos confiar en que el usuario va a colocar todo de forma correcta.

¿A que nos referimos con nunca confiar?
Nos referimos a que no debemos utilizar los datos ingresados sin ningún tipo de tratamiento, debemos depurar y validar el tipo de cada elemento que el usuario ingrese a nuestros formularios, así evitamos datos incorrectos o intentos de inyección de SQL.


Principio del Menor Privilegio


Los usuarios por defecto deben tener la menor cantidad de privilegios posible de forma que solo puedan cumplir con sus tareas, si un perfil de usuario no debe subir archivos, entonces el usuario de sistema de dicho perfil no debe ni siquiera tener este tipo de permisos.

Contingencias
Con esto logramos que al momento de una contingencia solo usuarios autorizados puedan modificar los datos y con ello los atacantes externos tendrán menos oportunidades de hacer daño en caso de lograr un acceso de forma ilegítima.


Como vemos tenemos algunos principios que al tomarlos en cuenta al momento de desarrollar nuestra aplicación podremos lograr reducir los riesgos de seguridad en un gran porcentaje, queda de más decir que todo sistema que va dirigido al público es vulnerable, por lo que nunca va a estar demás tomar las prevenciones adecuadas, incluso si esto lleva un poco más de tiempo para entregar el proyecto.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X