serveur-debian-securite:securiser-php

Ceci est une ancienne révision du document !


Sécurisez votre PHP

PHP est très souvent installé sur un serveur web car c'est un langage de programmation très couramment utilisé. PHP, comme tout langage de scripts, comporte des failles de sécurités intentionnelles ou non. Ces vulnérabilités s'expliquent par de mauvaises habitudes de programmation (souvent un défaut de validation des entrées) ou par des erreurs dans le fichier de configuration php.ini.

Fonctionne pour toute version de PHP

Certaines fonctions de PHP peuvent directement lancer des scripts à distance qui peuvent être malveillant. Il est donc judicieux, surtout si vous ne les utilisez pas, d'interdire l'utilisation de certaines fonctions de PHP. Pour cela, nous allons modifier ou rajouter cette ligne dans le fichier de configuration php.ini. Le fichier de configuration se trouve en général à : /etc/php5/apache2/php.ini .

disable_functions = exec,passthru,popen,proc_open,shell_exec,system

Si vous avez aussi installé le paquet php5-cli pour lancer des scripts PHP directement en ligne de commande, il existe un deuxième fichier de configuration : /etc/php5/cli/php.ini

Puis relancer le service apache avec la commande suivante :

/etc/init.d/apache2/restart

Par mesure de sécurité, il vaut mieux vérifier les paramètres suivants.

safe_mode = Off safe_mode_gid = Off memory_limit = -1 display_errors = Off display_startup_errors = Off register_globals = Off magic_quotes_gpc = Off magic_quotes_runtime = Off allow_url_fopen = Off allow_url_include = Off

Pour le paramètre memory_limit si votre machine possède une mémoire limitée mieux vaut mettre la valeur à 128MB (valeur par défaut). Pour le paramètre allow_url_fopen, si vous devez utiliser la fonction fopen dans vos scripts, mettre cette valeur à ON

  • serveur-debian-securite/securiser-php.1439735171.txt.gz
  • Dernière modification : 08/10/2019 16:40
  • (modification externe)