Formation Logo Joomla Joomla!


Protéger son site Joomla!


Après avoir passé en revue les principales actions à mener pour sécuriser son site web Joomla, nous allons maintenant aborder la question de sa protection. En effet, il convient de mener de front la sécurisation avec la protection car ces deux postures sont inter-dépendantes l'une de l'autre.

Comme nous l'avons déjà vu, il n'existe pas de protection infaillible pour sécuriser un site web. Au mieux, vous pourrez retarder l'effraction un certain temps mais vous ne pourrez pas empêcher un hacker chevronné de passer. Le but ici est tout mettre en oeuvre pour "ne pas lui faciliter la tâche".

Pour ce faire, nous allons devoir mener certaines actions sur le site :

  • Modifier le fichier .htaccess : limiter l'accès au backend à une ou plusieurs adresses IP,
  • Créer un dossier alternatif : masquer l'accès au panneau d'administration ,
  • Ajouter des extensions tierces et les paramètrer : diverses solutions efficaces et éprouvées pour protéger votre site Joomla!


Si vous ne comprenez pas une ou plusieurs actions citées ci-dessus, ne l'appliquez surtout pas. Il est préférable de vous adresser à un professionnel.


Protection par .htaccess

Pour suivre cette étape, vous aurez besoin d'avoir ouvert votre éditeur de texte et votre client FTP. Par ailleurs, vous devez vous assurer que vous disposez d'abord d'une adresse IP fixe. Dans le cas contraire, lisez directement le paragraphe concernant l'ajout d'un mot de passe Apache.

Sur votre ordinateur, ouvrez votre bloc-notes et créez un nouveau fichier "protection.txt" (nommez-le comme vous le souhaitez). Dans ce document, indiquez simplement ces deux lignes de code :

deny from all
allow from 12.345.678.90 (indiquez ici votre adresse IP)

Si vous ne connaissez pas l'adresse IP de votre ordinateur, vous pouvez recourir à ce site http://www.adresseip.com/.

Explications :

  • deny from all : cette instruction interdit l'accès à tout le répertoire dans lequel est placé le fichier txt,
  • allow from : autorise l'accès au contenu du répertoire à l'adresse IP indiquée.

Si vous souhaitez ouvrir le backend de votre site depuis 2 ordinateurs ayant une adresse IP différente, il vous faut alors rajouter une deuxième ligne avec la seconde adresse IP sinon, vous serez bloqué.

Enregistrez votre fichier. Ouvrez ensuite votre client FTP puis transférez votre fichier dans le répertoire "administrator" présent à la racine de votre site Joomla.

Renommez-le en .htaccess.
Dorénavant, toute tentative d'accès au panneau d'administration depuis une autre adresse IP que celle(s) indiqué(es) dans votre fichier sera bloquée.


Ajouter un mot de passe Apache

Vous avez également la possibilité de protéger l'accès de n'importe quel dossier de votre site Joomla en instaurant un mot de passe côté serveur.
Pour cela, définissez la liste des personnes pouvant accéder à ce dossier en leur attribuant un identifiant unique et un mot de passe sécurisé. Pour vous aider, je vous conseille de recourir à http://aspirine.org qui est un excellent outil qui génére les mots de passe et les cryptera même pour vous.
Ouvrez votre éditeur de texte, coller le code généré ci-dessus et enregistrer votre fichier sous le nom de "htpasswd.txt.
Transférer ce fichier sur votre serveur avec votre client FTP dans le dossier que vous souhaitez protéger (ex /administrator). Renommez-le en .htpasswd.
Dorénavant, il sera nécessaire d'indiquer un des identifiants et son mot de apsse associé pour accéder à ce dossier.


Si vous souhaitez approfondir la protection d'un site web Joomla grace au fichier .htaccess, je vous invite à lire "htaccess examples (security) ".
Cette ressource est une excellente base pour sécuriser son site Joomla!. Les exemples de configuration permettent notamment de bloquer la plupart des attaques.
Attention, il convient de maîtriser un minimum la configuration d'Apache pour une utilisation à bon esciens.


Créer un dossier alternatif

L'idée ici est de masquer la présence du dossier "administrator" pour protéger votre panneau d'administration.

Ouvrez votre client FTP, puis à la racine de votre site Joomla, créez un nouveau dossier que vous nommez comme vous voulez (ex : "Dossier-alternatif").

Avec votre éditeur de texte, créez un fichier "index.php" sur votre ordinateur qui devra contenir le code suivant :


<?php
$admin_cookie_code="123456";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: ../administrator/index.php");
?>

Maintenant, transférer ce fichier dans le dossier que vous venez de créer (ex : "Dossier-alternatif").


Rapatriez sur votre ordinateur le fichier .htaccess présent à la racine de votre site. Ouvrez-le avec votre éditeur de texte et ajoutez-y l'instruction suivante :


RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=ABCDEFG
RewriteRule .* – [L,F]

remplacez ABCDEFG par la chaîne de caractère de votre choix


Enregistrez votre saisie et renvoyez le fichier sur votre serveur. Maintenant, pour accéder à votre panneau d'administration, vous devrez saisir cette nouvelle URL : http://www.mon-site-web.fr/Dossier-alternatif C'est le cookie qui vous autorisera l’accès au panneau d’administration de Joomla jusqu’à la prochaine fermeture de votre navigateur.


Quelques extensions

En matière de protection, les développeurs ne manquent pas d'imagination. Il est bien sur impossible de présenter ici tout ce qui se fait en la matière. Aussi je n'ai retenu que les extensions bénéficiant d'un suivi et d'un support de la part de leur développeurs et celles qui possèdent d'excellents avis de la part de la Communauté Joomla!.
Pour rappel, la sécurité et la protection d'un site ne sont pas simplement quelques extensions, mais c'est aussi et surtout un état d'esprit permanent.


Adminexile

Sans doute ce qu'il y a de plus simple à mettre en oeuvre pour protéger et masquer efficacement son panneau d'administration Joomla. Ce plug-in gratuit possède une configuration très intuitive et ne vous demandera que quelques minutes pour sa mise en oeuvre. Son seul défaut à mes yeux est de ne pas être "installable" directement depuis le backend de Joomla!.


Marco's SQL Injection

Là encore, un plug-in gratuit et très efficace qui bloquera les tentatives d'injection SQL sur votre site Joomla.


Akeeba Admin Tools

De l'avis de "très nombreux" utilisateurs à travers le monde, ce composant assure la protection la plus complète et la plus sûre qui soit pour Joomla!. Capable de bloquer les accès au panneau d'administration, les IPs tentant de réaliser des actions interdites et de prévenir les éventuelles attaques, Admin Tools génère également un fichier .htaccess particulièrement complet en terme de sécurité. Sa prise en main est relativement intuitive, vu la compléxité de l'outil.
Le support est payant (normal) et la version Pro coute 48 € ce qui est très raisonnable au vu des fonctionnalités apportées et des services rendus.
Documentation du composant Akeeba AdminTools (EN).


Quizz

Dans le prochain article, nous allons apprendre à sauvegarder votre site Joomla!. Mais avant cela, je vous invite à répondre à une question portant sur l'article que vous venez de lire.


Pour protéger votre panneau d'administration, vous pouvez :





Please answer the question.


Et ensuite...

 

web-eau.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is
used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.