Sei sulla pagina 1di 6

Seguridad en ASP.

net
La seguridad de los sitios Web es una cuestin de importancia fundamental, adems de
compleja, para los desarrolladores de sitios Web. La proteccin de un sitio requiere la
elaboracin cuidadosa de un plan; por consiguiente, los programadores y
administradores de sitios Web deben comprender perfectamente las opciones para
proteger los sitios.
ASP.NET funciona junto con Microsoft .NET Framework y Servicios de Microsoft
Internet Information Server (IIS) para ayudar a proporcionar aplicaciones Web seguras.
Para ayudar a proteger la seguridad de una aplicacin ASP.NET, se deben llevar a cabo
las dos funciones principales que se describen a continuacin.
Autenticacin: ayuda a comprobar que el usuario es precisamente quien dice ser. La
aplicacin obtiene las credenciales (diversas formas de identificacin, como nombre y
contrasea) de un usuario, y las valida consultando a una autoridad determinada. Si las
credenciales son vlidas, se considera a la entidad que ha enviado las credenciales como
una entidad autenticada.
Autorizacin: limita los derechos de acceso mediante la concesin o negacin de
permisos especficos a una identidad autenticada.
Internet Information Services (IIS) puede conceder o negar el acceso en funcin de la
direccin IP o del nombre de host del usuario. Cualquier autorizacin de acceso
posterior se realiza mediante la autorizacin de la direccin URL del permiso de acceso
al sistema de archivos NTFS.
Es importante entender cmo interactan todos los diversos subsistemas de seguridad.
Puesto que ASP.NET se basa en Microsoft .NET Framework, el desarrollador de
aplicaciones ASP.NET tambin tiene acceso a todas las caractersticas de seguridad
integradas de .NET Framework, como la seguridad de acceso a cdigo y la seguridad de
acceso basada en funciones. Para obtener ms informacin sobre las funciones de
seguridad de ASP.NET, vea Seguridad de acceso a cdigo de ASP.NET.

Arquitectura de seguridad de ASP.net

Como se muestra en la ilustracin, todos los clientes Web se comunican con las
aplicaciones ASP.NET a travs de Microsoft Internet Information Services (IIS). IIS

autentica la solicitud si fuera necesario y, a continuacin, busca el recurso solicitado


(como una aplicacin ASP.NET). Si el cliente est autorizado, el recurso estar
disponible.
Cuando se est ejecutando una aplicacin ASP.NET, puede utilizar las caractersticas de
seguridad de ASP.NET integradas. Adems, una aplicacin ASP.NET puede utilizar las
caractersticas de seguridad de .NET Framework.

Flujo de Datos de Seguridad en ASP.NET


Escenario 1: suplantacin
El escenario de suplantacin se basa en la autenticacin de Servicios de Microsoft
Internet Information Server (IIS) y en la seguridad de acceso a archivos de Microsoft
Windows para minimizar la programacin de la seguridad en la propia aplicacin
ASP.NET. El flujo de datos se muestra en la ilustracin siguiente.

En esta ilustracin se muestra la siguiente secuencia de eventos:

1. Una solicitud de un cliente de red llega a IIS.


2. IIS autentica al cliente utilizando la seguridad bsica, implcita o integrada de
Windows (NTLM o Kerberos).
3. Si se autentica al cliente, IIS pasa la solicitud autenticada a ASP.NET.
4. La aplicacin ASP.NET suplanta al cliente que realiza la solicitud utilizando el
smbolo (token) de acceso pasado desde IIS, y se basa en los permisos de
archivo NTFS para conceder acceso a los recursos. La aplicacin ASP.NET slo
necesita comprobar que la suplantacin est establecida en true en el archivo de
configuracin de ASP.NET; no se requiere ningn cdigo de seguridad de
ASP.NET.
Si la suplantacin no est habilitada, la aplicacin se ejecuta con la identidad de
proceso de ASP.NET. En Microsoft Windows 2000 Server y Windows XP
Professional, la identidad predeterminada es una cuenta local denominada
ASPNET que se crea automticamente al instalar ASP.NET. En Microsoft
Windows Server 2003, la identidad predeterminada es la del grupo de
aplicaciones correspondiente a la aplicacin IIS (de manera predeterminada, la
cuenta Servicio de red).
5.

Si se concede el acceso, la aplicacin ASP.NET devuelve el recurso solicitado a


travs de IIS.

Escenario 2 Autenticacin de formularios


En el escenario de autenticacin de formularios, una aplicacin obtiene las credenciales,
como el nombre y la contrasea, directamente del usuario y determina por s misma su
autenticidad. La aplicacin no utiliza la autenticacin de IIS, pero la configuracin de la
autenticacin de IIS puede afectar a la autenticacin de formularios. Como norma,
cuando se utiliza la autenticacin de formularios, se habilita el acceso annimo en IIS.
Por otra parte, si los usuarios no pasan la autenticacin de IIS, no pueden ponerse en
contacto con la aplicacin para proporcionar un nombre de usuario y una contrasea
para la autenticacin de formularios.
El flujo de datos de este escenario se muestra en la ilustracin siguiente.

