Re: Problema de seguridad (seguimos...)

22/06/2005 - 16:28 por Karmico | Informe spam
Hola de nuevo,

"Creo que la solución pasa por sacar las carpetas de usuario fuera de la
raíz del servidor web."
me quedé con la solución de Miguel de dejar fuera del directorio web las
carpetas de los archivos.

Respecto a los ficheros, no hay problema me ha funcionado muy bien.

Ahora el tema está en mostrar las imagenes en la web, que sí no se
autentificaron por ASP no podrán ver, pero como puedo mostrarlas cuando
tenga que mostrarlas sí estan bajo la raíz de la web?

Gracias Miguel por todo y a cualquiera que me pueda ayudar,

Saludos

"Miguel Gonzalez" <nomail@noname.no> escribió en el mensaje
news:uIRdCsecFHA.2736@TK2MSFTNGP12.phx.gbl...
Hola Karmico.

El IIS por sí solo no permite crear o gestionar usuarios. Todo lo más,
permite indicar la cuenta del
usuario de acceso anónimo y activar la autenticación integrada con los
usuarios del dominio Windows.
En ese caso, deberías activar dicha autenticación, crear cuentas para todos
los usuarios que tengan
acceso al servidor, bien desde el administrador de usuarios (WinNt), bien
desde el Directorio Activo
(Win2000 Server, o Win2003 Server). Luego, desde el explorador de archivos,
cabe asignar a los
directorios y archivos los permisos de usuario y nivel de acceso
correspondientes. El único problema
es que para ello tienes que tener control del servidor web. Si no lo tienes,
entonces sólo cabe
montar un sistema como el que te sugería en el enlace de asptutor.com

Saludos!
Miguel


Karmico escribió:

Gracias Miguel! Me está sirviendo de mucho tu ayuda.

respecto a la cuestión 2, no es eso lo que queria, me refiero a que por
ejemplo yo en IIS creara un usuario generico con permisos para esas
carpetas.

Entonces, cuando me logee correctamente por script el usuario,
autentificarlo en IIS como ese usuario genérico, para que pueda tomar esos
permisos.

Alguna idea?? Gracias a todos!


"Miguel Gonzalez" <noname@nomail.no> escribió en el mensaje
news:#y6s49ccFHA.2840@TK2MSFTNGP14.phx.gbl...
Hola Karmico.

Sobre la cuestion 1:

el enlace al archivo contendría una referencia del tipo:

http://www.tuserver.com/archivo.asp?id#

...Y la página ASP buscaría el archivo de referencia "23" para servirlo
al usuario (previa comprobación de los derechos de acceso).

Para ello necesitas algún tipo de sistema que almacene los datos de los
archivos subidos, su ubicación y los usuarios que pueden consultarlos.
Por ejemplo, en una(s) tabla(s).

El esquema de directorios sería algo así (todo lo que está en la
carpeta_usuarios es invisible desde internet a no ser que pase por la
página "archivo.asp"):

carpeta_usuarios
carpeta_user_1
archivo23.txt
carpeta_user_2
carpeta_user_n

carpeta_rootweb
archivo.asp

La direccion "http://www.tuserver.com" apunta directamente a
"carpeta_rootweb".

Sobre la cuestion 2, puedes consultar este ejemplo sencillo:

http://www.asptutor.com/asp/vart.asp?idP

Saludos!
Miguel


Karmico escribió:


Uhmm Gracias Miguel, pero sí los usuarios quieren descargar un fichero de
esa carpeta, como se linkaria??

www.raizdelcliente.com apuntaria a mi
c:/inetpub/wwwroot/clientes/raizdelcliente

en raiz del cliente tendriamos

usuarios/nombredeusuario/archivo.txt

enlazo así

www.raizdelcliente.com/usuarios/nombredeusuario/archivo.txt

donde debería de enlazar?

Cuestion 2º.

Existe algún tipo de archivo de autenticación que podría crear



dinamicamente


con un usuario y clave que autentifique en el servidor en cada carpeta?
Saben algo sobre permisos de usuarios gestionados dinamicamente por ASP?

Gracias a todos!





no lo
"Miguel Gonzalez" <nomail@noname.no> escribió en el mensaje
news:uVW7koZcFHA.220@TK2MSFTNGP12.phx.gbl...
Hola Karmico.

Creo que la solución pasa por sacar las carpetas de usuario fuera de la



raíz


del servidor web.

Las operaciones de escritura y lectura de los archivos contenidos en



dichas


carpetas cabe
realizarlas mediante una página en ASP que sirva de intermediaria y que
valide si el usuario tiene
derecho a dejar o leer los archivos.

Para acceder desde ASP a las carpetas fuera de la raíz cabe utilizar
"Server.MapPath()".

Saludos!
Miguel

Karmico escribió:



Hola a todos,

Estoy terminando una aplicación web donde usuarios unicamente por scripts
asp, tienen acceso a su carpeta en el servidor, donde pueden guardar
ficheros, etc etc
Pero tengo un problema, sí alguien con un webcopier analizara la web,



podría



extraer el contenido de cada carpeta de usuario del servidor y
descargarla

Se les ocurre alguna idea para solventar este problema de seguridad?
Gracias.











 

Leer las respuestas

#1 Miguel Gonzalez
22/06/2005 - 16:51 | Informe spam
Hola Karmico.

Perdona, pero no acabo de entender el problema...

Si las imágenes están en un directorio bajo la raiz del sitio web
bastaría con indicarlo así en el "src" del elemento <img>:

<img src="imagenes/myimage.gif">

