La sécurité sous Joomla, en parle-t'on suffisamment ? C'est en tout cas ce que l'on s'efforce de faire sur aide-joomla !

L'objectif de ce tutoriel est de centraliser et d'expliciter les méthodes disponibles dans ce combat sans fin contre la bêtise et les pirates !

Destiné d'abord aux débutants, les plus expérimentés pourront toujours y trouver les bonnes références.

Avant toute chose il est bon de rappeler deux règles fondamentales pour garder l'esprit tranquille avec son site Joomla :

- Toujours maintenir Joomla et les extensions installées à jour
- Faire des sauvegardes régulières de la base de données et des fichiers.

Ce tutoriel évolura au cours des prochaines semaines, et voir inclure vos contributions

 
Vos contributions peuvent être soumises dans cette section du forum.

 

Sécurité et sauvegarde, ou comment calmer la paranoïa du webmaster sous Joomla

{xtypo_sticky}SOMMAIRE{/xtypo_sticky} 

I- LA SAUVEGARDE
A- Sauvegarder : où-quand-comment-pourquoi ??
B- Les méthodes
1/ La sauvegarde complète avec JoomlaPack
2/ La sauvegarde des fichiers
           - La sauvegarde fichier par fichier par FTP
           - La sauvegarde rapide par SSH
3/ La sauvegarde de la base de données
        - La sauvegarde avec phpMyAdmin
        - La sauvegarde quotidienne avec Jombackup
        - La gestion complète des sauvegardes avec eBackup
 
(suite en cours de rédaction)

II- LA SECURITE

  • Sécuriser son site : où-quand-comment-pourquoi ?
  • Maintenir Joomla et ses extensions à jour
  •     Patcher Joomla
  •     S'inscrire à mailings de sécurité
  •     Nettoyer les extensions obsolètes et nettoyer sa base de données
  • Vérifier son installation Joomla
  • Bien configurer le serveur apache
  •     register_globals
  •     php5
  • Interdire l'accès des fichiers Joomla à des scripts malicieux (.htaccess, index.php)


{mospagebreak title=La sauvegarde&heading=Sommaire}

I- LA SAUVEGARDE


A- Sauvegarder : où-quand-comment-pourquoi ?


La toute première règle de sécurité est la sauvegarde. C'est la plus sûre méthode de se prémunir des pertes de données.

Il n'y a pas de "bonne" méthode : il en existe une multitude. Certaines sont plus simples que d'autres à réaliser mais ne sont pas toujours possibles à mettre en place et ne conviennent pas forcément aussi bien à tout le monde.

L'objectif de ce tutoriel est de mieux cerner les avantages et inconvénients des méthodes pour vous guider dans votre choix.

Pour fonctionner sur un serveur (php + mysql), Joomla a besoin de deux choses : les fichiers et la base de données. La [bonne] sauvegarde de ces deux éléments fondamentaux vous assurera la possibilité de restaurer l'intégralité de votre site Joomla.

  Pourquoi sauvegarder les fichiers, la base de données ?



Les fichiers

Les fichiers contiennent les programmes nécessaires à faire fonctionner Joomla et ses extensions. Ils ne sont a priori pas modifiés sauf dans les cas suivants :

  •     Le fichier de configuration de Joomla : /configuration.php
  •     Certains fichiers de configuration de certaines extensions (ex. Community builder, Fireboard...)
  •     Le dossier /images/stories et ses sous-dossiers qui sauf modification de votre part contiennent les fichiers chargés via le "Gestionnaire de Médias" (Media Manager) de Joomla soit en général les images utilisées dans vos articles et les fichiers utilisés par les extensions, si les programmeurs ont bien pensé leurs programmes !
  •     Tous les fichiers et dossiers créés ailleurs par des extensions, c'est-à-dire n'importe où comme dans le dossier /dmdocuments pour les fichiers chargés par Docman par exemple.

Bref, un gros bazar qui une fois fait ne donne pas envie d'être refait (c'est d'ailleurs souvent impossible) !

La base de données

Quasiment toutes les données qui sont créées / modifiées lorsque quelqu'un navigue sur le site sont stockées dans la base de données.

