Place à un petit article sans prétention destiné aux administrateurs de serveur web en herbe, afin qu’ils puissent configurer avec un minimum de sécurité leur php.ini.
Je précise pour les étourdis que ce petit tuto se déroule sous Linux (en l’occurence sur une Débian Etch) et que vous devez avoir un accès SSH (connectez-vous via PuTTY par ex.) avec les privilèges du root.
Une fois loggés, vous allez devoir éditer le fichier de configuration de php :
nano /etc/php5/apache2/php.ini
Cherchez les options suivantes (CTRL+W pour aller plus vite) et désactivez tout en éditant de cette façon:
expose_php = Off display_errors = Off register_globals off allow_url_fopen off magic_quotes_gpc = Off
Pour préciser un petit peut expose_php à off cache les infos sur php (version utilisée entre autres), display_errors empêche l’affichage des erreurs lors des plantages de scripts (laisser à ‘on’ si vous êtes en dev donc), etc.
Dans la même lignée interdisez les options dangereuses souvent inutilisées telles que:
disable_functions = "system, exec, phpinfo, copy"Notez que si ces fonctions sont utilisées par vos scripts, ils ne fonctionneront plus, ne désactivez pas les options que vous utilisez…
Limitez de façon basique les plantages éventuels du serveur ou les attaques de DoS :
memory_limit = 8M post_max_size = 262144 upload_max_filesize = 262144
Puis redemmarrez Apache pour que les modifs soient prises en compte:
/etc/init.d/apache2 restart
Voilà ce n’est pas bien compliqué et loin de transfomer Apache en bunker mais c’est le minimum vital à mettre en place pour ne pas se faire hacker bêtement