Installato come modulo Apache
Quando PHP viene utilizzato come modulo Apache, esso eredita i permessi dell'utente
Apache (tipicamente quelli dell'utente "nobody"). Questo ha diversi
impatti sulla sicurezza e l'autorizzazione. Per esempio, se si sta usando
PHP per accedere ad un database, a meno che il database non abbia un sistema interno di controllo
degli accessi, dovrai rendere il database accessibile
dall'utente "nobody". Questo significa che uno script malevolo potrebbe accedere e modificare
il database, anche senza username e password. É del tutto
possibile che uno spider web possa atterrare sulla pagina web
dell'amministratore del database, ed eliminare tutti i tuoi database. Puoi
proteggerti da questo tramite le autorizzazioni di Apache, o puoi progettare
il tuo modello di accessi attraverso LDAP, i file .htaccess, ecc. ed includere
quel codice come parte dei tuoi script PHP.
Spesso, una volta che la sicurezza viene stabilita verso il punto dove l'utente PHP
(in questo caso, l'utente apache) ha pochissimi rischi collegati ad esso,
si scopre che a PHP viene ora impedito di scrivere su qualsiasi file,
nelle directory degli utenti. O forse è stato impedito l'accesso
o la modifica dei database. É stato equamente messo in sicurezza dalla scrittura
di file buoni e cattivi, o dall'ingresso di transazioni buone e cattive al database.
Un errore frequente di sicurezza fatto a questo punto è di fornire i permessi di root
ad apache, o di aumentare le abilità di apache in qualche altro
modo.
Fornire i permessi di root all'utente Apache è estremamente
pericoloso e può compromettere l'intero sistema, quindi metodi come sudo,
chroot, o l'esecuzione come root non dovrebbero essere presi in considerazione da
coloro che non sono dei professionisti della sicurezza.
Ci sono alcune soluzioni più semplici. Utilizzando
open_basedir puoi controllare e limitare quali
directory posso essere utilizzate per PHP. Puoi inoltre impostare
delle aree solo per apache, limitando tutte le attività web ai file non di utenti,
oppure non di sistema.