Ex : les statistiques de votre site si vous les avez activé dans la configuration de Joomla, les données des membres, les articles Joomla, les messages d'un forum, etc.

La question de la sauvegarde de la base de données ne se pose pas.

J'ai compris, d'accord : sauvegarder c'est indispensable pour ma équilibre mental, ce tutoriel ne fait que le répéter à chaque ligne depuis le début. 

...mais à quelle fréquence dois-je le faire ? your text here



La fréquence de sauvegarde dépend de la fréquence des modifications que vous faites sur le site :

  • Etes-vous le seul à effectuer des modifications sur votre site ?

tooltip.png   vous n'avez alors peut-être pas besoin de système de sauvegarde automatique, vous pouvez le faire manuellement après chaque grosse modification

  • Avez-vous beaucoup de visiteurs/membres qui peuvent poster des messages, des articles (qui sont alors stockés dans la base de données) ?

tooltip.png    vous avez alors sûrement besoin de faire une sauvegarde régulière de la base de données

  • Avez-vous beaucoup de visiteurs/membres qui peuvent charger des images des fichiers par l'intermédaire d'un forum ou d'une galerie d'image par exemple ?

tooltip.png    vous avez alors sûrement besoin de sauvegarder les fichiers régulièrement

Où stocker mes fichiers de sauvegarde ?


Evidemment, il vaut mieux ne pas se contenter de laisser les fichiers sur votre serveur, avec vos autres fichiers de votre site !
L'idéal est de laisser trois copies différentes de vos fichiers. Par exemple, une copie sur votre serveur (si vous avez suffisamment d'espace d'hébergement) plus une copie sur votre disque dur, plus une copie sur un média externe

Quelles sont les méthodes à ma disposition ?



Voir chapitre suivant.

{mospagebreak title=Méthodes de sauvegarde}

1/ La sauvegarde complète avec JoomlaPack

JoomlaPack est un composant qui permet de sauvegarder entièrement son site (fichiers + base de données) sous forme d'une seule archive.
En bonus, il intègre à cette archive un installeur qui permettra de restaurer son site facilement sur n'importe quel serveur.

Avantages :

  • Configuration : facile
  • Sauvegarde "en 3 clics" : oui
  • Compression : oui
  • Migration facile : oui
  • Rapidité : rapide à très rapide (dépend toutefois du serveur)
  • Fiabilité : OK (les données sont compressées directement sur le serveur) 

Inconvénients :

  • Fonctionne chez tous les hébergeurs : non (dépend des paramètres du serveur)
  • Restauration "en trois clics" : non
  • Planification de sauvegardes : non
  • Ne fonctionne pas si vous n'avez plus accès à l'administration de votre site Joomla !

Tutoriel d'utilisation de JoomlaPack

2/ La sauvegarde des fichiers

                Par transfert FTP

Grande classique, la sauvegarde des fichiers par FTP est très souvent laborieuse et incertaine. Le principe est de se procurer un client FTP comme FileZilla qui permet de faire des opération sur les fichiers situés sur un serveur à la manière de l'explorateur Windows, par exemple.

