salut
dupa o lunga perioada de cercetari si teste, si dat fiind faptul ca majoritatea providerilor de hosting web din Romania folosesc cpanel, am decis sa deschid acest subiect, si anume al securitatii serverului care ruleaza cpanel.
nu stiu cati dintre dumneavoastra cunosc ultimele buguri cpanel, dar sunt sigur ca 99% folosesc si ruleaza PHP sau Perl pentru clienti.
problema este urmatoarea:
cpanel nu ofera un environment chrooted corect, deci utilizatorul (clientul) poate iesi din propriul 'box' (/home/client/, cu ajutorul unor functii din php mai mult sau mai putin restrictionate.
adica sa zicem ca rulati PHP pe server, si nu folositi safe_mode, pentru ca nu ati rezolva nimic, si nu ar merge corect majoritatea scripturilor.
optiunea open_basedir din php.ini nu este nici ea eficienta la acest capitol, pentru ca incep problemele la scripturi care folosesc include(), si acceseaza fisiere aflate in alt nivel de directoare.
singurul refugiu in php.ini este restricted_functions, unde putem insirui o serie de functii care au legatura directa cu shellul, de pilda exec, popen, shell_exec, etc.
toate bune si frumoase, sa zicem ca folosim directiva restricted_functions pe toate aceste functii, insa raman celelate cu ajutorul carora se pot mani*ula fisiere, ex virtual, show_source, readfile, fopen, fread etc. care NU POT fi restrictionate pentru ca scripturile clientilor nu ar mai merge corect.
ideea este ca in comparatie cu plesk si ensim, cpanel nu ofera siguranta permisiilor corecte, prin care sa ne asigure ca utilizatorul x nu face browsing prin directorul utilizatorului y.
dupa ce am discutat cu cateva persoane din stafful cpanel (care au inceput sa piarda clienti din aceasta cauza), se pare ca se are in vedere un proiect prin care sa se ofere o mai mare siguranta clientilor (vezi.
http://forums.cpanel.net/showthread.php?s=&threadid=18902&perpage=15&pagenumber=6 ).
Cititi ce am scris in acel post, despre conturile de tip demo, si despre anumite reguli de securitate care ar trebui insusite.
Astept reply-uri cu completari, sugestii, corectari. Poate nu m-am facut inteles, si nu am scris destul de clar totul. Doresc sa discut pe aceasta tema cu oricine interesat.
Serban Gh. Ghita