Securitatea
PHP Manual

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.


Securitatea
PHP Manual