Zen Cart France arrow FAQs arrow Comment sécuriser ma boutique au mieux? 19-11-2017
Comment sécuriser ma boutique au mieux? Version imprimable Suggérer par mail
Écrit par Zen Cart France   

Les étapes à suivre pour sécuriser au mieux votre boutique Zen Cart™ :

 

0. Protection par SSL


Tout d'abord, la première des sécurités pour votre boutique est... votre sécurité, ou plutôt la sécurité de votre PC. Avant de faire des modifications sur votre boutique pour sécuriser Zen Cart et sa base de données, assurez-vous que votre PC est bien sécurisé.
Dans le cas contraire, si quelqu'un espionne les informations que vous transmettez, il n'aura aucun mal à s'introduire sur votre boutique.

Le minimum est donc de dialoguer avec votre boutique en SSL.
Le mieux serait d'avoir un certificat SSL dédié pour votre boutique, qui fait plus professionnel en apparence qu'un certificat partagé. L'obtention d'un certificat dédié et d'une adresse IP dédiée pour votre hébergement est payante.

Il serait également prudent (si votre hébergeur permet le FTPS : ftp sécurisé) d'utiliser un programme qui permet le FTP avec SSL/TLS au lieu du FTP traditionnel non sécurisé. Cela cryptera les informations que vous envoyez et recevez par FTP.

1. Supprimer le répertoire /zc_install


Lorsque l'installation est terminée, supprimez le répertoire /zc_install de votre serveur. Ne renommez pas simplement ce répertoire, car si quelqu'un découvre le nouveau nom ce serait un gros danger (votre base de données peut être effacée, etc.).

2. Renommer le répertoire /admin


Après l'installation, il est recommandé de renommer votre répertoire admin pour plus de sécurité. De cette façon, il sera plus difficile pour les hackers potentiels de trouver comment il s'appelle, puis d'essayer de trouver ou exploiter une faille dans l'administration de la boutique.


(Avant de faire ce changement, sauvegardez vos fichiers et votre base de données !)


A - Ouvrez votre fichier admin/includes/configure.php, en utilisant un simple éditeur de texte du style notepad. Changez toutes les occurences de admin et remplacez les par votre nouveau nom de répertoire. Pour une sécurité maximum, nommez votre nouveau dossier avec des chiffres et lettres pour qu'il ne soit pas trouvable facilement. Le nom le plus long sera également le plus sûr. Assurez-vous d'avoir laissé tous les / intacts dans le fichier.


Changez cette partie:

 define('DIR_WS_ADMIN', '/admin/');
 define('DIR_WS_CATALOG', '/');
 define('DIR_WS_HTTPS_ADMIN', '/admin/');
 define('DIR_WS_HTTPS_CATALOG', '/');


Et cette partie:

 define('DIR_FS_ADMIN', '/home/mystore.com/www/public/admin/');
 define('DIR_FS_CATALOG', '/home/mystore.com/www/public/');


De façon à avoir quelque chose qui ressemble à :

 define('DIR_WS_ADMIN', '/monadminsecret/');
 define('DIR_WS_CATALOG', '/');
 define('DIR_WS_HTTPS_ADMIN', '/monadminsecret/');
 define('DIR_WS_HTTPS_CATALOG', '/');


Et:

 define('DIR_FS_ADMIN', '/home/mystore.com/www/public/monadminsecret/');
 define('DIR_FS_CATALOG', '/home/mystore.com/www/public/');



B - Avec un logiciel FTP ou gestionnaire de fichiers, trouvez votre répertoire Zen Cart™ /admin/. Renommez ce répertoire pour le changer en correspondance avec le nouveau que vous avez choisi précédemment en A.


C - Pour accéder à votre espace d'administration, il vous faudra maintenant taper la nouvelle adresse avec le nouveau nom que vous avez choisi. Par exemple, au lieu d'aller à l'adresse http://www.example.com/admin/, vous irez maintenant sur http://www.example.com/NouVeau_NomE4u/. L'utilisation du SSL est recommandée pour vous protéger ainsi que vos clients. Pour vous protéger des sniffeurs de paquets, utilisez https dans le lien d'exemple précédent (si vous avez un certificat SSL installé sur votre serveur bien entendu).

3. Mettez configure.php en lecture seule


Il est important de faire un CHMOD (changer les permissions) sur les deux fichiers configure.php pour les mettre en lecture seule. Cela signifie en général, leur mettre un chmod 644, ou 444 dans certains cas.


