[opensuse-es] Web Hosting - enjaular usuarios.
Hola, estoy intentando crear algo parecido a lo que sería un servicio de hosting para la web, pero hay algo que se me escapa, supongo que cada usuario debe estar enjaulado en su propio entorno, y vale, esto con dominios virtuales y enjaulando su area para que mediante ftp no pueda acceder a la de otros usuarios lo soluciona en parte, pero con mediante scripts puede acceder a estas otras áreas, por si no me he explicado bien: puedo tener un usuario que hace ftp y deja su página web formada por un bonito script php que busca (enseña, modifica si puede,...) ficheros de fuera de la jaula. Quien dice area de otro usuario dice cosas de sistema, en este segundo caso supongo que se soluciona por ejemplo con el mod_chroot de apache, con ello enjaulo el apache y evito el acceso de scripts al sistema. Hay otra forma de hacerlo? Pero el problema, mas alla de enjaular el apache seria enajular a cada usuario, no se me ocurre... que hacen en los servicios de hosting? No creo que sea viable el tener un apache por cada usuario, no? Gracias. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Tue, 01 Feb 2011 12:03:09 +0100, Enrique escribió:
estoy intentando crear algo parecido a lo que sería un servicio de hosting para la web, pero hay algo que se me escapa, supongo que cada usuario debe estar enjaulado en su propio entorno, y vale, esto con dominios virtuales y enjaulando su area para que mediante ftp no pueda acceder a la de otros usuarios lo soluciona en parte, pero con mediante scripts puede acceder a estas otras áreas, por si no me he explicado bien:
¡Bienvenido al maravilloso mundo del hospeda_jjjjj_e_je! (me atraganté).
puedo tener un usuario que hace ftp y deja su página web formada por un bonito script php que busca (enseña, modifica si puede,...) ficheros de fuera de la jaula.
Sip.
Quien dice area de otro usuario dice cosas de sistema, en este segundo caso supongo que se soluciona por ejemplo con el mod_chroot de apache, con ello enjaulo el apache y evito el acceso de scripts al sistema. Hay otra forma de hacerlo?
Pero el problema, mas alla de enjaular el apache seria enajular a cada usuario, no se me ocurre... que hacen en los servicios de hosting? No creo que sea viable el tener un apache por cada usuario, no?
Nope, nada viable :-) Ten en cuenta que los scripts vía web se ejecutan globalmente (por "globalmente" me refiero a que suele ser común en los hospedajes compartidos disponer de un directorio de instalación común para php, perl, python, etc... en lugar de crear un entorno dedicado para cada usuario) a través del usuario que ejecuta el apache, que suele ser "www- data". También suele ser habitual añadir a los usuarios al grupo con el que se ejecuta Apache. Y también tienes la directiva "mod_suexec" que permite a los usuarios ejecutar los scripts directamente con su UID, aunque esta opción creo que era para los directorios "/cgi-bin" no sé si ya funcionará en PHP :-? Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El día 1 de febrero de 2011 16:05, Camaleón
El Tue, 01 Feb 2011 12:03:09 +0100, Enrique escribió:
estoy intentando crear algo parecido a lo que sería un servicio de hosting para la web, pero hay algo que se me escapa, supongo que cada usuario debe estar enjaulado en su propio entorno, y vale, esto con dominios virtuales y enjaulando su area para que mediante ftp no pueda acceder a la de otros usuarios lo soluciona en parte, pero con mediante scripts puede acceder a estas otras áreas, por si no me he explicado bien:
¡Bienvenido al maravilloso mundo del hospeda_jjjjj_e_je! (me atraganté).
puedo tener un usuario que hace ftp y deja su página web formada por un bonito script php que busca (enseña, modifica si puede,...) ficheros de fuera de la jaula.
Sip.
Quien dice area de otro usuario dice cosas de sistema, en este segundo caso supongo que se soluciona por ejemplo con el mod_chroot de apache, con ello enjaulo el apache y evito el acceso de scripts al sistema. Hay otra forma de hacerlo?
Pero el problema, mas alla de enjaular el apache seria enajular a cada usuario, no se me ocurre... que hacen en los servicios de hosting? No creo que sea viable el tener un apache por cada usuario, no?
Nope, nada viable :-)
Ten en cuenta que los scripts vía web se ejecutan globalmente (por "globalmente" me refiero a que suele ser común en los hospedajes compartidos disponer de un directorio de instalación común para php, perl, python, etc... en lugar de crear un entorno dedicado para cada usuario) a través del usuario que ejecuta el apache, que suele ser "www- data".
También suele ser habitual añadir a los usuarios al grupo con el que se ejecuta Apache.
Y también tienes la directiva "mod_suexec" que permite a los usuarios ejecutar los scripts directamente con su UID, aunque esta opción creo que era para los directorios "/cgi-bin" no sé si ya funcionará en PHP :-?
Todo eso, no se hace mediante CPanel?? Claro que están las alternativas semilibres de Webmin, Virtualmin, Cloudmin, Usermin http://www.webmin.com/intro.html Salu2 -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Ten en cuenta que los scripts vía web se ejecutan globalmente (por "globalmente" me refiero a que suele ser común en los hospedajes compartidos disponer de un directorio de instalación común para php, perl, python, etc... en lugar de crear un entorno dedicado para cada usuario) a través del usuario que ejecuta el apache, que suele ser "www- data".
También suele ser habitual añadir a los usuarios al grupo con el que se ejecuta Apache.
Si, entiendo el problema, y quiero creer que esto se tiene que poder resolver porque no creo que en los servidores de hosting comerciales pase esto, que un usuario pueda acceder con un script al dominio de otro usuario, hablando siempre de dominios virtuales que cuelgan de una misma instalación de apache, esto supongo que es muy delicado ya que por lo menos podrán leerlo ya que deben pertenecer al mismo grupo (incluso en mi caso, en principio, son el mismo usuario, los diferencio por usuarios ftp virtuales sobre ese usario www), imaginemos que en otro dominio se muestran contraseñas en un php... En fin, no me suena haber visto como hacer esto en el webmin, le echaré otro vistazo, esto me tiene un poco desconcertado. Muchas gracias, saludos, Enrique. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Wed, 02 Feb 2011 09:31:08 +0100, Enrique escribió:
Ten en cuenta que los scripts vía web se ejecutan globalmente (por "globalmente" me refiero a que suele ser común en los hospedajes compartidos disponer de un directorio de instalación común para php, perl, python, etc... en lugar de crear un entorno dedicado para cada usuario) a través del usuario que ejecuta el apache, que suele ser "www- data".
También suele ser habitual añadir a los usuarios al grupo con el que se ejecuta Apache.
Si, entiendo el problema, y quiero creer que esto se tiene que poder resolver porque no creo que en los servidores de hosting comerciales pase esto, que un usuario pueda acceder con un script al dominio de otro usuario,
No hombre, los scripts de cada sitio virtual están en una ruta independiente y aislada, de eso se encarga el servidor web. Por ejemplo, phpmysql (aplicación para gestionar las bdd mysql vía web) permite la configuración de multi-sitios (varios dominios) con una sola instalación, es decir, que no hace falta que tengas 20 instalaciones de phpmyadmin si tienes 20 clientes, con una es suficiente, y cada cliente sólo puede acceder a su base de datos, obviamente, no a las del resto.
hablando siempre de dominios virtuales que cuelgan de una misma instalación de apache, esto supongo que es muy delicado ya que por lo menos podrán leerlo ya que deben pertenecer al mismo grupo (incluso en mi caso, en principio, son el mismo usuario, los diferencio por usuarios ftp virtuales sobre ese usario www), imaginemos que en otro dominio se muestran contraseñas en un php...
No, a ver... quizá no me he explicado bien. Para cada sitio virtual defines su ruta de acceso y generalmente, dos zonas: una "pública" (la que "ven" los usuarios cuando acceden a la página web) y otra "privada" (donde se guardan los logs, los archivos ssl, los scripts "cgi-bin", etc...). Si quieres dar acceso a la configuración del host virtual vía panel de control se genera una contraseña para cada sitio virtual y ningún usuario puede acceder salvo que conozca las credenciales.
En fin, no me suena haber visto como hacer esto en el webmin, le echaré otro vistazo, esto me tiene un poco desconcertado.
Con webmin lo podrás hacer automáticamente. Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El día 2 de febrero de 2011 08:17, Camaleón
El Wed, 02 Feb 2011 09:31:08 +0100, Enrique escribió:
Ten en cuenta que los scripts vía web se ejecutan globalmente (por "globalmente" me refiero a que suele ser común en los hospedajes compartidos disponer de un directorio de instalación común para php, perl, python, etc... en lugar de crear un entorno dedicado para cada usuario) a través del usuario que ejecuta el apache, que suele ser "www- data".
También suele ser habitual añadir a los usuarios al grupo con el que se ejecuta Apache.
Si, entiendo el problema, y quiero creer que esto se tiene que poder resolver porque no creo que en los servidores de hosting comerciales pase esto, que un usuario pueda acceder con un script al dominio de otro usuario,
No hombre, los scripts de cada sitio virtual están en una ruta independiente y aislada, de eso se encarga el servidor web.
Por ejemplo, phpmysql (aplicación para gestionar las bdd mysql vía web) permite la configuración de multi-sitios (varios dominios) con una sola instalación, es decir, que no hace falta que tengas 20 instalaciones de phpmyadmin si tienes 20 clientes, con una es suficiente, y cada cliente sólo puede acceder a su base de datos, obviamente, no a las del resto.
hablando siempre de dominios virtuales que cuelgan de una misma instalación de apache, esto supongo que es muy delicado ya que por lo menos podrán leerlo ya que deben pertenecer al mismo grupo (incluso en mi caso, en principio, son el mismo usuario, los diferencio por usuarios ftp virtuales sobre ese usario www), imaginemos que en otro dominio se muestran contraseñas en un php...
No, a ver... quizá no me he explicado bien.
Para cada sitio virtual defines su ruta de acceso y generalmente, dos zonas: una "pública" (la que "ven" los usuarios cuando acceden a la página web) y otra "privada" (donde se guardan los logs, los archivos ssl, los scripts "cgi-bin", etc...). Si quieres dar acceso a la configuración del host virtual vía panel de control se genera una contraseña para cada sitio virtual y ningún usuario puede acceder salvo que conozca las credenciales.
En fin, no me suena haber visto como hacer esto en el webmin, le echaré otro vistazo, esto me tiene un poco desconcertado.
Con webmin lo podrás hacer automáticamente.
Además de Webmin, tiene que instalar el modulo de Virtualmin, del cual tiene la opción GPL: http://www.webmin.com/virtualmin.html o la Pro, que es comercial: http://www.virtualmin.com/ Pero en definitiva, si vas a instalar la versión Pro, no estas muy lejos en el costo, con respecto al CPanel: http://www.virtualmin.com/catalog/19 https://www2.cpanel.net/store/index.cgi Si lo que estas armando, es un sitio comercial, no dudes en hacer la inversión en software. Salu2 -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Wed, 02 Feb 2011 11:17:36 +0000, Camaleón escribió:
Por ejemplo, phpmysql (aplicación para gestionar las bdd mysql vía web) ^^^^^^^^
(ejem) No es "phpmysql" sino "phpmyadmin", no sé en qué estaría pensando :-) Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (3)
-
Camaleón
-
Enrique
-
Juan Erbes