larger smaller normal text version of this page

Revision [1708]

Last edited on 2008-11-09 08:55:10 by PaulBe
Additions:
=====Sécurisation de PHPlist =====
//Ce document décrit un certain nombre de mesures qui contribueront à améliorer la sécurité de votre système. Certaines de ces mesures ne s'appliqueront peut être pas à votre système, car elles dépendent de la configuration de l'installation de votre PHPlist. Bien qu'il ne soit pas nécessaire de mettre en oeuvre toutes les mesures proposées dans ce document, il est néanmoins recommandé d'en appliquer un maximum.//
==Veillez à garder votre installation à jour==
Abonnez-vous à [[http://www.phplist.com/lists/?p=subscribe&id=5 la liste de diffusion]] pour être tenu informé des correctifs de sécurité et des mises à jour, afin de les installer dès qu'ils sont disponibles.
==Limitez les risque d'accès (htaccess)==
Assurez-vous que les .htaccess dans les répertoires de PHPlist (en particulier ceux des répertoires "admin" et "commonlib") soient actifs. L' .htaccess inclus dans PHPlist devrait être configuré afin que "index.php" soit le seul fichier accessible dans le répertoire admin. Aucun autre fichier php devrait être accessible. Les images ainsi que les feuilles de style doivent toujours être accessibles.
**Remarque:** Certains serveurs sont paramétrés de tel manière que certaines directives Apache placées dans de fichier .htacess ne soient pas autorisées. En cas de doute, vérifiez auprès de votre hébergeur. Si votre hébergeur ne permet pas le transfert du fichier .htaccess via FTP, vous devriez lui demander de l'aide pour trouver une solution efficace.
Pour plus d'informations, voir:
==Autorisation des fichiers et des répertoires==
Vérifiez que vos répertoires et vos fichiers possèdent l'autorisation correcte en lecture/écriture. Les autorisations doivent être les plus basses possible. Ce niveau varie en fonction de la configuration de votre serveur. ''Vérifiez toujours'' que les permissions ne soient pas supérieurs à :
{{table columns="3" cells=";permissions (octal);(symbolic);Répertoires;755;d rwx r-x r-x;Fichiers;644;- rw- r-- r--;"}}
Pour plus d'informations sur [[http://en.wikipedia.org/wiki/File_system_permissions les autorisations des systèmes de fichiers]], consultez le manuel de votre système d'exploitation, ou contactez votre hébergeur.
==Exécutez toujours votre script avec des autorisations limitées en client d'Apache==
Exécutez le script comme client d'Apache ayant des autorisations très limitées sur votre serveur, en particulier sur les permissions d'écriture sur vos fichiers. Voir également des [[http://httpd.apache.org/docs/1.3/misc/security_tips.html conseils de sécurité Apache]].
==Mot de passe de protection du répertoire admin (htaccess)==
Votre répertoire admin est protégé par un mot de passe. Le client Apache utilise le .htaccess dans le répertoire admin prévu à cet effet. Pour plus d'informations, voir la [[http://httpd.apache.org/docs/1.3/howto/auth.html documentation Apache]]
Vous pouvez combiner cette mesure avec le système d'identification de l'installation de PHPlist, dans ce cas votre administrateur PHPlist doit d'abord avoir accès au répertoire admin, puis se logger comme admin PHPlist.
==Configurez "registre globals" à "off" (php.ini/htaccess)==
Configurez "registre globals" à "off" dans votre fichier php.ini. Si votre serveur est mutualisé et que vous n'avez pas accès à votre php.ini, vous pouvez également utiliser cette ligne dans votre fichier .htaccess: ''php_flag register_globals off''
Pour de plus d'informations, veuillez consulter [[http://www.php.net/register_globals la documentation PHP]] sur ce sujet.
==Changez le mot de passe admin PHPlist==
Changez immédiatement le mot de passe administrateur après avoir installé PHPlist.
==Utilisez PHPlist avec un pare-feu==
Exécutez votre PHPlist toujours derrière un pare-feu, ce qui évitera l'utilisation de services inutiles et dangereux.
==Assurez-vous de l'indépendance de chaque utilisateurs de la base de données==
Si vous exécutez plusieurs applications PHP/MySQL sur le même serveur, il est fortement recommandé d'utiliser des bases de données distinctes, chacune étant gérée par un binome : utilisateur/mot de passe. Cette mesure de cloisonnement est indispensable, en effet si un intrus arrive malgré tout à accéder à l'une de vos bases de données, les autres resteront toutefois inaccessibles. Voir aussi [[http://www.securityfocus.com/infocus/1667 Secure MySQL Database Design]].
==Sauvegardez votre base de données==
Faites ''régulièrement des sauvegardes'' de votre base de données et conservez-les dans un endroit sûr.
Deletions:
=====Securing phpList =====
//This document outlines a number of measures that will help enhance the security of your system. Some of these measures may not be available to all of you, as it depends on the way you have hosted your phpList installation. While it isn't necessary to implement each and every measure suggested in this document, applying as many as you can is recommended.//
==Keep your installation up to date==
Subscribe to the [[http://www.phplist.com/lists/?p=subscribe&id=5 phpList announcements mailinglist]] to be kept informed of security fixes and upgrades, and install these as soon as they are available.
==Limit executable access (htaccess)==
Make sure the .htaccess files in the directories of phpList (particularly those in the "admin" and "commonlib" directories) are active. The .htaccess files included with phpList should ensure that "index.php" is the only file accessible in the admin directory. No other php file should be accessible. Images and stylesheets may still be accessible.
**Note:** Some server settings may not allow overriding some of the Apache directives placed in the .htaccess files, which means the files are not parsed. If in doubt, check this with your host. If your host does not allow uploading .htaccess files via FTP, you should contact them to find a secure alternative.
For more info see:
==Set proper file and directory permissions ==
Check that your directories and files have proper read/write permissions. Permissions should be as low as possible. This may vary somewhat, depending on the way you server is hosted. However, check that permissions are NOT higher than this ''(needs to be verified)'':
{{table columns="3" cells=";permissions (octal);(symbolic);Directories;755;d rwx r-x r-x;Files;644;- rw- r-- r--;"}}
For more information on [[http://en.wikipedia.org/wiki/File_system_permissions file system permissions]], please consult the manual of your particular operating system, or contact your host.
==Run you site as an Apache user with limited permissions==
Run the website as an Apache user with very limited permissions on your server, particularly no write permissions in any of the documents of your website. See also [[http://httpd.apache.org/docs/1.3/misc/security_tips.html Apache security tips]].
==Password protect the admin directory (htaccess)==
Password protect your admin directory. Apache users can use the .htaccess file in the admin directory for that purpose. For more information, see the [[http://httpd.apache.org/docs/1.3/howto/auth.html Apache documentation]]
You can use this measure in combination with the administrators login system of your phpList installation, in which case your phpList administators wiil have to gain access to protected admin directory first, and then login as a phpList admin.
==Set "register globals" to "off" (php.ini/htaccess)==
Set "register globals" to be "off" in your php.ini file. If your server is in a shared hosting environment, and if you do not have access to php.ini, you could also use this directive in your .htaccess file: ''php_flag register_globals off''
For more information, please consult the [[http://www.php.net/register_globals PHP documentation]] on this topic.
==Change the phpList admin password==
Change the admin password inmediately after having installed phpList.
==Run phpList behind a firewall==
Run your phpList installation on a server that has a firewall installed that only allows the necessary services to be served.
==Make sure each database application is owned by a separate database user==
If you run several PHP/""MySQL"" applications on the same server, it is recommended to use separate databases, each owned by a different username/password combination. This serves as a containment measure: if an intruder manages to gain access to one of your application's databases, the others will still remain uncompromised. See also [[http://www.securityfocus.com/infocus/1667 Secure MySQL Database Design]].
==Backup your database==
Make regular [[BackupDatabase backups of your database]] and keep them in a safe place.


Revision [1695]

The oldest known version of this page was created on 2008-10-28 18:33:39 by AlStillero [Created page]
Page was generated in 0.0287 seconds