Sécuriser son site Joomla
Tout site Web qui est affiché sur Internet peut être visité, et pas uniquement par des personnes bienveillantes ou les robots des moteurs de recherche. Parce qu'une mauvaise rencontre n'arrive pas qu'aux autres, nous allons aborder ce chapitre sur la sécurité en voyant comment sécuriser son site Joomla.
Inutile de se mentir, il n'existe pas de protection infaillible pour sécuriser son site Web. Tout au plus, vous pourrez retarder l'intrusion plus ou moins longtemps mais vous ne pourrez pas empêcher un hacker chevronné de passer. Sans verser dans la paranoïa sécuritaire, sachez quand même que quelques mesures simples peuvent vous permettre de mieux dormir.
En matière de sécurité Web, il existe 3 grandes typologies :
- Le nihiliste : il vit au pays des lapins roses, pense que tout-le-monde-il-est-gentil et n'a pas sécurisé son site web,
- L'étourdi : il a sécurisé l'accès au panneau d'administration et a... totalement oublié tout le reste,
- Le prudent : il a lu et appliqué tous les conseils qui suivent ;)
Parlant de sécurité Web, retenez qu'il s'agit avant tout d'une posture, d'un travail régulier et qu'il faut être constant sur le long terme pour être le plus efficace possible.
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 !
Sécuriser son site, mode d'emploi
Nous allons voir maintenant 10 points importants en matière de sécurité Web. Tous ces conseils n'ont de sens que s'ils sont appliqués ensembles.
1. Utilisez de bons mots de passe
Nous l'avons vu lors de l'étape d'installation de Joomla, vous devez choisir un mot de passe pour créer votre compte super utilisateur. En terme de sécurité, le choix des mots de passe est primordial. J'utilise volontairement le pluriel ici : ne choisissez surtout pas le même mot de passe pour tous vos accès, que cela soit vos comptes mail, vos comptes en ligne, vos comptes sur des sites, les réseaux sociaux ou encore votre compte d'administration Joomla.
Si mémoriser de (très) nombreux mots de passe est quasi impossible pour beaucoup, il existe des outils pour cela tels que :
ou encore
Ce qui caractérise le niveau de sécurité d'un mot de passe, c'est à la fois :
- son contenu : mélangez les majuscules, les minuscules, les chiffres et des caractères spéciaux et évitez le prénom de votre enfant, votre date et lieu de naissance ou les termes trop facilement identifiables.
- son aspect aléatoire : évitez les les caractères similaires [ 0 O I 1 l ],
- sa longueur : un mot de passe sécurisé fait au minimum 12 caractères,
Pour générer un mot de passez sécurisé, vous pouvez recourir à un outil tel que motdepasse.xyz.
Pour tester le niveau de sécurité de votre passe, vous pouvez utiliser un outil tel que security.org/how-secure-is-my-password/.
Pour sécuriser son site Joomla, n'hésitez pas à changer votre identifiant et votre mot de passe régulièrement. Je dirais qu'effectuer cette opération tous les trimestres est une bonne fréquence.
2. Appliquez les mises à jour
Joomla est un CMS évolutif, c'est à dire que régulièrement, des mises à jour de sécurité sont publiées. Ces mises à jour améliorent Joomla mais également renforcent sa sécurité. Les alertes de mises à jour concernent le CMS mais aussi les extensions (composants, modules, plugin et templates). Ne tardez pas pour les appliquer lorsqu'elles sont publiées.
Avant d'appliquer la moindre mise à jour, vous devez sauvegarder la totalité de votre site et vérifier le bon fonctionnement de votre sauvegarde.
3. Sauvegarder régulièrement votre site
Si votre hébergeur est sérieux, il est censé faire des sauvegardes quotidiennes du serveur sur lequel est installé votre site ainsi que de la base de données. Vérifiez ce point avec lui.
La fréquence des sauvegardes va dépendre de la fréquence d'actualisation des contenus de votre site. Une sauvegarde mensuelle ou hebdomadaire peut suffire pour un site vitrine. Pour les sites avec une forte activité (sites de news, sites e-commerce, etc), cela peut aller jusqu'à plusieurs sauvegardes par jour en période de très forte activité.
Stockez les fichiers de vos dernières sauvegardes ailleurs que sur le serveur où est hébergé votre site. Un disque dur externe ou le Cloud sont des solutions idéales pour avoir une copie du site toujours disponible.
Dernier point: chaque sauvegarde doit être testée et vérifiée car si elle n'est pas fonctionnelle, c'est juste un gros fichier qui prend de la place inutilement.
4. Vérifiez les permissions
Tous les répertoires et tous les fichiers de votre site Joomla sont soumis à certaines permissions afin de pouvoir réaliser certaines actions : Exécuter, Lire, Editer.
En empêchant par exemple le droit en écriture sur certains fichiers, vous les sécurisez. Appliquez les paramètres de permission suivants :
- Fichiers : Chmod 644
- Répertoires : Chmod 755
- Fichier configuration.php : Chmod 444
- Fichier index.php : Chmod 444
- Fichier /administrator/index.php : Chmod 444
- Fichier /templates/nom_de_votre_template/index.php : Chmod 444
5. Le protocole FTP
Le FTP (ou File Transfer Protocol - protocole de transfert de fichiers en français ) est un moyen simple et efficace de transférer des fichiers (envoi ou téléchargement) vers et depuis son serveur. Si cela vous est possible, choisissez de vous connecter à votre serveur en mode SFTP, autrement dit en FTP sécurisé. Interrogez votre hébergeur pour obtenir un accès SSH. Configurez ensuite votre client FTP préféré avec le port d'écoute du serveur 22 qui est le port par défaut pour SFTP.
6. Choisissez les bonnes extensions
Contrairement aux idées reçues, toutes les extensions pour Joomla ne se valent pas même si la grande majorité est développée par des équipes professionnelles et correctement suivie.
Vous trouverez sur le site de la documentation officiel de Joomla, une liste des extensions dites vulnérables. Cette liste vous donne un aperçu des composants, modules et autres plugins qui posent problème (les mises à jour les plus récentes sont affichées en bas de page). En cas de doute, n'hésitez pas à solliciter d'autres utilisateurs sur les forums avant d'installer une extension, surtout si celle-ci doit apporter des modifications importantes à votre site. Pour être certain de sécuriser son site au maximum, accorder votre préférence uniquement aux extensions listées sur le Joomla Extensions Directory.
7. Travaillez sur un environnement de test
Afin de pouvoir travailler en toute sécurité, vous pouvez demander à votre hébergeur de vous fournir un environnement de test, c'est à dire une copie de votre site sur lequel vous allez pouvoir faire vos modifications sans impacter votre site en production.
Dans le cas où cela serait impossible, vous pouvez installer une copie de votre site sur un serveur local pour faire vos travaux sereinement.
8. Sécurisez votre ordinateur
Cela peut sembler évident mais il faut absolument penser à sécuriser son site Web en vérouillant les 2 portes d'accès :
- Votre ordinateur : le système d'exploitation et tous les logiciels installés sur votre machine doivent être à jour, vous avez installé un firewall pour contrer les intrusions et sorties d'information incontrôlées ainsi qu'un anti-virus performant.
- Votre navigateur : pour éviter de vous faire pirater trop facilement, créez un un profil spécial dans lequel vous ne stockez AUCUN mot de passe.
9. Ne gardez que ce qui est nécessaire
Supprimez de votre site Joomla, toutes les extensions inutilisées (composants, modules, plugin et templates) et remplacez celles qui ne sont plus supportées ou mises à jour par leur développeur.
Comme pour votre chambre ou votre cuisine, videz également régulièrement toutes les corbeilles: articles, modules, menus, contacts, etc.
Supprimez les utilisateurs "fantômes" qui s'inscrivent sur votre site avec une adresse email suspecte et qui ne se connectent jamais.
Limitez le droit d'insérer du code dans l'éditeur de texte par défaut. C'est le cas par exemple avec les principaux éditeurs de texte tels que TinyMCE, JCE ou encore ARC Editor. Par exemple, si vous avez besoin d'insérer du code HTML dans vos contenus, avez-vous réellement besoin de cocher également "Insérer des styles CSS", "Insérer du Javascript", "Insérer du PHP" ? Ces possibilités sont-elles accordés à d'autres utilisateurs ?
10. Masquer Joomla
Volontairement, je n'aborde pas les techniques qui permettent de masquer l'identité d'un site réalisé sous Joomla. 3 raisons expliquent ce choix :
- D'abord, parce que ce sont des techniques d'un autre âge. En effet, aujourd'hui, il n'est plus nécessaire d'aller fouiller dans le code source d'un site Web pour obtenir ce type d'information. Un addon comme Serpstat vous donne cette information en un clic !
- Ensuite parce qu'en sécurisant son site Web avec les conseils donnés dans cet article et en appliquant les protections efficaces que nous verrons dans le prochain article, vous tenez à distance de votre site, la plus grande partie des personnes malveillantes.
- et enfin parce que vous pouvez et devez être fier d'avoir un site Web propulsé par Joomla.
Conseils pour sécuriser son site Web
Conseils pour sécuriser son site Web Joomla 4
- Ne laissez jamais vos sauvegardes dans un dossier de votre site Joomla, même si vous avez sécurisé celui-ci. Le mieux est encore de rapatrier les fichiers des sauvegardes sur votre ordinateur ou de les héberger dans le Cloud.
- Vous pouvez également activer le protocole SSL pour accroître la sécurité de vos visiteurs lors des transactions d'information sur votre site. Pour cela, vous pouvez vous référer aux articles suivants :
- NE JAMAIS INSTALLER d'extensions aux origines douteuses sur votre site, même si il est installé sur un serveur local. Pourquoi ? Tout simplement parce que les hackers ont sans doute modifié une partie du code de cette extension avant de la partager gratuitement. Lorsque vous installez ces fichiers sur votre site, vous ouvrez vous-même la porte aux hackers...
- Enfin, mon dernier conseil serait de vous tenir informé en parcourant les forums, les groupes Facebook, les sites dédiés à la sécurité sur le web et pour Joomla. En effet, rien ne remplacera une solide culture sur ces sujets et une bonne auto-formation pour vous prémunir d'une éventuelle attaque. Si vous en êtiez malgré tout victime, vous saurez au moins comment réagir et limiter les dégâts.
Conclusion
Cette liste d'actions n'est pas exhaustive et doit être appliquée en fonction de vos besoins. Sécuriser son site Web est une nécessité et vous devez constamment vérifier que tout est à jour, que chaque point ne nécessite pas une intervention de votre part. Enfin, n'oubliez pas de vous informer en vous inscrivant sur les forums, sur les groupes Facebook et en suivant "les comptes qui comptent" sur Twitter.
Lorsqu'un soucis de sécurité important survient sur un site, le réflexe est d'accuser les hackers. Seulement, si des pirates a pu rentrer, c'est aussi parce qu'on leur a laissé au moins une porte (entre-)ouverte. Au mieux, c'est un oubli, au pire, c'est une négligeance. Dans les deux cas, le mal est fait.