Aller au contenu

Sécuriser le site WordPress de l'entreprise : la checklist

Extensions à jour, 2FA, pare-feu applicatif, sauvegardes testées : la checklist pour sécuriser le site WordPress de votre PME, selon WordPress et le Centre.

Par l’équipe Cyber Caribou6 min de lecture

Un fabricant d'armoires de cuisine de Drummondville a fait bâtir son site WordPress en 2019. Depuis, personne n'y a touché : 23 extensions, dont sept désactivées, un compte « admin » partagé avec l'ancienne agence et un formulaire de soumission qui recueille noms et numéros de téléphone.

Un lundi matin, un client appelle : le site le redirige vers une boutique de faux médicaments. Et le formulaire envoyait depuis des semaines une copie des demandes à une adresse inconnue.

L'histoire est fictive, mais chacune de ses causes est banale. La documentation officielle de WordPress et le Centre canadien pour la cybersécurité décrivent des mesures simples, à la portée d'une PME.

En bref

  • Les extensions et les thèmes sont ce qu'il faut surveiller de plus près : selon le Centre canadien pour la cybersécurité, plus vous en avez, plus votre surface d'attaque est grande. Supprimez ceux qui ne servent pas.
  • Depuis WordPress 5.5, les mises à jour automatiques s'activent extension par extension et thème par thème : activez-les, avec des sauvegardes testées comme filet.
  • WordPress n'inclut pas d'authentification à deux facteurs : ajoutez-la pour chaque administrateur.
  • Un pare-feu applicatif Web (WAF) bloque une partie des attaques et vous fait gagner du temps quand un correctif tarde.

Pourquoi les sites WordPress d'entreprise se font pirater

Un site WordPress est rarement visé personnellement : des robots balaient Internet à la recherche d'extensions vulnérables, de mots de passe faibles et de pages de connexion mal protégées, et votre site passe dans le lot.

Dans son guide ITSM.60.005, le Centre canadien pour la cybersécurité le résume ainsi : plus vous avez de modules d'extension, plus votre surface d'attaque est grande, surtout s'ils ne sont pas officiels. Et selon WordPress, les anciennes versions ne reçoivent plus de mises à jour de sécurité.

Votre site n'est pas qu'une vitrine : s'il recueille des renseignements personnels (formulaires, infolettre, boutique), une compromission peut constituer un incident de confidentialité au sens de la Loi 25 (art. 3.6).

La checklist de sécurité WordPress

Voici 14 vérifications tirées du guide de durcissement de WordPress (« Hardening WordPress ») et du guide ITSM.60.005 du Centre.

Mises à jour

  • Le noyau de WordPress est à la dernière version.
  • Les mises à jour automatiques sont activées pour les extensions et les thèmes, ou une personne nommée les applique chaque semaine.
  • Les extensions et thèmes inutilisés sont supprimés, pas seulement désactivés.
  • L'hébergeur utilise une version de PHP encore prise en charge.

Comptes

  • Chaque personne a son propre compte ; aucun compte « admin » ni compte partagé.
  • Deux ou trois administrateurs au maximum ; les autres ont le rôle Éditeur ou Auteur.
  • L'authentification à deux facteurs est obligatoire pour tous les administrateurs.
  • Les accès de l'agence ou du pigiste sont nominatifs et retirés à la fin du mandat.

Protection et configuration

  • Un pare-feu applicatif Web (WAF) filtre le trafic.
  • Les tentatives de connexion sont limitées, et xmlrpc.php est désactivé s'il ne sert pas.
  • L'éditeur de fichiers du tableau de bord est désactivé.
  • Le site est en HTTPS, et l'hébergeur offre SFTP plutôt que FTP.

Sauvegardes et surveillance

  • Les sauvegardes sont automatiques, conservées à plusieurs endroits, et une restauration a été testée.
  • Les journaux et les tentatives de connexion échouées sont surveillés.

Mises à jour : fermer les failles connues