Si vous ne pouvez pas le faire par FTP, essayez en utilisant le gestionnaire de fichiers fourni par votre hébergeur.


Si vous utilisez un serveur Windows, mettez juste les fichiers en lecture seule pour tout le monde et surtout pour l'utilisateur IUSR_xxxxx (Le compte invité Internet) si vous utilisez IIS, le compte system et apache si vous utilisez Apache.

4. Supprimer les comptes utilisateurs non utilisés


Admin > Outils > Paramètres Admin

Dans votre espace d'administration, ouvrez le menu Outils, et choisissez paramètres Admin. Si vous avez plusieurs comptes utilisateurs, vérifiez ceux qui sont utilisés réellement ou non, et supprimez les. Et particulièrement le compte Demo, s'il existe.

5. Sécurité du mot de passe Admin


Utilisez des mots de passe assez complexes pour ne pas qu'un hacker puisse les deviner.


Vous pouvez changer votre mot de passe Admin dans > Outils > Paramètres Admin, et cliquez sur le bouton Reset Password (Reset pwd), ou cliquez sur l'icone en forme de corbeille.

De préférence, choisissez des mots de passe qui contiennent plus de 8 caractères, et alpha-numériques.

Si vous préférez quand même utiliser des mots normaux, pourquoi ne pas joindre deux mots qui n'ont rien à voir au minimum ?

 

6. Protégez vos contenus de pages à définir dans les "html_includes"


Lorsque vous avez fini d'éditer vos pages de définitions (Admin > Outils > Editer les pages à définir), protégez les en :


A. Téléchargeant une copie de ces fichiers sur votre PC en utilisant un logiciel FTP. Vous pouvez les trouver dans le répertoire /includes/languages/english/html_includes.


B. Changez leurs permissions en CHMOD 644 (ou “lecture seule” pour les hébergements Windows). Voir les notes ci-dessous sur le CHMOD. /includes/languages/english/html_includes – et tous les fichiers et sous-répertoires contenus dedans


Si vous les mettez en lecture seule, alors un hacker ne pourra pas les éditer et injecter du code pour accéder à votre système, à moins qu'il ait la possibilité de changer cette permission lecture seule bien sûr, ce qui est plus compliqué.


Note: pour pouvoir les réediter par la suite dans l'éditeur de pages à définir, il faudra bien entendu remettre la permission en écriture auparavant.

7. Utilisez un fichier .htaccess pour protéger vos fichiers


Dans plusieurs répertoires, il y a des fichiers .htaccess pour empêcher les utilisateurs de parcourir vos répertoires de votre site s'ils ne connaissent pas les noms des fichiers qui se trouvent dedans. D'autres empêchent l'accès à certains scripts PHP, pour que ces fichiers PHP puissent être utilisés par d'autres fichiers PHP qui les appellent, mais pas par le navigateur web directement. C'est mieux pour la sécurité. Si vous supprimez ces fichiers, vous prenez donc un risque.

Il y a aussi des fichiers index.html vides dans plusieurs répertoires. Ces fichiers sont là pour vous protéger dans le cas où vous logiciel FTP n'upload pas bien les fichiers .htaccess, ou si votre serveur ne les prend pas en charge. Ces fichiers empêchent simplement de parcourir vos répertoires, mais n'empêchent pas l'exécution de script PHP à l'intérieur. C'est une bonne alternative, cependant l'utilisation de fichiers .htaccess est un meilleur choix, pour les serveurs qui les gèrent.


