Re: pld na hosting PHP - jak rozdzielacie klientów?
Arkadiusz Rdest
weed w punkt.pl
Wto, 16 Gru 2008, 20:49:04 CET
Jacek Osiecki wrote:
> Jak Wy to robicie? Wiem że można np. zrobić wszędzie uruchamianie PHP jako
> CGI i ustawienie takich uprawnień żeby jeden user nie miał szans zajrzeć do
> innego, ale to się wiąże ze znacznym spowolnieniem działania PHPa na co
> raczej nie mogę sobie pozwolić.
1) php per user odpalane jako fast-cgi (mod_fastcgi + suexec).
bardzo szybkie w dzialaniu, tylko zajmuje duuuzo pamieci.
zaleta oprocz tego, ze usery nie musza chmodow 777 ustawiac,
to jesli dany user ma kilka vhostow, to wszytkie dzialaja
pod tym samym procesem php.
dodatkowo w skrypcie odplajacym parser php nalozone limity
ulimitem, zeby sie te parsery za bardzo nie rozhasały :)
oczywicie limity w php.ini tez nalozne (max_execution_time)
ale te ulimitowe lepiej sie sprawdzaja :)
safe_mode oczywiscie wlaczony, bo w tej konfiguracji jego
ustawienie nie ma zadnego znaczenia.
2) kazdy user ma osobny php.ini z miedzy innymi
ustawiona inna sciezka na jego ~/ w open_basedir
3) zablokowana funkcja glob() w php, poniwaz nawet mimo wlaczonego
openbasedir pozwala ona wylistowac pliki zposa openbasedir :)
http://lukasz.pilorz.net/2007/02/15/czytanie-zawartosci-katalogow-chronionych-open_basedir/
4) lista zablokowanych funkcji jest dluzo dluzsza :)
disable_functions =
dl,exec,shell_exec,system,passthru,popen,symlink,link,set_time_limit,proc_open,proc_close,posix_getp
wuid,openlog
openlog dlatego, ze prostym skryptem w php moge ci wyslac do
sysloga co tylko bede chcial, i w moment np. przepelnic dysk :)
4) jako serwer FTP pure-ftpd z ustawiana opcja chrooteveryone.
to chyba wszytko co pamietam w tamcie o ktory pytasz, czyli rozdzielenia
katalogow userow. u mnie pod PLD sie sprawdza na serwerze z ponad 4k
klientow i kilkunastoma tysiacami vhostow :) jak na razie wlamu na
serwer nie bylo, albo go nie wykrylem :) bo wlamy na konta userow to sa
i beda, ale coz poradzisz na beznajdziejnie napisane jportale,
mamba-sramba i zajebiscie przemodowane phpbb by pszemo :)
--
-[ net and sys admin ]-[ Learn the facts and make up your own ]-
-[ a.rdest()infomex()pl]-[ damn mind. That's why you have one. ]-
Więcej informacji o liście dyskusyjnej pld-users-pl