III. Utilisation de PHPBoost

Règles de sécurité à appliquer pour utiliser PHPBoost

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 28/07/2014 à 09h48
Un des points clé de PHPBoost est la sécurité. L'ensemble du noyau est conçu pour sécuriser un maximum les données. Toutes les techniques connues concernant les attaques de sites web sont bloquées. Cependant nous ne sommes pas à l'abri d'une attaque qui peut être réussie si on fait face à quelqu'un de revanchard et compétent ; cela dit aucun système n'est sûr. PHPBoost a mis tous les éléments de son côté sur ce point là.







La sécurité des sites est un point important que beaucoup de personnes négligent car ne se rendent pas compte des conséquences que cela peut avoir...







Voyons ensemble ce que vous devez faire de votre côté pour avoir votre site le plus sécurisé possible.











<div class="wiki_paragraph1" id="a-l-installation">A l'installation</div>











Dans le pack de PHPBoost se trouve un répertoire ../install pour installer PHPBoost. A la fin de l'installation, il est important de bien supprimer ce répertoire, cela évite qu'une personne mal intentionnée connaissant vos identifiants relance l'installation et supprime toutes les données de votre site.







De plus utilisez des mots de passe sécurisés, ce que nous allons développer de suite.











<div class="wiki_paragraph1" id="les-mots-de-passe">Les mots de passe</div>











Bien souvent les mots de passe des gens se limitent à 123456, azerty, leur prénom, leur nom, etc... Ceci est bien trop simple et peut facilement se deviner, les hackers ayant a leur disposition des scripts de recherche de mots de passes. Si votre mot de passe est un nom propre, une suite de chiffres, il sera très facilement décryptable.







<div class="wiki_paragraph2" id="comment-avoir-un-mot-de-passe-securise">Comment avoir un mot de passe sécurisé?</div>











Un mot de passe doit être le plus complexe possible! Voici quelques règles importantes à respecter pour votre mot de passe :







* minimum de 8 caractères



* contient des chiffres, des majuscules, minuscules et caractères spéciaux



* il ne doit jamais être un mot qu'on trouve dans le dictionnaire d'aucune langue







