Apache mpm_perchild vs. PHP 5
Sziasztok,
úgy tűnik mostanság szerveres témával terhellek benneteket. Ha sok belőle, szóljatok rám. :)
Szóval, a következő a probléma. Megpróbáltam egy olyan biztonsági modellt összeütni, amelyikben minden felhasználónak a home könyvtárában vannak a publikus domainek. Eddig ok a dolog.
Viszont nem szeretném, ha más felhasználó is (akár shellből akár máshonnan) tudná olvasni azokat a dolgokat, amik nem az övék. Ilyen lehet ugye, az adatbázis jelszó és egyebek.
E célból azt szerettem volna, ha az Apache olyan felhasználó nevével hívja föl az adott dolgot, ami a könyvtár tulajdonosa. Tehát a /home/janos könyvtárban levő dolgokat a VirtualHost segítségével janos usernévvel nézi meg az Apache.
A probléma az, hogy a VirtualHost részben a 2.0-ás Apache már nem támogatja a User direktívát, az mpm_perchild pedig az APT jelentése szerint nem kompatibilis a PHP-vel (mpm_prefork kell neki), ráadásul experimental.
A suexec nem jó megoldás, hiszen az csak a CGI scriptekre érvényes, mint például a PHP-ra.
Mit lehet szerintetek tenni?
J
ui. ha fontos, Ubunturól van szó.
■ úgy tűnik mostanság szerveres témával terhellek benneteket. Ha sok belőle, szóljatok rám. :)
Szóval, a következő a probléma. Megpróbáltam egy olyan biztonsági modellt összeütni, amelyikben minden felhasználónak a home könyvtárában vannak a publikus domainek. Eddig ok a dolog.
Viszont nem szeretném, ha más felhasználó is (akár shellből akár máshonnan) tudná olvasni azokat a dolgokat, amik nem az övék. Ilyen lehet ugye, az adatbázis jelszó és egyebek.
E célból azt szerettem volna, ha az Apache olyan felhasználó nevével hívja föl az adott dolgot, ami a könyvtár tulajdonosa. Tehát a /home/janos könyvtárban levő dolgokat a VirtualHost segítségével janos usernévvel nézi meg az Apache.
A probléma az, hogy a VirtualHost részben a 2.0-ás Apache már nem támogatja a User direktívát, az mpm_perchild pedig az APT jelentése szerint nem kompatibilis a PHP-vel (mpm_prefork kell neki), ráadásul experimental.
A suexec nem jó megoldás, hiszen az csak a CGI scriptekre érvényes, mint például a PHP-ra.
Mit lehet szerintetek tenni?
J
ui. ha fontos, Ubunturól van szó.
PHP CGI
open_basedir for remedy
A megoldás: virthostonként eltérő open_basedir! Annál is szépen meg lehet mondani, hogy melyik könyvtárakból indulva érhetnek csak el fájlokat.
Leves
Szóval a suPHP szép és jó, örülök magamnak, valamikor a napokban le fogok futtatni egy preformance tesztet, hogy mennyire gyors. Még a FastCGI-t nem próbáltam ki, lehet, hogy majd arra is sor kerül.
Ja, és aki próbálkozik: azért kell külön php.ini fájl, mert be kell állítani a doc_root-ot benne minden domainre, különben a "No input file specified" hibába ütközik a dolog.
Fastcgi
http://donci.internode.hu/phpfastcgi/phpfastcgimodban.htm
Üdv,
Felhő
Koszonom!
Egy hiba: Az egyik forraskodban van egy typo, a Directory elol hianyzik a nyito kacsacsor, meghozza itt:
SetHandler fastcgi-script
</Location>
Directory /home/foo/webroot/ >
Options FollowSymLinks Indexes ExecCGI
pár virthost esetén még jó is lehet
Dede
Egyébként valszeg azért, mert a a nem-PHP-s dolgok vígan tesznek az open_basedir-re...
A debianosok azt mondanak, amit akarnak
Egyébként minden tiszteletem a Debian security csapatáé, de mindezek ellenére azt kell mondanom, hogy széllel szemben nem lehet. Túl sok mindent csinálnak nagyon kevés eredménnyel.
Tény