Le contenu des fichiers .htaccess peuvent être les suivants (mais ça dépend de votre configuration serveur):

 #.htaccess pour empêcher le parcours de votre répertoire et l'accès à vos fichiers .php
  IndexIgnore */*
  <Files *.php>
   Order Deny,Allow
   Deny from all
  </Files>

 #ajoutez les lignes suivants pour empêcher les gens de voir votre version du fichier spiders.txt
  <Files *.txt>
   Order Deny,Allow
   Deny from all
  </Files>


Si la configuration de votre hébergement ne vous permet pas de créer/utiliser vos propres fichiers .htaccess, parfois c'est faisable via une option dans l'interface d'administration de votre hébergement.

Voyez avec l'hébergeur de votre site en cas de problème.

 

8. Désactiver la fonction "Autoriser les invités à informer un ami"


Vous pouvez aller dans le menu Admin > Configuration > Options E-mail > Autoriser les invités à informer un ami, et mettre cette option sur false. Cela empêchera les utilisateurs non identifiés de votre boutique d'envoyer des emails indésirables à partir de votre serveur.

 

 

9. Protéger vos répertoires "images" et autres


Pendant l'installation initiale, on vous demande de mettre des permissions en lecture et écriture sur les répertoires images, pour que l'interface Admin puisse y mettre les images de produits et catégories automatiquement. Il en est ainsi pour d'autres répertoires également.


Toutefois, il est potentiellement dangereux de laisser certains répertoires en lecture / écriture, car des hackers pourraient y accéder, et pour eux ce pourrait être un point de départ intéressant pour exploiter d'autres failles.

C'est pourquoi, lorsque votre boutique est installé et opérationnelle, vous devriez retirer certaines permissions. ex: changer de CHMOD 777 vers 644 pour les fichiers et 755 pour les répertoires.


Paramètres de permissions Fichiers/répertoires

Sur les systèmes Linux/Unix, en général, les permissions recommandées pour une sécurité basique sont:

    * dossiers/répertoires: 755
    * fichiers: 644


Sur Windows, mettre les fichiers en lecture seule est généralement suffisant. Révérifiez quand même que le compte Internet invité a un accès limité (lecture seule).


Folder Purposes

Le répertoires qui nécessitent des droits d'accès à l'installation sont les suivants. Si vous pouvez utiliser la proctection .htaccess, alors vous devriez la mettre en place sur ces répertoires.

    * /cache
      Il permet de mettre en cache les sessions et informations de la base de données. La meilleure sécurité pour ce répertoire est de le déplacer dans un dossier hors de la racine web, pour qu'il ne soit pas accessible par un navigateur internet. (Nécessite de changer le paramètre DIR_FS_SQL_CACHE dans le fichier configure.php ainsi que la configuration dans Admin > Configuration > Sessions > Répertoire des Sessions.
    * /images
      Voir les recommandations données plus haut.
    * /includes/languages/english/html_includes
      Voir les recommandations données plus haut.
    * /media
      C'est le seul répertoire sur lequel vous pouvez laisser un maximum de droits, pour pouvoir y uploader des medias/musiques via votre espace d'administration. Sauf si vous utilisez le FTP comme alternative.
    * /pub
      Cela sert sur les systèmes Linux/Unix qui ont des produits à mettre en téléchargement pour les clients de façon sécurisée (pour que les gens ne puissent pas partager et voler les liens de téléchargement)
    * /admin/backups
      Répertoire utilisé pour les sauvegarde de base de données automatiques. C'est optionnel.
    * /admin/images/graphs
      Utilise par le Admin > Outils > Gestionnaire de bannières pour mettre à jour/afficher des graphiques relatifs à l'utilisation des bannières. SSans le droit en écriture sur le répertoire, la fonctionnalité sera ignorée.

10. Supprimer la fonction d'affichage de l'URL de votre navigateur


Pour empêcher votre navigateur d'afficher les adresses URLS sur les factures ou tout autre document de la boutique, suivez ces étapes:.

    * Pour Microsoft Internet Explorer
          o Cliquez sur Fichier puis Mise en page
          o Dans la mise en page, supprimez la combinaison de caractères "&u" de la boite d'en-tête ou pied de page.

    * Pour Firefox
          o Cliquez sur Fichier puis Mise en page
          o Sur les onglets "Marges & En-tête/pied de page", enlevez toutes les références à "Titre" et "URL".

 

11. Choses à vérifier régulièrement


   1. Soyez certain(e) d'avoir suivi toutes les étapes de cet article
   2. Sauvegardez régulièrement vos fichiers et votre base de données
   3. Vérifiez votre log d'erreurs du serveur web régulièrement pour repérer les activités suspectes
          * recherchez tous les liens qui vont sur une page autre que votre site
          * recherchez les liens qui contiennent "http" après le index.php
   4. Vérifiez vos fichiers de temps en temps pour être sûr que rien n'a été modifié ou ajouté
   5. Demandez à votre hébergeur ce qu'ils ont comme sécurités contre les attaques, etc.
  6. Si vos ventes décollent bien, ou si vous voulez une sécurité supplémentaire (surtout si vous avez d'autres scripts que Zen Cart sur votre site, forum, etc.), prenez un consultant en sécurité pour vérifier votre site régulièrement, et vous dormirez tranquille pour quelques euros ;-)

 

Dernière mise à jour : ( 29-02-2008 )
 
Suivant >
[ Retour ]