Install� en tant que module Apache

Lorsque PHP est compil� en tant que module Apache, ce module h�rite des permissions accord�es � l'utilisateur faisant tourner Apache (par d�faut, l'utilisateur "nobody"). Cela � plusieurs impacts sur la s�curit� et les autorisations. Par exemple, si vous utilisez PHP pour acc�der � une base de donn�es, � moins que la base n'ait un syst�me de droits d'acc�s interne, vous devrez rendre la base accessible � l'utilisateur "nobody". Cela signifie qu'un script mal intentionn� peut acc�der � la base, la modifier sans identification. Il est aussi possible qu'un robot acc�de � la page d'administration, et d�truise toutes les pages. Vous devez aussi prot�ger vos bases de donn�es avec les autorisations Apache, ou d�finir votre propre mod�le d'acc�s avec LDAP, .htaccess, etc. et inclure ce code dans tous vos scripts : PHP.

Souvent, lorsqu'on a �tabli les droits de l'utilisateur PHP (ici, l'utilisateur Apache) pour minimiser les risques, on s'aper�oit que PHP ne peut plus �crire de virus dans les fichiers des utilisateurs. Ou encore, modifier une base de donn�es priv�e. Il est aussi incapable de modifier des fichiers qu'il devrait pouvoir modifier, ou effectuer certaines transactions.

Une erreur fr�quente de s�curit� est de donner � l'utilisateur Apache les droits de superadministrateur ou d'am�liorer les possibilit�s d'Apache d'une autre fa�on.

Donner de telles permissions � l'utilisateur Apache est extr�mement dangereux, et peut compromettre tout le syst�me, telle que l'utilisation des sudo ou du chroot. Pour les novices de la s�curit�, une telle utilisation est � exclure d'office.

Il existe des solutions plus simples. En utilisant open_basedir vous pouvez contr�ler et restreindre l'acc�s � certains dossiers qui pourront �tre utilis�s par PHP. Vous pouvez aussi cr�er des aires de restrictionsApache, pour restreindre les activit�s anonymes li�es aux internautes.