Activez les mises à jour automatiques des extensions et des thèmes : c'est la façon la plus simple de corriger les failles connues avant qu'un robot ne les trouve.

Depuis WordPress 5.5, les administrateurs peuvent les activer extension par extension (écran Extensions) et thème par thème (écran Apparence). Selon la documentation de WordPress, elles s'exécutent par défaut deux fois par jour, et le propriétaire reçoit un courriel après chaque tentative, réussie ou non. Pour le noyau, les mises à jour automatiques existent depuis la version 3.7.

Trois précautions :

  • Sauvegardez avant. La documentation recommande de s'assurer de pouvoir revenir à une version antérieure.
  • Faites le ménage. Une extension désactivée reste sur le serveur : supprimez-la. Sur la fiche WordPress.org d'une extension, regardez la date de la dernière mise à jour ; une extension abandonnée ne recevra plus de correctifs.
  • Vérifiez PHP. WordPress recommande PHP 8.3 ou plus récent et précise que les anciennes versions, comme PHP 7.4, ont atteint leur fin de vie officielle.

Pour une boutique en ligne, testez les mises à jour importantes sur un site de préproduction. Notre article sur la politique de gestion des correctifs propose des délais selon la gravité des failles.

Comptes et connexion : 2FA, rôles et page de connexion

WordPress n'intègre pas d'authentification à deux facteurs : sa documentation officielle recommande de l'ajouter pour tous les administrateurs et autres utilisateurs privilégiés, au moyen d'une extension réputée ou de votre fournisseur d'identité.

Le Centre canadien pour la cybersécurité recommande fortement l'authentification multifacteur pour tous les types de comptes, et WordPress mentionne les clés d'accès (passkeys), qui résistent à l'hameçonnage. Ensuite :

  • Pas de nom d'utilisateur « admin ». La documentation de WordPress le déconseille : créez un compte administrateur nominatif, puis rétrogradez ou supprimez l'ancien.
  • Peu d'administrateurs. Pour publier des nouvelles, le rôle Éditeur suffit.
  • Limitez les tentatives de connexion. WordPress recommande de le faire de préférence en amont (WAF ou réseau de diffusion de contenu) ou au niveau du serveur. Changer l'adresse de la page de connexion réduit le bruit, mais ne doit pas être votre seule défense.
  • Fermez XML-RPC si vous ne l'utilisez pas. Selon la même documentation, xmlrpc.php est une cible fréquente des attaques par force brute.

Pare-feu applicatif, hébergement et configuration

Un pare-feu applicatif Web (WAF) se place entre votre site et Internet pour filtrer les requêtes malveillantes ; le Centre canadien pour la cybersécurité recommande d'en installer un et précise qu'il peut servir de mesure temporaire en attendant un correctif.

Il peut s'agir d'un service infonuagique placé devant le site (mandataire inverse), du WAF de l'hébergeur ou d'une extension de sécurité. Les deux premiers bloquent le trafic avant qu'il n'atteigne votre serveur, ce que WordPress privilégie contre les attaques de connexion massives. Demandez d'abord à votre hébergeur ce qui est déjà inclus.

Côté configuration, le guide de durcissement de WordPress propose notamment :

  • d'ajouter define( 'DISALLOW_FILE_EDIT', true ); dans wp-config.php pour désactiver l'éditeur de fichiers PHP du tableau de bord ;
  • de restreindre les permissions : 755 pour les dossiers, 644 pour les fichiers, 400 ou 440 pour wp-config.php ;
  • d'utiliser SFTP plutôt que FTP, et HTTPS pour l'administration.

Profitez-en pour vérifier les en-têtes de sécurité HTTP de votre site avec notre vérificateur d'en-têtes de sécurité.

Sauvegardes et surveillance : prévoir le pire

Une sauvegarde n'a de valeur que si vous savez la restaurer : le Centre canadien pour la cybersécurité demande de tester les sauvegardes rigoureusement pour s'assurer qu'elles fonctionnent.