Ex : QL8(DtU1;OrF1t







N'UTILISEZ JAMAIS LE MÊME MOT DE PASSE pour le les bases de données SQl, FTP, e-mail, interface d'administration du site web, etc... Beaucoup de personnes font cette erreur, hors si le pirate trouve votre mot de passe, il tentera ce mot de passe sur votre serveur ftp, base de donnée, etc... et donc il aura encore plus d'accès...







<div class="wiki_paragraph2" id="pour-votre-mot-de-passe-d-administrateur-ou-moderateur">Pour votre mot de passe d'administrateur ou modérateur</div>











Avec des droits qui peuvent être nuisibles en cas de piratage de comptes, il faut un mot de passe assez complexe, mais facile à retenir. Créez votre propre mot de passe et vous serez déjà un peu plus tranquille :wink Pensez donc à indiquer aux personnes qui ont des responsabilités sur votre site de choisir un mot de passe le plus complexe possible.



Il est facile de faire des mots de passes complexes mais faciles à se souvenir. Prenez par exemple un mot, décomposez le et ajoutez des chiffres, majuscules et caractères spéciaux.







ex : Prenons par exemple le mot password. On va le décomposer en pass et word. Pour compliquéer on met des majuscules : Pass Word. Ensuite on ajour des chiffres 1Pass2Word3 et enfin pour vraiment compliquer ajoutons des caractères spéciaux pour obtenir : 1,Pass2;Word3:&







<div class="wiki_paragraph2" id="les-mots-de-passe-pour-les-utilisateurs">Les mots de passe pour les utilisateurs</div>











Ils ne nécessitent pas le même soucis de complexité car les conséquences sont moindres, un minimum de 8 caractères est conseillé.







<div class="wiki_paragraph2" id="liste-non-exhaustive-de-quelques-utilitaires-pour-creer-vos-mots-de-passe">Liste non exhaustive de quelques utilitaires pour créer vos mots de passe :</div>











http://www.henri-ruch.ch/Utilitaires/generateurMP/generateurMP.asp



http://www.freepasswordgenerator.com/



http://www.pctools.com/guides/password/







<div class="wiki_paragraph1" id="register-globals-on-ou-off">Register_globals : on ou off?</div>











Register_globals est une fonction PHP de votre serveur : 'elle définit si oui ou non les variables EGPCS (Environment, GET, POST, Cookie, Server) seront enregistrées comme des variables globales. Depuis PHP 4.2.0 , la valeur par défaut de cette directive est off.' (source manuelphp.com)







Il faut le mettre à Off, mais normalement il n'y a pas de problèmes si il est à On.



Si il est activé sur PHPBoost ça ne sera pas grave car toutes les variables sont initialisées et les variables générées par le register_globals sont supprimées.



Ceci dit niveau sécurité c'est dangereux si le programmeur n'y fait pas attention. Mais par défaut maintenant c'est désactivé et seuls les codes "à l'ancienne" utilisent cette propriété, qui entre nous ne devrait pas exister.







NB : si dans le panel d'administration de votre hébergeur vous ne pouvez pas modifier la configuration de register_global, il va falloir mettre dans le fichier .htaccess à la racine de votre site cette commande :



Code PHP :
php_flag register_globals off  








<div class="wiki_paragraph1" id="mettez-vos-site-a-jour">Mettez vos site à jour</div>











Un site à jour est la première et meilleure défense de votre site. Il est parfois étonnant de voir les webmasters réticents à mettre à jour leur site (peur de perdre ses données, trop dur, leur site est stable alors pourquoi changer? etc...).







Il peut exister plusieurs types de mise à jour :



  • correction d'une faille de sécurité
  • correction d'un bug minime dans un logiciel
  • ajout de nouveautés dans un module
  • etc...











Par principe, l'équipe de PHPBoost vous conseillera toujours de réaliser les mises à jours, quel que soit son type.



Si vous ne les faites pas, il faudra assumer vos erreurs.







Bref si par exemple il existe une mise à jour faille de sécurité, il faudra ABSOLUMENT réaliser cette mise à jour. Par contre si cela est une mise à jour d'un module pour ajouter des fonctions diverses et que vous n'utilisez pas ce module, la mise à jour n'est pas obligatoire.







Les mises à jours sont très simples à réaliser, lorsqu'il y en a une, la démarche à suivre est toujours mentionnée donc ne vous inquiétez pas à ce niveau.



==> faites les mises à jour, c'est le premier moyen d'avoir un site sécurisé.







<div class="wiki_paragraph1" id="sauvegardez-regulierement-les-donnees-de-votre-site">Sauvegardez régulièrement les données de votre site</div>











<div class="wiki_paragraph2" id="la-base-de-donnee">La base de donnée</div>











Il est important de sauvegarder régulièrement sa base de données afin de ne pas perdre ses données en cas de plantage de serveur ou de piratage.



PHPBoost contient un module pour la sauvegarde et la restauration de la base de donnée.







Consultez cet article pour savoir comment faire.







Une vidéo montrant comment sauvegarder et restaurer la base de données est disponible. Pour la consulter, cliquez sur l'image ci-dessous :



video









Sauvegardez toujours votre base de donnée sur votre ordinateur!!! Lors de la sauvegarde, cela vous est proposé.







NB : certains hébergeurs proposent de faire des sauvegardes de vos bases de données de manière périodique. Renseignez vous auprès de votre hébergeur.







<div class="wiki_paragraph2" id="les-donnees-du-ftp">Les données du FTP</div>











Sauvegardez de temps en tempes les données de votre FTP. Voici ce qu'il faut sauvegarder :



  • ../images
  • ../includes/auth/
  • ../templates (si vous avez un thème personnalisé
  • ../upload
  • ET tous les répertoires que vous aurez créés pour y mettre des fichiers.











<div class="wiki_paragraph1" id="administrateurs-et-moderateurs">Administrateurs et modérateurs</div>











On ne donne pas des droits à n'importe qui et sans vraiment connaitre la personne. Bon nombre de webmasters recrutent rapidement du monde pour montrer que leur site est vivant, qu'il y a une équipe importante, etc... Mais tout le monde ne peut pas avoir accès à ces fonctions, car il existe des risques non négligeables. Citons les par exemple :



  • Le modérateur à accès en général selon les autorisations données



    • a la modération de tout le forum donc peut effacer autant de messages qu'il le souhaite
    • à la modération des articles, news, liens webs, téléchargements à partir de la version 2.1 de PHPBoost



  • L'administrateur



    • il a accès à TOUT
    • Il a les droits sur tous les modules
    • il a accès au panel d'administration
    • ainsi via le panel de gestion de la base de donnée il peut entièrement effacer tout le contenu du site















Bref comme vous pouvez le constater, ces droits ne se donnent pas à la légère, car les risques pour votre site ne sont pas négligeables. Ne donnez ces droits que si vous connaissez bien la personne et que vous avez une totale confiance en lui et que cette personne a vraiment besoin de ces droits. Donnez le minimum d'accès administrateur car c'est le rang le plus dangereux..







<div class="wiki_paragraph1" id="comment-donner-un-acces-ftp-a-une-personne">Comment donner un accès FTP à une personne?</div>











Il peut parfois être nécessaire de donner un accès FTP à un tiers pour différentes raisons. Mais donner l'accès au FTP à une personne mal intentionnée peut avoir de graves conséquences pour votre site. Il peut par exemple :



  • insérer un code source malicieux
  • effacer des fichiers ou tout le contenu de votre FTP
  • S'approprier du fichier config.php, et ainsi accéder à votre base de donnée
  • etc...











Mais alors vous allez me dire qu'il ne faut pas donner d'accès FTP?







Bien sur que oui que vous pouvez donner un accès FTP à quelqu'un, mais ne lui donnez pas l'accès à TOUT le FTP, réservez lui un accès un un répertoire par exemple. Pour créer un compte FTP à un membre et lui définir un espace bien particulier, il faudra vous rendre dans le panel d'administration de votre hébergeur.







<div class="wiki_paragraph1" id="mefiez-vous-des-connexions-automatiques">Méfiez vous des connexions automatiques...</div>











Ces consignes s'adressent à tout le monde et surtout pour les administrateurs et les modérateurs chez qui leur connexion à leur site par un intrus peut engendrer de graves conséquences puisque la personne aura accès au panel d'administration et à la base de données. Cela doit être un réflexe chez tout le monde. Tout d'abord il y a 2 risques



  • Votre session reste ouverte et ainsi quelqu'un peut utiliser votre compte pour effectuer des manipulation pouvant être grave pour votre site
  • Les navigateurs proposent d'enregistrer automatiquement vos mots de pass et ainsi vous avez déjà le pseudo et le mot de passe de mis dans les champs pour se connecter











Si vous êtes sur votre ordinateur personnel et que vous êtes le seul utilisateur, les risques sont moindres.







Par contre si vous êtes sur un ordinateur public, les risques sont beaucoup plus graves. Dans ce cas lorsque vous quittez l'ordinateur :



  • Déconnectez vous de votre session en cours
  • Allez dans les paramètres du navigateur et effacez les cookies, le cache, les mots de passe enregistré et les sessions d'identification.











<div class="wiki_paragraph1" id="conclusion">Conclusion</div>











Même si tout est étudié pour éviter toute faille de sécurité, PHPBoost est comme tout CMS non garanti à 100%.



Les seuls problèmes rencontrés par les utilisateurs ne proviennent pas d'une faille de PHPboost mais d'eux même. En effet les 2 cas de hack rencontrés étaient en fait la faute des webmasters qui avaient donné des droits d'administrations à des personnes mal-intentionnées.







==> même si PHPBoost est très bien sécurisé, c'est à vous webmasters d'être très stricts envers vous même pour respecter ces quelques règles ci dessus. Si vous les appliquez, vous pouvez dormir tranquillement et rassurés :)