Estas imágenes sería visibles para todos los visitantes de la web.

Ahora bien, si lo que quieres es restringir el acceso libre a las
imágenes tendrás que operar de forma parecida a como hiciste con los
archivos: situarlas en una carpeta fuera de la raíz de la web y
servirlas dinámicamente mediante una rutina ASP que compruebe los
derechos de acceso del usuario, seleccione la imagen del servidor y la
envíe al usuario.

Ten en cuenta que esta práctica puede llegar a consumir muchos recursos
del servidor, por lo que sólo se recomendaría su uso para determinadas
imágenes cuyo acceso no debiera ser público.

Si no es esto, intenta explicarlo de nuevo, a ver si no estoy tan
espeso... :-o

Saludos!
Miguel




Si n

Karmico escribió:
Hola de nuevo,

"Creo que la solución pasa por sacar las carpetas de usuario fuera de la
raíz del servidor web."
me quedé con la solución de Miguel de dejar fuera del directorio web las
carpetas de los archivos.

Respecto a los ficheros, no hay problema me ha funcionado muy bien.

Ahora el tema está en mostrar las imagenes en la web, que sí no se
autentificaron por ASP no podrán ver, pero como puedo mostrarlas cuando
tenga que mostrarlas sí estan bajo la raíz de la web?

Gracias Miguel por todo y a cualquiera que me pueda ayudar,

Saludos

"Miguel Gonzalez" escribió en el mensaje
news:
Hola Karmico.

El IIS por sí solo no permite crear o gestionar usuarios. Todo lo más,
permite indicar la cuenta del
usuario de acceso anónimo y activar la autenticación integrada con los
usuarios del dominio Windows.
En ese caso, deberías activar dicha autenticación, crear cuentas para todos
los usuarios que tengan
acceso al servidor, bien desde el administrador de usuarios (WinNt), bien
desde el Directorio Activo
(Win2000 Server, o Win2003 Server). Luego, desde el explorador de archivos,
cabe asignar a los
directorios y archivos los permisos de usuario y nivel de acceso
correspondientes. El único problema
es que para ello tienes que tener control del servidor web. Si no lo tienes,
entonces sólo cabe
montar un sistema como el que te sugería en el enlace de asptutor.com

Saludos!
Miguel


Karmico escribió:

Gracias Miguel! Me está sirviendo de mucho tu ayuda.

respecto a la cuestión 2, no es eso lo que queria, me refiero a que por
ejemplo yo en IIS creara un usuario generico con permisos para esas
carpetas.

Entonces, cuando me logee correctamente por script el usuario,
autentificarlo en IIS como ese usuario genérico, para que pueda tomar esos
permisos.

Alguna idea?? Gracias a todos!


"Miguel Gonzalez" escribió en el mensaje
news:#
Hola Karmico.

Sobre la cuestion 1:

el enlace al archivo contendría una referencia del tipo:

http://www.tuserver.com/archivo.asp?id#

...Y la página ASP buscaría el archivo de referencia "23" para servirlo
al usuario (previa comprobación de los derechos de acceso).

Para ello necesitas algún tipo de sistema que almacene los datos de los
archivos subidos, su ubicación y los usuarios que pueden consultarlos.
Por ejemplo, en una(s) tabla(s).

El esquema de directorios sería algo así (todo lo que está en la
carpeta_usuarios es invisible desde internet a no ser que pase por la
página "archivo.asp"):

carpeta_usuarios
carpeta_user_1
archivo23.txt
carpeta_user_2
carpeta_user_n

carpeta_rootweb
archivo.asp

La direccion "http://www.tuserver.com" apunta directamente a
"carpeta_rootweb".

Sobre la cuestion 2, puedes consultar este ejemplo sencillo:

http://www.asptutor.com/asp/vart.asp?idP

Saludos!
Miguel


Karmico escribió:


Uhmm Gracias Miguel, pero sí los usuarios quieren descargar un fichero de
esa carpeta, como se linkaria??

www.raizdelcliente.com apuntaria a mi
c:/inetpub/wwwroot/clientes/raizdelcliente

en raiz del cliente tendriamos

usuarios/nombredeusuario/archivo.txt

enlazo así

www.raizdelcliente.com/usuarios/nombredeusuario/archivo.txt

donde debería de enlazar?

Cuestion 2º.

Existe algún tipo de archivo de autenticación que podría crear



dinamicamente


con un usuario y clave que autentifique en el servidor en cada carpeta?
Saben algo sobre permisos de usuarios gestionados dinamicamente por ASP?

Gracias a todos!





no lo
"Miguel Gonzalez" escribió en el mensaje
news:
Hola Karmico.

Creo que la solución pasa por sacar las carpetas de usuario fuera de la



raíz


del servidor web.

Las operaciones de escritura y lectura de los archivos contenidos en



dichas


carpetas cabe
realizarlas mediante una página en ASP que sirva de intermediaria y que
valide si el usuario tiene
derecho a dejar o leer los archivos.

Para acceder desde ASP a las carpetas fuera de la raíz cabe utilizar
"Server.MapPath()".

Saludos!
Miguel

Karmico escribió:



Hola a todos,

Estoy terminando una aplicación web donde usuarios unicamente por scripts
asp, tienen acceso a su carpeta en el servidor, donde pueden guardar
ficheros, etc etc
Pero tengo un problema, sí alguien con un webcopier analizara la web,



podría



extraer el contenido de cada carpeta de usuario del servidor y
descargarla

Se les ocurre alguna idea para solventar este problema de seguridad?
Gracias.















Preguntas similares