-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ok, pero si pongo a apache en un chroot el proceso apache tiene que
seguir siendo capaz de acceder a los archivos de cada vhost de cada
usuario, con lo que cada vhost debería estar dentro del chroot, con lo
que protejo mi sistema frente a vulnerabilidades de apache, pero los
usuarios podrían seguir entrando a los directorios de otros usuarios. Lo
de los permisos esta muy bien, pero para que se puedan mostrar las
páginas de los usuarios el usuario apache (nobody, www-data..., el
usuario que ejecute apache) tiene que tener permiso de leer esos
archivos, y si el usuario con el que se ejecuta apache es el mismo con
el que se ejecuta para todos los vhost la vulnerabilidad sigue ahi...,
no se si soy del todo claro...
Alternativas que encontré a este problema:
suexec, ejecuta todos los tipos de CGI como el usuario dueño del
programa, con lo que, al no ejecutarse como nobody, si se podría limitar
el acceso en base a permisos. Parece que suexec chupa bastantes recursos
y no es una solución aplicable a gran escala.
suPHP, lo mismo que suexec pero solo para PHP, consume menos pero el
proyecto es bastante nuevo y no confío mucho en él, pero bueno, eso es
personal, tampoco es que haya hecho una auditoria del código... si
alguien la quiere hacer que comente resultados.
safe_mode, restringe el acceso a las funciones "peligrosas" o a los
parámetros "peligrosos". Por ejemplo no permitiría hacer un opendir
("..") o cosas parecidas... personalmente no lo audité, pero tengo un
amigo que lo estuvo haciendo y encontró un huevo de fallos, creo que
tenía un par de exploits preparadas, habíamos quedado en que me los iba
a mandar para revisarlos, así que cualquier cosa, a quien le interesen
los resultados de las pruebas que avise.
Por ahora, personalmente, me quedo con safe_mode, esta bastante
extendido, supongo que en cuanto vea un PoC de las vulnerabilidades de
safe_mode le haré una auditoria de a suPHP a ver que onda...
Bueno, saludos gente...
Pablo Fernandez
mat(a)riseup.net wrote:
> En ese caso, si.
> Los usuarios pueden acceder a otros archivos poniendo esos
> comandos con PHP u otra cosa.
> Los homes de los usuarios que esten con derechos 750 no, pero si algun
> otro archivo del sistema.
> Para evitar y asegurar eso deberias ejecutar el apache dentro de un
> chroot.
> http://www.google.com.ar/search?q=apache+chroot
>
> Saludos
> Mat
>
>
>
>
>
>
> COLABORA CON INDYMEDIA | Alojamiento para un servidor
> http://argentina.indymedia.org/housing
>
> Ceros y unos libres para todas y todos.
> http://argentina.indymedia.org
> Libertad significa el derecho a decirle
> a la gente lo que no quiere oir.
>
> On 04/08/05, Pablo Fernandez <[EMAIL PROTECTED]> wrote:
>
>>Ok, pero y si el usuario sube el siguiente script (que se va a ejecutar
>>con permisos de Apache)
>>
>>system ("ls /home/<otro_usuario>/www/ > /tmp/output.log");
>>readfile ("/tmp/output.log");
>>
>>O si conoce la ubicaci�n de un archivo que quiere en concreto un cat
>>/home/<otro_usuario>/www/db_properties.php
>>
>>Saludos,
>>Pablo
>>
>>Gabriel Pati�o wrote:
>>
>>>El 4/08/05, Pablo Fernandez<[EMAIL PROTECTED]> escribi�:
>>>
>>>
>>>>Hola gente
>>>>
>>>>Tengo que configurar un servidor Apache para que atienda varios
>>>>subdominios para diversos clientes, un subdominio por cliente y una
>>>>cuenta FTP para subir el contenido de la web.
>>>>
>>>>El servidor Apache tiene instalado PHP 4.
>>>>
>>>>El tema es que no quiero que alg�n cliente pueda acceder a los
>>>>archivos de otro o a los de la web principal, tan solo tiene que poder
>>>>acceder a los de su usuario. Entonces el tema ser�a, como hago esto,
>>>>considerando que los usuarios van a poder ejecutar scripts PHP?
>>>
>>>
>>>
>>>1. das de alta un usuario por cada dominio
>>>2. al directorio del usuario le asignas como grupo propietario, el
>>>grupo que usa el apache para correr, y le pones derechos 750 (o sea
>>>que solo el usuario y el apache lo pueden ver)
>>>3. Create un directorio donde el usuario ponga el raiz de su sitio,
>>>dentro de su home, por ejemplo www
>>>4. En el apache, definis un virtual host por cada usuario, apuntando
>>>al directorio creado en el punto anterior.
>>>5. Para completarla, en la configuracion del ftp definile que no
>>>permita bajar el nivel del directorio, o sea que queden en un chroot.
>>>
>>>Listo.
>>>Con esto, cada usuario tiene su sitio (si lo habilitas en el apache),
>>>y no puede acceder a los directorios de los demas (porque cada home
>>>esta con derechos 750).
>>>Por supuesto, los usuarios no tienen que pertenecer al grupo que use
>>>el apache, sino van a poder ver los sitios de otros.
>>>
>>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFC972AjDf4qddgdTERAvHaAKCUHeKlwrBp8r/Plmsbcj+VquMrOwCcC9/8
sTwhtwSwy20X6zr5KJKrx/I=
=ne9z
-----END PGP SIGNATURE-----
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/
/* Publica y encontra trabajo relacionado con softlibre en
http://www.usla.org.ar/modules/jobs/ */
Si tenés algún inconveniente o consulta escribí a mailto:[EMAIL PROTECTED]