Vous êtes sur la page 1sur 6

Crear aplicaciones ASP.

NET
seguras
Autenticacin, autorizacin y comunicacin
segura
Consulte la Pgina de entrada como punto de partida y para obtener una descripcin
completa del documento Crear aplicaciones ASP.NET seguras.
Resumen
Las aplicaciones Web ASP.NET suelen ejecutarse con la cuenta integrada ASPNET. En
algunas ocasiones puede !ue pre"iera utili#ar una cuenta personali#ada. En este
art$culo se muestra cmo crear una cuenta local con pri%ilegios m$nimos para ejecutar
aplicaciones Web ASP.NET.
Cmo: Crear una cuenta personalizada para ejecutar
ASP.NET
En este art$culo se describe cmo crear una cuenta local con pri%ilegios m$nimos para
ejecutar el proceso de trabajo de ASP.NET &aspnet'(p.e)e* o para dar ser%icio en
directorios %irtuales a usuarios con identidad suplantada. Aun!ue los procedimientos de
este art$culo sir%en para crear una cuenta local los mismos conceptos se aplican a una
cuenta de dominio.
Identidad del proceso de trabajo de ASP.NET
La cuenta predeterminada para ejecutar ASP.NET se crea en el momento de la
instalacin y es una cuenta local con pri%ilegios m$nimos !ue est especi"icada en el
arc+i%o mac+ine.con"ig de la siguiente manera,
<processModel enable="true" userName="machine" password="AutoGenerate" />
La cuenta se identi"ica como ASPNET en -suarios locales y grupos y dispone de una
contrase.a segura protegida en la Autoridad del sistema local &LSA Local System
Authority*.
Cuando es necesario tener acceso a los recursos de la red por ejemplo a una base de
datos mediante la identidad del proceso ASP.NET puede lle%ar a cabo una de las
siguientes acciones,
-tili#ar una cuenta de dominio.
-tili#ar cuentas locales /re"lejadas/ &cuentas con nombres de usuario y contrase.as
coincidentes en dos e!uipos*. 0ebe utili#ar este m1todo si los e!uipos se
encuentran en dominios independientes entre los !ue no +ay una relacin de
2
con"ian#a o si los e!uipos estn separados por un ser%idor de seguridad y no es
posible abrir los puertos necesarios para la autenticacin NTL3 o 4erberos.
El m1todo ms sencillo consiste en cambiar en el ser%idor Web la contrase.a de la
cuenta ASPNET por un %alor conocido y despu1s en el e!uipo de destino crear
una cuenta llamada ASPNET con la misma contrase.a. En el ser%idor Web
primero debe cambiar la contrase.a de la cuenta ASPNET en -suarios locales y
grupos y a continuacin reempla#ar /Auto5enerate/ por la contrase.a nue%a en
mac+ine.con"ig.
<processModel enable="true" userName="machine"
password="YourStrongPassword" />
Puede utili#ar los pasos !ue se presentan en este art$culo para crear una cuenta
local con pri%ilegios m$nimos.
Suplantar identidades fijas
Puede establecer identidades "ijas para directorios %irtuales espec$"icos mediante la
siguiente con"iguracin en el arc+i%o (eb.con"ig.
<identity impersonate="true" userName="YourAccount"
password="YourStrongPassword" />
Este m1todo suele utili#arse cuando se dispone de %arios sitios Web en el mismo
ser%idor Web !ue deben ejecutarse bajo identidades di"erentes6 por ejemplo en los
casos de alojamiento de aplicaciones.
En este art$culo se describe cmo crear una cuenta local con pri%ilegios m$nimos. Si lo
!ue ms le preocupa es la administracin puede utili#ar una cuenta de dominio
restringida con pri%ilegios m$nimos !ue tenga una contrase.a segura.
Notas
Al considerar la cuenta !ue se utili#ar para ejecutar ASP.NET recuerde lo siguiente,
0e "orma predeterminada ASP.NET no reali#a suplantaciones. Como consecuencia la
aplicacin Web utili#a la identidad del proceso ASP.NET para tener acceso a los
recursos. En este caso los recursos de Windo(s deben tener una lista de control
de acceso &ACL* !ue conceda el acceso a la cuenta del proceso ASP.NET.
Si +abilita la suplantacin la aplicacin tiene acceso a los recursos mediante el
conte)to de seguridad del llamador original o la cuenta de usuario de 7nternet
annima &de "orma predeterminada 7-S8'3AC97NE* si 77S est con"igurado para
la autenticacin annima. En este caso los recursos deben tener listas de control
de acceso en la identidad del llamador original &o 7-S8'3AC97NE*.
8espete siempre el principio de pri%ilegios m$nimos al crear una cuenta personali#ada,
asigne solamente el conjunto m$nimo de pri%ilegios y permisos necesarios.
E%ite ejecutar ASP.NET con la cuenta S7STE3A.
E%ite conceder a la cuenta el pri%ilegio /Actuar como parte del sistema operati%o/.

