System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Sécuriser votre php.ini

Ici rassemblement de toutes les informations pour la sécurisation de votre fichier php.ini

Infro :

Le fichier php.ini est un important fichier de configuration du serveur PHP normalement si vous avez installé votre php5 avec l'outils de gestion de paquet de votre distribution il devrait ce trouver dans /etc/ si vous venez de le compilé vous meme il sera dans les sources et il vous faudra le copier dans votre dossier php/lib/

Voici les endroits ou le trouver :

/etc/php.ini
/opt/SOURCES/php-5.2.6/php.ini-dist
/opt/SOURCES/php-5.2.6/php.ini-recommended
/opt/SOURCES/php-5.2.6/tmp-php.ini
/opt/SOURCES/php-5.2.8/php.ini-dist
/opt/SOURCES/php-5.2.8/php.ini-recommended
/opt/SOURCES/php-5.2.8/tmp-php.ini
/opt/php526/lib/php.ini

Début des instructions pour la sécurité de votre php :

Sous Linux, la commande curl permet d’obtenir des informations sur les en-têtes HTTP (headers) et peuvent permettre de connaître la version de php utilisée :

curl -I www.system-linux.eu
HTTP/1.1 200 OK
Date: Fri, 14 Oct 2008 21:37:41 GMT
Server: Apache
X-Powered-By: PHP/5.2.8
Vary: Host
Content-Type: text/html

Pour cacher la version de php, il suffit de mettre l’option expose_php à off dans le fichier php.ini :

expose_php = Off

Ce qui donnera :

curl -I www.system-linux.eu
HTTP/1.1 200 OK
Date: Fri, 14 Oct 2008 21:34:32 GMT
Server: Apache
Vary: Host
Content-Type: text/html

Safe_Mode :

Il doit toujours être activé, il ajoute tout un lot de sécurités non négligeables pour la gestion et le traitement de vos fichiers. Celui-ci intervient principalement dans les droits de lecture, d'écriture et de suppression des fichiers contenus sur votre machine. Il contrôle également la légitimité du manipulateur des fichiers, en vérifiant que le propriétaire du script est également le propriétaire des fichiers manipulés, par exemple. De plus amples précisions ici.

safe_mode = On

Register_Globals :

Ce paramètre joue principalement sur les variables, il permet de contrôler la provenance des variables intervenant sur votre site. Il est extremement important de conserver ce paramètre sur off tant que vous ne maîtrisez pas toutes les subtilités de la manipulation de variables. Ce paramètre vous oblige à définir vous même le contenu de vos variables, et empêche les visiteurs de le faire pour vous.

register_globals = Off

Contre le deny of service :

max_execution_time = 30	; Maximum execution time of each script, in seconds

Prévenir l'utilisation de toute la mémoire par un script mal codé :

memory_limit = 8M

Pour les opérations GPC (Get/Post/Cookie) :



si On tous les caractères ' (guillemets simples), " (guillemets doubles), \ (antislash) et NUL seront échappés avec un antislash.

magic_quotes_gpc	=	On

Pas afficher les erreurs php :

display_errors	=	Off

Protéger tout ce qui est SQL :

Activer cette option du php.ini

sql.safe_mode	=	On

Interdire l’inclusion de fichiers distant :

allow_url_fopen = Off 

Interdire l'ecriture des erreurs dans un fichier de log :

log_errors = Off

Aidez moi pour la suite si vous connaissez d'autres infos de ce genre ! merci :)

Par GanGan | le vendredi, janvier 16 2009 08:09

Commentaires

1. Bruno

samedi, janvier 17 2009 | 09:46

magic_quotes est à oublier ( Disparaîtra dans 5.3 et plus )
les filters php sont là pour vous aider.

La non écriture dans un fichier de log ? Cela dépend car peut-être utile de distinguer les erreurs applicatives php. Dans votre cas les erreurs seront le l' error log d'apache.

Safe mode entraîne un grand nombre de problème, et il me semble avoir vu passer que cela était déprécié et allait disparaître également.

2. gangan

samedi, janvier 17 2009 | 15:02

merci pour ces infos !
tu peux nous parler des filtres php je ne connais pas

3. Anbreizh

samedi, mai 16 2009 | 16:51

D'après le PHP5 sous ubuntu server, la protection qui consiste à mettre safe_mode en ON est "cassé"

Extrait de php.ini :

NOTE: this is considered a "broken" security measure.
; Applications relying on this feature will not recieve full
; support by the security team. For more information please
; see /usr/share/doc/php5-common/README.Debian.security

4. GanGan

samedi, mai 16 2009 | 22:48

merci pour l'info !

5. ButterflyOfFire

mercredi, mai 20 2009 | 07:19

Merci pour toutes ces informations ;)