En esta ilustracin se muestra la siguiente secuencia de eventos:


1. Un usuario genera una solicitud de un recurso protegido.
2. IIS recibe la solicitud y, dado que el acceso annimo de IIS est habilitado, IIS
no realiza ninguna autenticacin del usuario y la solicitud se pasa a la aplicacin
ASP.NET.
3. Dado que el modo de autenticacin de ASP.NET se ha establecido en
formularios, la aplicacin ASP.NET examina la solicitud para obtener un vale de
autenticacin de formularios (una cookie concreta). Si no hay ningn vale de
autenticacin asociado a la solicitud, ASP.NET redirige la solicitud a la pgina
de inicio de sesin especificada en el archivo de configuracin de la aplicacin.
4. En la pgina de inicio de sesin, el usuario escribe las credenciales requeridas,
normalmente un nombre y una contrasea. El cdigo de aplicacin comprueba
las credenciales para confirmar su autenticidad. Si se autentican las credenciales,
el cdigo de aplicacin asocia a la respuesta un vale de autenticacin que
representa las credenciales del usuario. (No se incluye la contrasea.) Si se
produce un error en la autenticacin, la respuesta se devuelve con un mensaje de
acceso denegado o se vuelve a mostrar el formulario de inicio de sesin.
El vale de autenticacin emitido se incluir en las solicitudes que se realicen a la
aplicacin ASP.NET con posterioridad. ASP.NET examina la validez del vale
mediante una comprobacin de la autenticacin de mensajes (MAC).
5. Si se autentica al usuario, ASP.NET comprueba la autorizacin y puede conceder
acceso al recurso solicitado inicialmente, redirigir la solicitud a alguna otra
pgina o redirigirla a un mdulo de autorizacin personalizado, donde se
comprueba si las credenciales estn autorizadas a tener acceso al recurso
protegido. Si se produce un error de autorizacin, ASP.NET redirige al usuario a
la pgina de inicio de sesin.

Si se autoriza al usuario, se concede el acceso al recurso protegido la aplicacin


puede requerir una prueba adicional de las credenciales antes de autorizar el
acceso al recurso protegido, dependiendo del diseo de la aplicacin.

Integrar autenticacin de ASP.NET con IIS


Adems de basarse en las funciones de autenticacin de IIS, puede realizar
autenticacin en ASP.NET. Cuando conozca la autenticacin de ASP.NET, entender la
interaccin con los servicios de autenticacin de IIS.
Internet Information Services (IIS) supone que se asigna un conjunto de credenciales a
una cuenta de Microsoft Windows NT y que se utilizan las credenciales para autenticar
a los usuarios. En las versiones 5.0 y 6.0 de IIS, hay tres clases distintas de
autenticacin: bsica, implcita y seguridad integrada de Windows (NTLM o Kerberos).
Se puede seleccionar el tipo de autenticacin que se desea utilizar en los servicios de
administracin de IIS. Para obtener ms informacin sobre la autenticacin de IIS,
consulte la documentacin correspondiente.
Si los usuarios solicitan una direccin URL que asigna una aplicacin ASP.NET, la
informacin sobre la autenticacin y la solicitud se entrega a la aplicacin. ASP.NET
proporciona la autenticacin de formularios. La autenticacin de formularios es un
sistema que redirige las solicitudes no autenticadas a una pgina web ASP.NET que
usted crea. El usuario proporciona las credenciales y enva la pgina. Si la aplicacin
autentica la solicitud, el sistema emite un vale de autenticacin en una cookie que
contiene las credenciales o una clave para readquirir la identidad. Las solicitudes
subsiguientes incluyen un vale de autenticacin con la solicitud.

Autenticacin de ASP.NET
La autenticacin es un proceso que consiste en obtener las credenciales de
identificacin, como nombre y contrasea, de un usuario y validarlas consultando a una
autoridad determinada. Si las credenciales son vlidas, se considera a la entidad que ha
enviado las credenciales como una entidad autenticada. Una vez autenticada la
identidad, el proceso de autorizacin determina si esa identidad tiene acceso a un
recurso especfico.
ASP.NET implementa este proceso a travs de proveedores de autenticacin, que son
mdulos que contienen el cdigo necesario para autenticar las credenciales del
solicitante. En los temas de esta seccin se describen los proveedores de autenticacin
integrados en ASP.NET.
Proveedor de autenticacin de Windows: Proporciona informacin sobre cmo
utilizar la autenticacin de Windows junto con la autenticacin de Microsoft Internet
Information Services (IIS) para proteger las aplicaciones ASP.NET.
Proveedor de autenticacin mediante formularios: Proporciona informacin sobre
cmo crear un formulario de inicio de sesin especfico de la aplicacin y realizar la
autenticacin mediante cdigo propio. Una manera sencilla de trabajar con la
autenticacin de formularios consiste en utilizar la suscripcin de ASP.NET y los
controles de inicio de sesin de ASP.NET, que conjuntamente proporcionan un mtodo

para recopilar las credenciales de usuario, autenticarlas y administrarlas, con muy poco
cdigo o nada en absoluto.

Potrebbero piacerti anche