SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  

4.1 Binaires CGI
4.2 Module Apache
4.3 Sécurité des fichiers
4.4 Rapport d'erreur
4.5 Using Register Globals
4.6 Données transmises par les internautes
4.7 Masquer PHP
4.8 Considérations générales
4.9 Etre à jour

4.2 Module Apache
[Notes en ligne] 

Lorsque le 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"). 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 authentification. 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 des virus dans les fichiers des utilisateurs. Ou encore, de 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.
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 professionnels de la sécurité, une telle utilisation est à exclure d'office.
Il existe des solutions plus simples. En utilisant @xref{function.open-basedir,,open_basedir()} vous pouvez contrôler et restraindre l'accès à certains dossiers qui pourront être utilisés par PHP. Vous pouvez aussi des aires de restrictions Apache, pour restraindre les activités anonymes liées aux internautes.
Sommaire:

  • 4.2 Module Apache

  • Chapitre précédentChapitre suivantAccueil nexen.net