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

Protéger son site pour ne pas se faire hacker
Message posté sur Facebook le 08/11/2021

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

Pour cela, nous allons mener certaines actions techniques sur notre site :

  • Modifier le fichier .htaccess afin de restreindre l'accès au backend à quelques adresses IP identifiées,
  • Masquer le panneau d'administration grâce à une solution alternative,
  • et ajouter des extensions tierces et les paramétrer : diverses solutions efficaces et éprouvées pour protéger votre site Joomla

Attention

Si un conseil en matière de sécurité n'est pas clair pour vous, ne l'appliquez pas. Il est préférable de ne mettre en pratique uniquement ce que vous comprenez et ce que vous maîtrisez. Pour tout le reste, contactez un.e professionnel.le !

Protéger son site par .htaccess

Pour suivre cette étape, vous aurez besoin de votre éditeur de texte et de votre client FTP.

Par ailleurs, vous devez vous assurer que vous disposez d'une adresse IP fixe. Dans le cas contraire, passez directement au paragraphe concernant l'ajout d'un mot de passe Apache.

Pour connaitre votre adresse IP, vous pouvez utiliser ce site : adresseip.com.

  • 1. Sur votre ordinateur, ouvrez votre bloc-notes et créez un nouveau fichier que vous nommerez protection.txt par exemple. Dans ce document, indiquez simplement ces deux lignes de code :
    deny from all
    allow from xxx.xxx.xxx.xxx (notez ici votre adresse IP) 
    

    Explications :

    • deny from all : cette instruction interdit l'accès à tout le répertoire dans lequel est placé le fichier,
    • allow from : autorise l'accès au contenu du répertoire seulement à l'adresse IP indiquée.
  • 2. Enregistrez votre fichier.
  • 3. Ouvrez ensuite votre client FTP puis transférez votre fichier protection.txt dans le répertoire administrator présent à la racine de votre site Joomla.
  • 4. Renommez votre fichier protection.txt 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 sécurisé côté serveur cette fois-ci.

  • 1. Listez toutes les personnes ayant l'autorisation d'accéder au dossier à protéger. Par exemple: Martha, Theo, Carmina et Théo.
  • 3. Dans la partie Utilisateurs et mots de passe, indiquez vos utilisateurs. Pour le nombre de caractères, sélectionnez au minimum 12 puis cliquez sur le bouton Générer les mots de passe.
  • 4. Copiez/collez le résultat généré par l'outil dans un fichier de type bloc-notes. Il faudra communiquer ces mots de passe à chaque personne concernée pour qu'elles puissent s'identifier.
  • 5. Dans la partie Fichier htpasswd généré, cliquez sur le bouton Générer le contenu du fichier htpasswd puis copiez le résultat généré par l'outil.
  • 6. Créez un nouveau fichier de type bloc-notes, collez le contenu copié précédemment et enregistrez votre fichier sous le nom de htpasswd.txt.
  • 7. Transférez 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 couples identifiant / mot de passe pour accéder à ce dossier.

Si vous souhaitez approfondir la protection d'un site web Joomla grâce 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'un serveur 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 d'une intrusion malveillante.

  • 1. 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").
  • 2. 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");
    ?>
    
  • 3. Maintenant, transférer ce fichier dans le dossier que vous venez de créer (ex : "dossier-alternatif").
  • 4. Rapatriez sur votre ordinateur le fichier .htaccess présent à la racine de votre site Joomla.
  • 5. Ouvrez ce fichier 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]
    
  • 6. Remplacez ABCDEFG par la chaîne de caractère de votre choix.
  • 7. Enregistrez votre saisie et renvoyez ce fichier sur votre serveur, à la racine de votre site Joomla. 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 pour protéger son site Joomla

En matière de protection, les développeurs d'extensions Joomla ne manquent pas d'imagination. Il est 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 des membres 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.

Securitycheck Pro

Sans doute ce qu'il y a de plus complet pour protéger son installation Joomla. Ce package possède un très grand nombre de fonctionnalités (firewall, vérificateur de vulnérabilités, protection par .htaccess, etc) qui lui valent le titre de couteau Suisse de la protection. A partir de $39 / an.

Brute Force Stop

Là encore, un package (composant + plugin) gratuit et très efficace qui bloquera les tentatives d'intrusion par force brute 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, malgré la compléxité de l'outil.
Le support est payant (normal) et la version Pro coute 50 € ce qui est très raisonnable au vu des fonctionnalités comprises et des services rendus.
Documentation du composant Akeeba AdminTools (EN).

Votre progression :

72,97%

web-eau.net

29800 Landerneau

06 74 50 27 99

daniel@web-eau.net