Instalat ca modul Apache
Când PHP este utilizat ca modul în Apache, el moștenește
permisiunile implicite ale Apache (de obicei acelea ale utilizatorului
"nobody"). Acest fapt are mai multe impacte asupra securității și
autorizării. De exemplu, dacă utilizați PHP pentru a
accesa o bază de date, și dacă aceasta nu are control de acces inclus, va
trebui să faceti această bază de date să fie accesibilă utilizatorului
"nobody". Aceasta înseamnă că un script malefic va putea accesa și modifica
baza de date chiar fără a introduce numele utilizatorului și parola. Este
posibil ca un robot de indexare web să acceseze accidental panoul de
administrare al bazei de date și să modifice sau să șteargă toate datele. Vă
puteți proteja cu ajutorul sistemului de autorizare al Apache, sau printr-un
model de acces personalizat folosind LDAP, fișiere tip .htaccess, etc. pe
care să le introduceți în scripturile PHP create.
Adesea, după ce politica de securitate a fost stabilită, iar utilizatorul
PHP (în acest caz, utilizatorul Apache) prezintă risc
redus față de sistem, iese la iveală faptul că PHP este
restricționat în a scrie în fișierele și directoarele utilizatorilor, sau nu
poate accesa și schimba anumite baze de date. El a fost securizat atât în a
scrie fișiere bune, cât și rele, sau inserarea de tranzacții atât benefice,
cât și dăunătoare bazelor de date.
O greșeală de securitate frecventă este că atunci când se ajunge în acest
moment, să se dea permisiuni de root serverului Apache, sau să se extindă
permisiunile într-un careva alt mod.
Extinderea privilegiilor utilizatorului Apache către root este deosebit de
periculoasă și poate duce la compromiterea întregului sistem, așa că
operațiunile 'sudo', 'chroot', sau alte modalități de a rula root nu ar
trebui luate în considerare în caz că nu sunteți expert în securitare.
Există și soluții mai simple. Utilizând
open_basedir puteți controla și
restricționa ce directorii doriți, în care poate avea acces
PHP. În plus puteți stabili zone numai pentru Apache,
pentru a preveni toate acțiunile din web asupra fișierelor utilizatorilor și
de sistem.