sicurezza apache

Nessuna risposta
Ritratto di fausto
fausto
(Newbie)
Offline
Newbie
Iscritto: 03/11/2005
Messaggi: 1

buonasera,
spero innansitutto di non essere OT

PREMESSA

vi sto contattando per un problema che con le mie attuali conoscenze non so risolvere.

ho un piccolo server che uso anche per dare spazio web ai miei amici che lo desiderano, il server monta debian sarge 3.1, la sua versione di apache e la 1.3 la versione di php e 4.3.10-16 il kernel è 2.4.27-2-386

per quanto riguarda apache, la document root è /var/www e gli user hanno le loro home per lo spazio web in /var/www/"nomeutente". le home sono chownate dal propietario che e un uid numerico dato che il database degli user proftpd e su mysql e chmoddate a 755.

al momento non sto usando vhosts ma mi piacerebb eusare mod_vhost_alias in modo da non creare un vhost per ogni user ma utilizzare direttamente solo 2 righe nel config

PROBLEMA

per caso, mentre tentavo di fare uno script php mi sono accorto che ineffetti php dato che gira da www-data puo leggere ogni script e quindi copiare il contenuto ad esempio di files di confurazione con dati sensibili (ad esempio altri script php di altre home contenenti passwords). ineffetti questi files per funzionare devono essere leggibili a www-data e quindi a tutti e quindi a php!! quindi non potendo negare i permessi di lettura sui files sensibli pensavo di creare una soluzione vhost con mod_vhost_alias, ma mi sono accorto che giustamente anche un vhost (da solo) è una soluzione non attuabile perche php puo sempre risalire oltre la directory del vhost e quindi leggere il contenuto dei files. a questo punto ho scritto alla lista debian, ed ho ricevuto una risposta che apparentemente risolve il problema

> php_admin_value open_basedir "/var/www/nomeutente:/usr/share/php"
> php_value include_path ".:/usr/share/php:/var/www/nomeutente"

in questo modo però non posso attuare la soluzione con i vhost offerta da mod_vhost_alias e mi tocca creare un nuovo vhost per ogni utente, e riavviare apache!! ho provato altresi a utilizzarlo con mod_vhost_alias
sostituendo a /var/www/nomeutente /var/www/%1 (cioe la prima perte dell'url) ma giustamente queste direttive per php non supportano questo tipo di indicazione per le directory e quindi la richiesta dell'url http://nomeutente.miodominio.org limiterà in ogni caso php non su /var/www/nomeutente ma su /var/www/%1 (dato che non accetta %1 come la prima parte dell'url ma come "paramentro" statico(si dice cosi'))

come posso fare ad ovviare al problema?? esiste qualche modo per fare funzionare la limitazione di php con mod_vhost_alias?? devo per forza fare tutti i vhost a mano??

referenze per mod_vhost_alias: http://httpd.apache.org/docs/1.3/mod/mod_vhost_alias.html

CONCLUSIONE

grazie per l'attenzione e per l'eventuale aiuto che avrete deciso di concedermi, spero di essere stato chiaro e non aver detto corbellerie immani, scusi la terminologia imprecisa in alcuni punti. grazie

ringraziando in anticipo,

Fausto Milletarì

se vuoi sembrare intelligente pensa una cosa cretina e di il contrario.