Avantages :

  • Configuration : facile à moyen (très facile si l'hébergeur vous a fourni les codes lors de votre inscription)
  • Fonctionne chez tous les hébergeurs : oui (ou presque)
  • Sauvegarde "en trois clics" : oui
  • Restauration "en trois clics" : oui
  • Possibilité de modifier les droits des fichiers : oui

Inconvénients :

  • Rapidité : lent à très lent (pour peu que le serveur ne gère pas les traitements FTP multitâches).
  • Fiabilité : attention aux déconnexions intempestives
  • Compression : non

Tutoriel d'utilisation de transfert FTP (bientôt) 

       Par transfert SSH

Le Secure SHell permet une connection sécuritsée au serveur d'hébergement. Il est rarement supporté car très puissant : il permet de faire à peu près n'importe quoi sur son serveur.

Avantages :

  • Fonctionne chez tous les hébergeurs : non !
  • Sauvegarde "en trois commandes" : oui
  • Restauration "en trois commandes" : oui
  • Compression : oui
  • Rapidité : excellent
  • Fiabilité : excellent
  • Possibilités de manipulation avancées sur fichiers : oui
  • Pas besoin d'installer de logiciel supplémentaire si vous utilisez Linux ou tout système Unix.

Inconvénients :

Utilisation en ligne de commande : il faut aimer la ligne de commande...

Plus d'infos sur le SSH
Tutoriel d'utilisation de Putty

ATTENTION : Accéder à son serveur par SSH est une méthode de gestion des fichiers très puissante et donc potentiellement très dangereuse. Fortement déconseillé aux débutants.



2/ La sauvegarde de la base de données

     Avec phpMyAdmin

La plupart des hébergeurs qui proposent une base de données mysql (utilisé par Joomla) fournissent le logiciel en ligne phpMyAdmin. C'est une interface directe à la base de données qui permet de visualiser et de modifier sa structure et ses entrées.

Beaucoup d'outils intégrés vous permettront suivant les restrictions appliquées par votre hébergeur de créer/supprimer des bases de données, ajouter/modifier des entrées, exécuter des requêtes SQL, importer d'autres bases de données sous forme de fichier texte ou excel etc.

Votre hébergeur vous a certainement fourni le lien d'accès à phpMyAdmin lors de votre inscription. Si ce n'est pas le cas, relisez les mails que votre hébergeur vous a envoyé et/ou fouillez dans l'interface d'administration de votre hébergeur et/ou contactez le support client. Au pire, vous pouvez toujours installer phpmyadmin vous-même mais alors bon courage pour la configuration.

ATTENTION : phpMyAdmin est un outil très puissant et donc potentiellement très dangereux. Nous ne saurions conseiller aux novices que la plus grande prudence : suivez très attentivement les consignes du tutoriel.



Avantages :

  • Fonctionne chez tous les hébergeurs : oui (ou presque)
  • Fiabilité : excellente
  • Fonctionne même si vous n'avez plus accès à votre site Joomla !
  • Permet de restaurer des sauvegardes faites avec d'autres composants
  • Rapidité : OK
  • Compression : oui
  • Accès avancé à la base de données : oui

Inconvénients :

  • Sauvegarde "en trois clics" : non
  • Restauration "en trois clics" : non
  • Configuration : intermédiaire / avancé (débutants bien suivre le tutoriel et tout ira bien)
  • Pas de prise en charge des très grosses bases de données
  • Pas de planification de sauvegarde possible


Tutoriel de sauvegarde de la base de données avec phpMyAdmin (bientôt)

           Avec ebackup

Ebackup est une extension de gestion de sauvegarde de base de données pour le moins complète ! Qualifiée peut-être à juste titre d'usine à gaz par certains elle satisfera les utilisateurs les plus exigeants qui souhaitent avoir un système de gestion de backup intégré à leur administration Joomla.

Avantages :

  • Sauvegarde "en trois clics" : oui
  • Restauration "en trois clics" : oui
  • Rapidité : OK
  • Compression : oui
  • Planification de sauvegardes : oui (dépend de l'hébergeur)
  • Fiabilité des sauvegardes : OK

Inconvénients :

  • Fonctionne chez tous les hébergeurs : non
  • Configuration : intermédiaire / avancé
  • Ne fonctionne pas si vous n'avez plus accès à l'administration Joomla
  • Sécurité : ?? - composant en beta depuis très longtemps...
  • Prise en charge des très grosses bases de données : ??


Télécharger ebackup sur le site officiel

Tutoriel d'utilisation d'ebackup (bientôt)

          Avec Jombackup

Effectue simplement une sauvegarde quotidienne de votre base vers l'adresse email de votre choix.

Avantages :

  • Fonctionne chez tous les hébergeurs : on espère
  • Sauvegarde "en 0 clics" (!) : oui
  • Configuration : facile
  • Rapidité : excellent
  • Compression : oui
  • Planification de sauvegardes : oui
  • Fiabilité des sauvegardes : OK

Inconvénients :

  • Restauration "en trois clics" : non - il faudra utiliser phpMyAdmin par exemple


Télécharger Jombackup sur le site officiel


{mospagebreak title=Sécuriser son site Joomla}


(en cours de rédaction)






 

A propos de l'auteur
Florent Nouvellon
Nom: Florent Nouvellon
Derniers articles de l'auteur