Joomla est apparu sur la scène en 2005 comme un composant du système de gestion de contenu (CMS) Mambo. Téléchargé plus de 91 millions de fois, il a depuis éclipsé Mambo pour devenir une plateforme utilisée pour réaliser des sites de toutes tailles.
Selon le dernier rapport Hacked Website de Sucuri, qui a utilisé des informations provenant de plus de 36 000 sites compromis, Joomla est le deuxième CMS le plus fréquemment infecté, entre WordPress et Magento. Les sites Joomla constituent une cible attrayante pour les pirates informatiques, souvent en raison de mauvaises configurations de sécurité, d'extensions tierces vulnérables et de serveurs exécutant des logiciels de base obsolètes.
Un site Joomla compromis pourrait mettre vos utilisateurs en danger et entacher sa réputation. Jetons ensemble un œil sur huit points pouvant vous aider à renforcer vos sites Joomla contre les activités malveillantes.
Huit bonnes pratiques de sécurité pour Joomla
1. Maintenez votre noyau Joomla à jour
Tout d'abord, vous devez vérifier que votre instance exécute la dernière version stable de Joomla. Les versions officielles apportent de nouvelles fonctionnalités et des corrections de bugs fonctionnels, mais surtout des correctifs pour les failles de sécurité. Une notification apparaîtra dans le back-end du Panneau de configuration si une mise à jour est disponible en téléchargement.
Les packs de mise à niveau sont également accessibles sur le site de téléchargement de Joomla. Faites systématiquement une sauvegarde de votre site avant toute mise à jour, et familiarisez-vous avec les instructions si vous gérez le processus manuellement.
2. Maintenez les extensions à jour
Vous avez mis à jour le cœur de votre site Joomla, mais avez-vous vérifié vos extensions tierces ? Les plugins vulnérables sont un vecteur d'attaque largement utilisé.
Les plugins mis à disposition sur le répertoire d’extensions officiel sont désormais tenus d'utiliser le système de mise à jour intégré à Joomla afin de faire apparaitre une notification dans le Panneau de configuration si une nouvelle version est disponible. Les développeurs externes doivent ainsi écrire des extensions en prenant en compte le système de mise à jour de Joomla. Cela permet de s’assurer que les derniers correctifs seront toujours extraits d'un serveur de mise à jour prédéfini.
3. Supprimez les extensions non utilisées et vulnérables
Plus le code tiers est important, plus la surface d'attaque est grande. Vérifiez fréquemment les plugins installés sur votre site en visitant le Gestionnaire des extensions dans le Panneau de configuration et enlevez ceux qui ne sont pas utilisés.
Vous devriez également prendre le temps d'examiner la liste officielle des extensions vulnérables (VEL). La VEL décrit les extensions Joomla contenant des failles de sécurité connues pour lesquelles les correctifs n'existent pas encore.
Il est impératif de supprimer toutes les extensions vulnérables de votre site. Joomla fournit également un flux JSON de la VEL pour une utilisation dans vos applications internes.
4. Auditez les utilisateurs privilégiés
Par défaut, Joomla permet à trois groupes d'utilisateurs privilégiés d'accéder aux différentes zones du Panneau de configuration :
- Les gestionnaires - accèdent aux fonctionnalités de création de contenu et aux informations système dans le backend
- Les administrateurs - accèdent à la plupart des fonctions d'administration mais pas aux options globales
- Les super-utilisateurs - accèdent à toutes les fonctions d'administration avec un contrôle complet
Vérifiez régulièrement la liste des utilisateurs privilégiés de votre site ainsi que la date de leur dernière connexion. Suivez le principe du moindre privilège en vous assurant que chaque utilisateur possède uniquement les autorisations suffisantes pour la réalisation de ses travaux et rien de plus.
5. Empêchez l'indexation de répertoire
Lorsqu'un serveur Web ne peut pas localiser un fichier par défaut dans un répertoire tel que
index.php
ou
index.html
il se peut qu’il affiche la liste du contenu du dossier. Comme expliqué par MITRE, les risques spécifiques et les conséquences de l'indexation des répertoires varient selon les fichiers répertoriés.
Avec les sites Joomla, vous pouvez divulguer par inadvertance des informations concernant des extensions, des thèmes ou le serveur lui-même. Les fichiers exposés peuvent contenir des informations d'identification ou des fonctionnalités de débogage qu'un attaquant pourrait utiliser pour augmenter ses privilèges sur votre site et causer de graves dommages.
Pour désactiver l'indexation de répertoire sur Apache, accédez la racine de votre site Web Joomla et ajoutez
Options –Indexes
dans le fichier
.htaccess
Sur les serveurs IIS, consultez la section « Navigation par répertoire » dans la console du gestionnaire et décochez les cases activées.
6. Activez l'authentification à deux facteurs
Joomla a été le premier CMS majeur à implémenter l’authentification à deux facteurs (2FA) en tant que fonctionnalité native. Depuis la version 3.2, les administrateurs Joomla peuvent se rendre dans le Gestionnaire des utilisateurs, dans le Panneau de configuration, afin d’activer l’authentification à deux facteurs pour les comptes des utilisateurs.
Le module prend en charge les clients logiciels OTP (tels que Google Authenticator) et les périphériques matériels YubiKey. Vous pouvez limiter l’authentification à deux facteurs au frontend ou au backend, ou vous pouvez exiger son utilisation sur les deux interfaces.
L'authentification à deux facteurs est une excellente mesure de défense dont vous devriez profiter, en particulier pour les utilisateurs privilégiés que sont les gestionnaires, les administrateurs ou les super-utilisateurs.
7. Vérifiez que votre site ne contient pas de contenu malveillant
La technologie de navigation sécurisée de Google examine de manière proactive des milliards d'URL chaque jour afin d'identifier les sites Web dangereux qui diffusent du contenu malveillant.
Vérifiez régulièrement l'état de votre site Joomla et prenez des mesures immédiates si des problèmes sont détectés. Lorsque vous analysez un site Web potentiellement compromis, utilisez le scanner d'URL VirusTotal pour affiner la détection d'infection.
8. Abonnez-vous aux annonces de sécurité officielles de Joomla
Joomla publie des avis de vulnérabilité sur la page Annonces de sécurité. Abonnez-vous aux notifications par e-mail via FeedBurner ou ajoutez le flux RSS à votre lecteur préféré pour rester à jour concernant les problèmes résolus dans le logiciel de base.
Chaque avis contient une description simple, une note d'impact et des détails sur le correctif pour vous aider à protéger votre site Joomla.