La documentation de WordPress suggère une sauvegarde hebdomadaire pour un petit site peu actif, quotidienne pour un site très actif, et au moins trois à cinq copies récentes conservées à plusieurs endroits (hébergeur, service infonuagique, ordinateur local). Gardez aussi des copies assez anciennes pour remonter avant une compromission passée inaperçue.

Le Centre recommande aussi d'analyser les journaux et de surveiller les tentatives de connexion échouées. Concrètement : une alerte pour chaque nouvelle connexion d'administrateur et un coup d'œil mensuel à l'outil Santé du site (menu Outils).

Si un site qui recueille des renseignements personnels est compromis, consignez l'événement dans votre registre des incidents et évaluez le risque de préjudice sérieux, comme l'exige la Loi 25 ; validez avec votre conseiller juridique.

Faire tester son site : scan ou test d'intrusion ?

Pour un site vitrine sans données sensibles, un scan de vulnérabilités régulier suffit souvent ; dès que le site traite des paiements, des comptes clients ou des renseignements personnels, un test d'intrusion d'application Web devient pertinent.

Notre comparatif test d'intrusion, scan, bug bounty ou red team explique ce que chaque approche trouve. Un test d'intrusion exige une autorisation écrite du propriétaire du système (Code criminel, art. 342.1) ; si votre site est chez un hébergeur, vérifiez aussi ses conditions d'utilisation.

Trop de cases vides ? Notre service de remédiation et durcissement peut faire le ménage avec votre agence Web, et une discussion gratuite aide à choisir par où commencer.

Questions fréquentes

Est-ce que WordPress est sécuritaire pour un site d'entreprise ?+

Oui, s'il est entretenu. Le noyau de WordPress reçoit des mises à jour de sécurité, mais les anciennes versions n'en reçoivent plus, et chaque extension ajoute du code à surveiller. Un site à jour, avec peu d'extensions, l'authentification à deux facteurs pour les administrateurs, un pare-feu applicatif et des sauvegardes testées est un choix raisonnable pour une PME.

Faut-il activer les mises à jour automatiques des extensions WordPress ?+

Dans la plupart des cas, oui. Depuis WordPress 5.5, elles s'activent extension par extension et thème par thème, et WordPress envoie un courriel après chaque tentative. La documentation officielle recommande de s'assurer d'abord de pouvoir revenir à une version antérieure. Pour une boutique en ligne critique, testez les mises à jour majeures sur un site de préproduction.

WordPress a-t-il une authentification à deux facteurs intégrée ?+

Non. La documentation officielle indique que le noyau de WordPress n'inclut pas d'authentification à deux facteurs : il faut l'ajouter au moyen d'une extension réputée ou de votre fournisseur d'identité. Rendez-la obligatoire pour tous les administrateurs et les autres comptes privilégiés.

Mon site WordPress a été piraté : que faire en premier ?+

Avertissez votre hébergeur et conservez les journaux avant de tout effacer. Changez ensuite les mots de passe des administrateurs et de l'hébergement à partir d'un appareil sain, restaurez une sauvegarde antérieure à la compromission, puis mettez tout à jour. Si le site recueillait des renseignements personnels, évaluez s'il s'agit d'un incident de confidentialité au sens de la Loi 25 et validez avec votre conseiller juridique.

Sources

  1. 1.WordPress Developer Resources : Hardening WordPress
  2. 2.WordPress Developer Resources : Brute Force Attacks
  3. 3.WordPress Developer Resources : Backups
  4. 4.WordPress.org : Plugin and themes auto-updates
  5. 5.WordPress.org : Requirements
  6. 6.Centre canadien pour la cybersécurité : Facteurs à considérer en matière de cybersécurité pour votre site Web (ITSM.60.005)
  7. 7.LégisQuébec : Loi sur la protection des renseignements personnels dans le secteur privé (RLRQ, c. P-39.1)