Apache und open_basedir

2004-03-25 Diskussionsfäden Guenther Theilen
Moin allerseits,

ich bin grade dabei, auf meinem Testserver etwas mit Virtual Hosts 
rumzuspielen. (Woody, Apache 1.3.26, PHP 4.3.4 als Modul)
Soweit funktioniert auch alles wunderbar.
Verkürztes Beispiel:

# vhost1
VirtualHost vhost1
DocumentRoot /home/vhost1
ServerName www.vhost1.de
/VirtualHost

# vhost2

VirtualHost vhost2
DocumentRoot /home/vhost2
ServerName www.vhost2.de
/VirtualHost

Jetzt möchte ich natürlich vermeiden, daß ein Skript, das unter /home/vhost1 
liegt, Zugriff z.B. auf /home/vhost2 bekommt.

Soweit ich das bisher gesehen habe, ist open_basedir mein Freund. Allerdings 
tut es das nicht so ganz, wie ich mir das vorstelle und google liefert leider 
zum Teil widersprüchliche Informationen.

Bevor ich jetzt mit trial and error loslege, einfach mal einige Fragen:

1. Muss safe_mode aktiviert sein, damit open_basedir funktioniert?
2. Sollte safe_mode aktiviert sein? ;-) (Welche Probleme kann ich mir damit 
einfangen wenn z.B. Pear, phpMyAdmin und SquirrelMail laufen)
3. Muss die php_admin_value open_basedir-Anweisung im Bereich Location 
stehen?
3. Welche Verzeichnisse sollte ich zusätzlich bei open_basedir freigeben?
Soweit ich das sehe, kann ich ja Upload und Session-Verzeichnisse mit 
php_admin_value upload_tmp_dir bzw. php_admin_value session.save_path 
beeinflussen, so dass Zugriff auf /tmp nicht mehr unbedingt nötig ist.
Was sollte sonst noch freigegeben sein?
4. Gibt es sonst etwas, auf das ich achten sollte?

Bitte jetzt nicht RTFM sagen, das hab ich gemacht... ;-)

Danke schonmal

Grüße
Günther



Re: Apache und open_basedir

2004-03-25 Diskussionsfäden Roeschu Ostwald
Hallo

ich bin grade dabei, auf meinem Testserver etwas mit Virtual Hosts
rumzuspielen. (Woody, Apache 1.3.26, PHP 4.3.4 als Modul)


Weiss nur Antwort auf Nr. 3: Diese Php admin flags kannst du im VirtualHost
Container definieren und musst nicht im Location Container...wenn das die
Frage war...

Wenn du auf die Sicherheit wirklich viel Wert legst wäre PHP als CGI
vielleicht besser. Und dann mit suexec cgi nur als den definierten User
ausführen lassen. Vielleicht hilfreich wäre auch noch kritische Funktionen
in php.ini zu deaktivieren (unter disable_functions)..z.b system oder
ähnliche wenn diese nicht unbedingt gebraucht werden.

adieu






-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Apache und open_basedir

2004-03-25 Diskussionsfäden Patrick Preuster
Guenther Theilen wrote:

1. Muss safe_mode aktiviert sein, damit open_basedir funktioniert?
Nein, das ist ja der Vorteil von open_basedir, dass es auch ohne den 
Safe Mode funktioniert.

2. Sollte safe_mode aktiviert sein? ;-) (Welche Probleme kann ich mir damit 
einfangen wenn z.B. Pear, phpMyAdmin und SquirrelMail laufen)
Die meisten Sachen, sofern sie nicht externe Programme ausfuehren 
muessen oder Dateien schreiben wollen, funktionieren problemlos mit Safe 
Mode, andere aber nicht. Eigentlich kann man auf den Safe Mode 
verzichten, wenn man schon open_basedir hat.

3. Muss die php_admin_value open_basedir-Anweisung im Bereich Location 
stehen?
Nein, es reicht, wenn sie im VirtualHost Bereich steht.

3. Welche Verzeichnisse sollte ich zusätzlich bei open_basedir freigeben?
Soweit ich das sehe, kann ich ja Upload und Session-Verzeichnisse mit 
php_admin_value upload_tmp_dir bzw. php_admin_value session.save_path 
beeinflussen, so dass Zugriff auf /tmp nicht mehr unbedingt nötig ist.
Was sollte sonst noch freigegeben sein?
Die beiden sollten definitiv NICHT freigegeben werden fuer open_basedir, 
sonst kann der User ja da selbst drin rumfuhrwerken. Die Funktion 
move_uploaded_file() funktioniert unabhaengig von open_basedir, das 
heisst auch wenn das Verzeichnis nicht freigegeben ist, wird die Datei 
trotzdem rauskopiert. Es ist auch empfohlen gerade diese Funktion zu 
benutzen und nicht copy().

4. Gibt es sonst etwas, auf das ich achten sollte?
Ja, wirklich sicher ist das alles in einer Shared Hosting Umgebung 
nicht. Auch wenn es von der Performance her schlechter ist als die 
mod_php Loesung wuerde ich da in jedem Fall eine Loesung mit SuEXEC 
bevorzugen. Fuer den etwas einfacheren Gebrauch und auch nur mit PHP 
kannst du auch suPHP(.org) benutzen.

Viele Gruesze
Patrick
--
Patrick Preuster
[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
'Heaven doesn't want us and Hell is afraid we'll take over!'

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)