Pourquoi votre club de curling ne devrait pas utiliser un CMS
Nous savons que plusieurs de nos clubs utilisent WordPress ou Joomla pour leur site web. Ces plateformes sont populaires pour de bonnes raisons : elles sont souples et ne manquent ni de tutoriels ni d’extensions. Mais cette popularité a un sérieux revers. Les systèmes de gestion de contenu généralistes, ou CMS, sont des cibles importantes, et les clubs gérés par des bénévoles n’ont souvent personne pour surveiller les correctifs de sécurité. Voici ce que vous devez savoir.
Le problème de sécurité est réel
WordPress fait fonctionner environ 43 % des sites web. Cette part du marché en fait une cible immense pour les acteurs malveillants. Le rapport 2023 de Sucuri sur les sites piratés indique que WordPress représentait plus de 95 % des plateformes CMS piratées qu’ils ont réparées. Joomla et Drupal formaient la majeure partie du reste.
Le rapport 2024 de Patchstack sur la sécurité de WordPress a recensé 5 948 nouvelles vulnérabilités WordPress divulguées en un an. La grande majorité, plus de 97 %, se trouvaient dans les extensions et les thèmes plutôt que dans le cœur de WordPress. Le chiffre exact change chaque année, mais la tendance reste la même : les extensions et les thèmes concentrent la plupart des risques.
Les attaques de la chaîne d’approvisionnement
Les bogues non corrigés ne sont pas le seul problème. En juin 2024, WordPress.org a révélé que plusieurs extensions du dépôt officiel avaient été compromises. Les attaquants avaient obtenu l’accès à des comptes de développeurs et publié des mises à jour malveillantes d’extensions de confiance comptant des dizaines de milliers d’installations actives. Le code créait des comptes administratifs non autorisés et exfiltrait des données.
Une tendance croissante est encore plus inquiétante : des acteurs malveillants achètent des extensions légitimes et établies à leurs développeurs d’origine, puis injectent du code malveillant dans les mises à jour suivantes. Les utilisateurs qui ont activé les mises à jour automatiques, comme on le recommande généralement, reçoivent la version compromise sans indication du changement de propriétaire.
La campagne Balada Injector, documentée par Sucuri, exploite des vulnérabilités connues d’extensions depuis 2017. Selon leurs estimations, elle a compromis plus d’un million de sites WordPress en injectant du JavaScript malveillant qui redirige les visiteurs vers des sites frauduleux.
En août 2024, une vulnérabilité critique de l’extension LiteSpeed Cache, utilisée par plus de cinq millions de sites, permettait de créer des comptes administratifs sur tout site utilisant la version vulnérable. Elle a été activement exploitée dans des attaques réelles.
Joomla et Drupal ne sont pas à l’abri
Joomla a eu sa part de vulnérabilités critiques. En février 2024, une vulnérabilité XSS de gravité élevée dans le composant de filtrage du cœur de Joomla, CVE-2024-21726, pouvait mener à l’exécution de code à distance. Un code d’exploitation de démonstration a été publié peu après sa divulgation. Une vulnérabilité antérieure, CVE-2023-23752, qui divulguait les identifiants de base de données, était encore exploitée massivement en 2024 parce que de nombreux sites restaient sans correctif.
Drupal a un meilleur bilan de sécurité grâce à un écosystème d’extensions mieux encadré et à une équipe de sécurité dédiée. Sa complexité fait toutefois que moins d’organisations le gardent entièrement à jour. Les tristement célèbres vulnérabilités Drupalgeddon de 2014 et 2018 étaient encore utilisées contre des sites non corrigés des années plus tard.
L’automatisation aggrave la situation
Le trafic automatisé représente déjà environ la moitié du trafic Internet, les robots malveillants comptant pour environ le tiers. Les outils IA ajoutent une couche : les attaquants peuvent s’en servir pour rechercher des vulnérabilités, générer du code d’exploitation et agir plus vite dès qu’une faille est publique.
Une étude de l’Université de l’Illinois a montré qu’un agent IA pouvait exploiter avec succès 87 % des vulnérabilités connues lorsqu’on lui fournissait leur description CVE. Microsoft et OpenAI ont confirmé que des acteurs affiliés à des États utilisent déjà les LLM pour la reconnaissance et les scripts d’attaque. Le délai entre la divulgation et l’exploitation active d’une vulnérabilité est passé de jours à des heures, en partie parce que les outils IA aident à transformer presque immédiatement l’information CVE publiée en moyen d’attaque.
Pour un écosystème CMS comme WordPress, où des milliers de vulnérabilités d’extensions ont été divulguées ces dernières années, chaque extension non corrigée devient une course contre la montre.
Pourquoi cela touche les clubs de curling
La présence en ligne de la plupart des clubs est gérée par un petit groupe de bénévoles. Ils n’ont ni équipe informatique dédiée ni budget de sécurité. Lorsqu’une extension WordPress introduit une vulnérabilité, ils peuvent ne rien en savoir jusqu’à ce que leur site soit défiguré, redirige les membres vers des pages d’hameçonnage ou recueille discrètement des renseignements de paiement.
Le fardeau d’entretien est important même sans incident :
- Mises à jour constantes. Le cœur de WordPress, les thèmes et les extensions doivent être mis à jour régulièrement. Les retards ouvrent la porte aux piratages.
- Multiplication des extensions. Un formulaire de contact? Une extension. Des inscriptions aux événements? Une extension. Une galerie de photos? Une extension. Chacune est un vecteur d’attaque potentiel.
- Gestion de l’hébergement. Vous êtes responsable de tout : système d’exploitation, serveur web, version PHP, base de données, cœur du CMS et chaque extension.
- Sauvegardes et récupération. En cas de problème, il vous faut une sauvegarde récente et quelqu’un qui sait la restaurer.
Un CMS généraliste est conçu pour créer toutes sortes de sites. Cette souplesse apporte une complexité dont la plupart des clubs n’ont pas besoin pour un site d’information souvent assez simple.
Si vous tenez à utiliser un CMS
Certains clubs ont peut-être des raisons de garder WordPress ou un autre CMS. Dans ce cas, faites de la sécurité une priorité non négociable.
Si quelqu’un d’autre gère le site, qu’il s’agisse d’un bénévole, d’un développeur local ou d’une agence, posez-lui des questions sur chacun des points suivants. Une réponse vague ou désinvolte est un signal d’alarme. La réputation de votre club et les données de vos membres sont en jeu.
Gardez tout à jour
Activez les mises à jour automatiques du cœur du CMS et mettez les extensions à jour dans les 24 à 48 heures suivant la publication des correctifs de sécurité. Abonnez-vous aux avis de Wordfence ou de Patchstack pour WordPress, de la Joomla Security Strike Team ou de la Drupal Security Team. Un site non corrigé attend simplement d’être compromis.
Réduisez votre surface d’attaque
Utilisez le moins d’extensions possible. Chaque extension installée est du code auquel vous confiez votre site et les données de vos membres. Avant toute installation, vérifiez la dernière mise à jour, le nombre d’installations et les vulnérabilités connues. Supprimez ce que vous n’utilisez pas au lieu de simplement le désactiver.
Utilisez un pare-feu d’applications web
Placez un pare-feu d’applications web infonuagique (WAF) comme Cloudflare devant votre site. Il peut bloquer les méthodes d’exploitation connues avant même l’installation d’une mise à jour, offrant une protection contre les attaques de type jour zéro.
Renforcez l’authentification
Imposez des mots de passe forts et activez l’authentification à deux facteurs pour tous les comptes administratifs. Limitez les tentatives de connexion contre les attaques par force brute. Changez le nom d’utilisateur administratif par défaut. Ces mesures de base bloquent un nombre surprenant d’attaques.
Choisissez un hébergement géré
Si possible, choisissez un hébergeur géré spécialisé dans votre CMS, comme WP Engine ou Kinsta pour WordPress et Pantheon pour Drupal. Ils gèrent la sécurité du serveur et les sauvegardes automatiques, et incluent souvent l’analyse des logiciels malveillants. Cela coûte plus cher qu’un hébergement partagé à bas prix, mais la sécurité et la tranquillité d’esprit en valent la peine pour une organisation bénévole.
Surveillez votre site
Configurez des alertes pour les modifications de fichiers non autorisées et la création inattendue de comptes administratifs. Faites régulièrement des analyses de sécurité. Préparez un plan en cas de compromission : qui contacter et où se trouvent les sauvegardes.
Envisagez une solution plus simple
Si le site de votre club sert surtout à afficher les heures d’ouverture, les horaires de glace, les coordonnées et les nouvelles, vous n’avez peut-être pas besoin d’un CMS. Deux bonnes options existent :
Un site statique
Des outils comme Hugo, Eleventy ou même du HTML simple hébergé sur Netlify ou GitHub Pages ont une surface d’attaque presque nulle. Aucune base de données à compromettre, aucun code serveur à exploiter. La performance est aussi excellente, sans traitement serveur ou requêtes de base de données pour ralentir le site.
Les agents IA comme Claude, ChatGPT et Gemini ont facilité cette approche pour les personnes qui ne développent pas de logiciels. Si vous payez déjà pour un de ces outils, demandez-lui de créer un site statique pour votre club. Il peut vous guider, montrer des maquettes, aider à choisir l’hébergement et accompagner le déploiement. Il peut aussi intégrer nos outils de site Curling IO et nos API.
Demandez aussi à l’agent de documenter ce qu’il a créé, l’hébergement et les déploiements pour que le prochain bénévole puisse prendre la relève. Demandez-lui également d’enregistrer le code source dans un dépôt comme GitHub. Cela peut sembler beaucoup, mais les agents vous guideront à chaque étape. Claude Code est particulièrement utile si vous acceptez de payer 20 $ par mois, et sert aussi à bien d’autres choses.
Si votre club a besoin d’un site sur mesure que Curling IO n’offre pas, nous recommandons fortement cette approche.
L’hébergement de site intégré à Curling IO
Chaque club sur Curling IO peut activer un site hébergé sans frais supplémentaires. Il est volontairement minimaliste et convient surtout aux clubs qui n’ont pas besoin d’une multitude de fonctions accessoires.
Il comprend une page d’accueil personnalisable, des pages, des articles de nouvelles, des sections de commanditaires et du contenu réservé aux membres. Le tout est étroitement intégré à vos inscriptions, ligues et bonspiels. Aucun écosystème d’extensions à exploiter, aucun environnement PHP à maintenir, aucune mise à jour de CMS à manquer. Vous pouvez même y rediriger votre domaine existant.
Les deux approches éliminent toute la catégorie de vulnérabilités décrite ici. Le temps de vos bénévoles est mieux investi dans la gestion du club que dans les correctifs logiciels.