Anda di halaman 1dari 5

Arquitectura de ASP.

NET Este tema an no ha recibido ninguna valoracin - Valorar este tema En esta seccin se proporciona una descripcin general sobre las relaciones entre los subsistemas y la infraestructura de ASP.NET, con respecto a la seguridad. En la siguiente ilustracin se muestran las relaciones entre los sistemas 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 los Servicios de Internet Information Server (IIS). IIS descifra y, opcionalmente, realiza la autenticacin de la peticin. Si la opcin Permitir annimos est establecida en true, no se efectuar ninguna autenticacin. IIS tambin busca el recurso solicitado (como una aplicacin ASP.NET) y, si se autoriza al cliente, devuelve el recurso correspondiente. Adems de las caractersticas integradas de ASP.NET, una aplicacin ASP.NET puede utilizar caractersticas de seguridad de bajo nivel de .NET Framework. Para obtener ms informacin, vea el tema "Conceptos clave de seguridad" en la Ayuda de .NET Framework. Integracin con IIS Si se considera la posibilidad de utilizar la autenticacin de ASP.NET, es importante comprender cmo interacta con los servicios de autenticacin de IIS. IIS supone siempre que se asigna un conjunto de credenciales a una cuenta de Microsoft Windows NT y utiliza las credenciales para autenticar los usuarios. Existen tres tipos distintos de autenticacin disponibles tanto en IIS 5.0 como en IIS 6.0: bsica, implcita y Autenticacin de Windows integrada (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 acerca de la autenticacin de IIS, veaAutenticacin en IIS 6.0. Si se solicita una direccin URL que contiene una aplicacin ASP.NET, la informacin sobre la autenticacin y la peticin se entrega a la aplicacin. ASP.NET proporciona dos tipos adicionales de autenticacin, que se describen en la tabla siguiente.

Proveedor de autenticacin de ASP.NET Autenticacin mediante formularios

Descripcin

Sistema que redirige las peticiones no autenticadas a un formulario HTML mediante el redireccionamiento del cliente HTTP. El usuario proporciona las credenciales y enva el formulario. Si la aplicacin autentica la peticin, el sistema emite un vale de autenticacin en una cookie que contiene las credenciales, o una clave, para readquirir la identidad. Las peticiones posteriores se emiten con la cookie en los encabezados de la peticin; se autentica y autorizan en un controlador ASP.NET mediante el mtodo de validacin que especifique el programador de la aplicacin.

Autenticacin mediante pasaporte

Servicio de autenticacin centralizado proporcionado por Microsoft que ofrece a los sitios We suscritos servicios de perfil bsico y un inicio de sesin nico.

Utilizar archivos de configuracin ASP.NET La configuracin de ASP.NET, de la que forma parte la seguridad, tiene una arquitectura jerrquica. Toda la informacin de configuracin relativa a ASP.NET se incluye en archivos llamados Web.config y Machine.config. Los archivos Web.config se pueden colocar en los mismos directorios que los archivos de aplicacin. El archivo Machine.config se encuentra en el directorio Config de la raz de la instalacin. Los subdirectorios heredan las configuraciones del directorio, a no ser que se reemplacen por un archivo Web.config del subdirectorio. En un archivo Web.config, hay secciones para cada categora principal de las funcionalidades de ASP.NET. Para ver un ejemplo del funcionamiento de la seguridad en un sistema de configuracin jerrquica, vea Arquitectura de configuracin jerrquica en ASP.NET. La seccin de seguridad de un archivo Web.config se organiza de la forma siguiente: <authentication mode="[Windows|Forms|Passport|None]"> <forms name="[name]" loginUrl="[url]" protection="[All|None|Encryption|Validation]" path="[path]" timeout="[minutes]" requireSSL="[true|false]" slidingExpiration="[true|false]"> <credentials passwordFormat="[Clear|MD5|SHA1]"> <user name="[UserName]"

password="[password]"/> </credentials> </forms> <passport redirectUrl="internal"/> </authentication> <authorization> <allow users="[comma separated list of users]" roles="[comma separated list of roles]"/> <deny users="[comma separated list of users]" roles="[comma separated list of roles]"/> </authorization> <identity impersonate ="[true|false]" userName="[domain\user_name]" password="[user_password]"/> <trust level="[Full|High|Medium|Low|Minimal]" originUrl=""/> <securityPolicy> <trustLevel name="Full" policyFile="internal"/> <trustLevel name="High" policyFile="web_hightrust.config"/> <trustLevel name="Medium" policyFile="web_mediumtrust.config"/> <trustLevel name="Low" policyFile="web_lowtrust.config"/> <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/> </securityPolicy> Los valores predeterminados de estos elementos se incluyen en la tabla siguiente.

Valor predeterminado

Descripcin

<allow roles= >

No hay ningn valor predeterminado.

<allow users="*">

Todos

<authentication mode="Windows">

El modo de autenticacin no se puede establecer en un nivel inferior al directorio raz de la aplicacin.

<credentials passwordFormat="SHA1">

Algoritmo hash utilizado en las contraseas.

<deny roles="">

Vaco

<deny users="">

Vaco

<forms loginUrl="login.aspx">

Si establece el modo en Forms, y la peticin no tiene un vale (cookie vlido, sta es la direccin URL a la que se dirige la peticin para un inicio de sesin basado en formularios.

<forms name=".ASPXAUTH">

Nombre de cookie predeterminado.

<forms path="/">

Ruta de acceso

<forms protection="All">

Type=[All|None|Encryption|Validation].

<forms requireSSL="false">

Especifica que no hace falta una conexin cifrada para transmitir la cookie de autenticacin.

<forms slidingExpiration="true">

Especifica que la caducidad variable est habilitada.

<forms timeout="30">

Tiempo de espera en minutos. El valor predeterminado es 30 minuto

<identity impersonate="false">

De forma predeterminada, la suplantacin est deshabilitada.

<identity userName="">

Vaco

<identity password="">

Vaco

<passport redirectUrl="internal">

Si se establece el modo Passport y la pgina de la peticin requiere autenticacin (se deniega el acceso a usuarios annimos) pero el usuario no ha iniciado la sesin con Passport, entonces se redirige al usuario a esta direccin URL.

<trustLevel name="Full" policyFile="internal"/>

Archivo de directiva predeterminado para el nivel de confianza Full.

<trustLevel name="High" policyFile="web_hightrust.config"/>

Archivo de directiva predeterminado para el nivel de confianza High.

<trustLevel name="Medium" policyFile="web_mediumtrust.config"/>

Archivo de directiva predeterminado para el nivel de confianza Medium.

<trustLevel name="Low" policyFile="web_lowtrust.config"/>

Archivo de directiva predeterminado para el nivel de confianza Low.

<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>

Archivo de directiva predeterminado para el nivel de confianza Minimal.

<user name="">

Vaco

<user password="">

Vaco

Un archivo Web.config tiene tres subsecciones principales: autenticacin, autorizacin e identidad. Los valores de estos elementos de seguridad se establecen, por lo general, reemplazando una seccin del archivo de configuracin del equipo por una seccin similar en un archivo de configuracin de la aplicacin que se encuentra en el directorio raz de la aplicacin. Todos los subdirectorios heredan automticamente estos valores. No obstante, los subdirectorios pueden tener sus propios archivos de configuracin que reemplazan otros valores.