zion -  Quelques conseils pour sécuriser son installation PHP

Alors, première chose à faire, activer le safe_mode, si on peut s'en passer, le safe_mode est une sécurité importante pour empêcher les scripts d'exécuter, par exemple, n'importe quelle commande système avec les droits du serveur web (et donc de profiter de failles).

safe_mode = On


Ensuite, il n'est pas non plus mauvais de cacher l'existence de PHP sur le serveur:

; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
expose_php = Off


Si on cache l'existence de PHP, il vaut aussi mieux ne pas afficher les erreurs provoquées par les scripts mais les sauver dans un log. En effet, dans un environnement de production, il ne faut en théorie plus avoir d'erreur mais ne garder cette option que pour le serveur de développement:

; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
display_errors = Off


; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = On


Depuis de nombreuses versions, les options de PHP désactivent par défaut la création de variables contenant les valeurs de l'URL (Ex: index.php?page=plop crée la variable $page). Néanmoins, il est bon de vérifier que cette option est bien désactivée pour empêcher des attaques.

; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off


Si vous utilisez une base de donnée, ce qui est probablement le cas, il faut aussi activer le magic quotes, qui consiste à ajouter un caractère d'échappement à chaque caractère spécial pour empêcher des modifications de vos requêtes (SQL Injection)


; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On


Commentaires
Quelques conseils pour sécuriser son installat...
Je proteste. L'utilisation des magic quotes est une aberration. Cette fonctionnalité n'a été codée que pour fonctionner correctement avec MySQL, elle peut provoquer des résultats indésirables avec d'autres SGDB. De plus, il est préférable de désactiver par défaut cette option et d'appliquer soi-même un filtrage sur les données, afin d'éviter certains désagrément comme la multiplication d'anti-slash à outrance.
Par gizmo, Publié le 07/03/2005 @ 23:29:56
Quelques conseils pour sécuriser son installat...
Boui bah évidemment, pour toi et moi c'est 100% mieux de le gérer soit même, mais pour monsieur tout le monde qui ne comprend pas :spamafote:
Par zion, Publié le 30/04/2005 @ 02:33:11
Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?