Resumen
En este art$culo se incluyen los siguientes procedimientos,
:
2. Crear una nue%a cuenta local
:. Asignar pri%ilegios m$nimos
;. Asignar permisos NT<S
=. Con"igurar ASP.NET para !ue se ejecute con la nue%a cuenta

. Crear una nue!a cuenta local
En este procedimiento se crea una nue%a cuenta local. 0e "orma predeterminada se
agregar al grupo local "suarios.
Para crear una nue!a cuenta local
2. Cree una cuenta local &por ejemplo /CustomASPNET/*.
Aseg>rese de !ue utili#a una contrase.a segura para la cuenta. Las contrase.as
seguras deben tener siete caracteres como m$nimo y utili#ar una combinacin de
may>sculas y min>sculas n>meros y otros caracteres como ? @ o A.
:. 0esacti%e la opcin El usuario debe cambiar la contrase#a en el si$uiente
inicio de sesin.
;. Acti%e la opcin %a contrase#a nunca caduca.

&. Asi$nar pri!ile$ios m'nimos
En este procedimiento se asigna el conjunto m$nimo de pri%ilegios necesarios para
ejecutar ASP.NET.
Para asi$nar pri!ile$ios m'nimos
2. En el grupo de programas (erramientas administrati!as inicie la +erramienta
)irecti!a de se$uridad local.
:. E)panda )irecti!as locales y a continuacin seleccione Asi$nacin de
derec*os de usuario.
En el panel derec+o aparecer una lista de pri%ilegios.
;. Asigne a la nue%a cuenta los pri%ilegios siguientes,
Tener acceso a este e!uipo desde la red
0enegar el inicio de sesin localmente
7niciar sesin como proceso por lotes
7niciar sesin como ser%icio

Nota: para asignar un pri%ilegio a una cuenta +aga doble clic en el pri%ilegio y
despu1s +aga clic en A$re$ar para seleccionar la cuenta correspondiente.
=. Cierre la +erramienta.

+. Asi$nar permisos NT,S
En este procedimiento se conceden a la cuenta de ASP.NET personali#ada los permisos
NT<S re!ueridos en el sistema de arc+i%os local.
Nota: los pasos de este procedimiento se aplican al sistema de arc+i%os del ser%idor
Web &no de un e!uipo remoto en el !ue se puede duplicar la cuenta con "ines de
autenticacin de red*.
;
Para asi$nar permisos NT,S
2. 7nicie el E)plorador de Windo(s y asigne los permisos apropiados a las carpetas
especi"icadas en la tabla 2.

La cuenta de suplantacin "ija !ue se menciona en la tabla 2 se re"iere a la cuenta
!ue se puede con"igurar opcionalmente con el elemento Bidentit-C en (eb.con"ig
como se muestra a continuacin.
<identity impersonate="true" userName="YourImpersonatedIdentity"
password="YourStrongPassword" />
Tabla 2, Permisos NT<S re!ueridos
Carpeta Permiso
re!uerido
Cuenta Comentarios
C,DW7NNTD3icroso"t.NETD
<rame(orEDB%ersinCD
Temporary ASP.NET <iles
Control total Cuentas de
proceso y de
suplantacin
"ija
Fsta es la ubicacin de
compilacin dinmica de
ASP.NET. 0entro de esta
carpeta se genera cdigo de
aplicacin en un directorio
di"erente para cada
aplicacin.
El atributo tempdir del
elemento BcompilationC se
puede utili#ar para cambiar
la ubicacin
predeterminada.
C,DW7NNTDtemp LeerGEscribir
GEliminar
Proceso -bicacin !ue utili#an los
ser%icios Web para generar
ser%idores pro)y de
seriali#acin.
Hbser%e !ue el permiso
Eliminar se con"igura
mediante el botn
A!anzadas de la pgina
Se$uridad del cuadro de
dilogo de propiedades de
la carpeta del E)plorador de
Windo(s.
Carpeta de aplicacin Leer Proceso -bicacin de los arc+i%os de
la aplicacin Web &el
directorio ra$# %irtual de la
aplicacin, por ejemplo
c,DinetpubD(((rootD(ebapp
2*.
0e "orma predeterminada el
grupo -suarios tiene los
derec+os de acceso
correctos.
=
Ierar!u$a de Jinstallroot
J
&C,DW7NNTD3icroso"t.NetD
<rame(orED%2.K.;LKM*
Leer Cuentas de
proceso y de
suplantacin
"ija
ASP.NET debe poder tener
acceso a los ensamblados
de .NET <rame(orE.
0e "orma predeterminada el
grupo -suarios tiene los
derec+os de acceso
correctos.
C,DW7NNTDassembly Leer Cuentas de
proceso y de
suplantacin
"ija
Fsta es la cac+1 de
ensamblados global. No se
puede utili#ar directamente
el E)plorador de Windo(s
para modi"icar las listas de
control de acceso de esta
carpeta. En su lugar utilice
una %entana de comandos
para ejecutar el siguiente
comando,
cacls J(indirJDassembly Ge
Gt Gp domainDuseraccount,8
Como alternati%a antes de
utili#ar el E)plorador de
Windo(s cancele el registro
de s+"usion.dll con el
siguiente comando,
regs%r;: Nu s+"usion.dll
0espu1s de establecer los
permisos con el E)plorador
de Windo(s %uel%a a
registrar s+"usion.dll con el
siguiente comando,
regs%r;: s+"usion.dll
8a$# del sitio Web,
C,DinetpubD
(((root o la ruta de
acceso a la !ue
apunte el sitio Web
predeterminado
Leer Proceso ASP.NET lee los arc+i%os de
con"iguracin y super%isa
los cambios en los arc+i%os
de esta carpeta.
C,DW7NNTDsystem;: Leer Proceso Para los arc+i%os 0LL del
sistema cargados por
<rame(orE.
0irectorios principales de
conte)to
Listar
carpeta G
Leer
Proceso Para las noti"icaciones de
cambios en arc+i%os y el
compilador de CO.
.. Confi$urar ASP.NET para /ue se ejecute con la nue!a
cuenta
En este procedimiento se modi"ica mac+ine.con"ig para con"igurar !ue ASP.NET se
ejecute con la nue%a cuenta.
M
Para confi$urar ASP.NET para /ue se ejecute con la nue!a cuenta
2. Abra mac+ine.con"ig mediante Pisual Studio.NET o el Qloc de notas.
El arc+i%o mac+ine.con"ig se encuentra en la siguiente carpeta,
C:\WINNT\Microsoft.NET\Framework\v1.0.3705\CONFIG
:. Qus!ue el elemento Bprocess0odelC y estable#ca los atributos de nombre de
usuario y contrase.a de "orma !ue coincidan con los de la nue%a cuenta
personali#ada.
Default: <!-- userName="machine" password="AutoGenerate" -->
Becomes: <!-- userName="CustomASPNET" password="YourStrongPassword" -->
;. 5uarde los cambios reali#ados en mac+ine.con"ig.

Nota: con la %ersin actual de .NET <rame(orE no +ay "orma de e%itar !ue la
contrase.a se almacene sin ci"rar. Aun!ue no se recomienda almacenar
credenciales sin ci"rar el arc+i%o mac+ine.con"ig se considera ms seguro por!ue
se encuentra "uera del espacio Web. 0ebe proteger el arc+i%o mac+ine.con"ig del
acceso innecesario mediante una lista de control de acceso &ACL* correctamente
con"igurada.
En Windo(s Ser%er :KK; las credenciales se ci"rarn para aumentar el ni%el de
proteccin.

R

Vous aimerez peut-être aussi