20 règles pour sécuriser son site WordPress

WordPress demande une surveillance constante, même si le site semble fonctionner

20 règles pour sécuriser son site WordPress

À chaque cours WordPress, je rappelle que le gros du travail commence après la réalisation du site. Un WordPress doit être maintenu, mis à jour, surveillé et sauvegardé régulièrement. Un site négligé peut être compromis et servir à voler des données, diffuser du code malveillant ou mener d’autres attaques.

WordPress, une cible particulièrement attractive

WordPress équipe une part considérable des sites web dans le monde. Cette popularité en fait mécaniquement une cible privilégiée pour les cybercriminels : une vulnérabilité exploitable dans un composant largement installé peut permettre d'attaquer simultanément des milliers de sites.

Le CMS lui-même n'est toutefois pas nécessairement le principal problème. Une grande partie de la surface d'attaque provient de son écosystème : plugins, thèmes, comptes utilisateurs, hébergement et configuration du serveur. Une extension vulnérable ou abandonnée peut ainsi compromettre un site WordPress pourtant parfaitement à jour.

Mettre à jour, mais aussi supprimer

La première règle reste de maintenir WordPress, les thèmes et les plugins à jour. Les mises à jour corrigent régulièrement des vulnérabilités qui, une fois rendues publiques, peuvent rapidement être intégrées dans des outils d'attaque automatisés.

Mais mettre à jour ne suffit pas. Les extensions et thèmes devenus inutiles doivent être supprimés et pas simplement désactivés. Moins un site possède de composants, plus sa surface d'attaque est réduite.

Il faut également vérifier que les extensions utilisées sont toujours maintenues par leurs développeurs. Un plugin qui fonctionne encore parfaitement peut néanmoins devenir dangereux s'il ne reçoit plus de correctifs de sécurité.

Attention à la provenance des extensions

Plugins et thèmes doivent provenir de sources fiables. Les versions « crackées », « nulled » ou téléchargées depuis des sites non officiels représentent un risque particulièrement important.

Il ne s'agit alors même plus nécessairement d'exploiter une vulnérabilité : le composant téléchargé peut directement contenir une porte dérobée, un script permettant de prendre le contrôle du site ou du code destiné à rediriger les visiteurs vers des sites malveillants.

Protéger les comptes administrateurs

La protection de l'administration constitue un autre élément essentiel. Chaque utilisateur doit disposer d'un compte personnel avec un mot de passe fort et unique.

L'identifiant « admin » devrait être évité et l'authentification à deux facteurs activée pour les comptes disposant de privilèges importants. La limitation des tentatives de connexion permet également de réduire l'efficacité des attaques automatisées par force brute.

Les droits doivent suivre le principe du moindre privilège : un utilisateur ne devrait disposer que des autorisations réellement nécessaires à son activité. Un compte administrateur ne devrait notamment pas être utilisé pour les tâches quotidiennes qui ne nécessitent pas ces privilèges.

Surveiller plutôt que simplement protéger

La sécurité ne consiste pas uniquement à empêcher une attaque. Il faut également être capable de détecter qu'un site a été compromis.

Des solutions spécialisées peuvent surveiller les fichiers WordPress, signaler des modifications inhabituelles, détecter des logiciels malveillants, contrôler les connexions et bloquer certaines requêtes suspectes.

La surveillance des journaux est également importante. Une multiplication des tentatives de connexion, la création inattendue d'un compte administrateur ou la modification de fichiers système peuvent constituer les premiers signes d'une compromission.

Sécuriser également le serveur

Un site WordPress sécurisé installé sur un serveur mal configuré reste vulnérable.

HTTPS doit être utilisé systématiquement afin de chiffrer les communications entre le navigateur et le serveur. PHP, la base de données, le serveur web et le système d'exploitation doivent eux aussi être régulièrement mis à jour.

Les permissions des fichiers doivent être correctement configurées et l'accès aux fichiers sensibles limité. L'hébergement constitue donc une partie intégrante de la stratégie de sécurité WordPress.

Prévoir le cas où les protections échouent

Aucune mesure de sécurité ne permet de garantir qu'un site ne sera jamais compromis. Les sauvegardes constituent donc la dernière ligne de défense.

Elles doivent être régulières, automatisées et conservées indépendamment du serveur hébergeant le site. Une attaque, une erreur humaine ou un ransomware touchant le serveur ne doit pas pouvoir détruire simultanément le site et ses sauvegardes.

Il ne suffit cependant pas de créer des sauvegardes : leur restauration doit être testée périodiquement. Une sauvegarde corrompue, incomplète ou impossible à restaurer n'offre aucune protection réelle.

Les principaux points à respecter

  1. Mettre régulièrement à jour WordPress, PHP, les thèmes et les plugins.
  2. Supprimer les extensions et thèmes inutilisés.
  3. Vérifier que les composants installés sont toujours maintenus.
  4. Utiliser uniquement des plugins et thèmes provenant de sources fiables.
  5. Éviter absolument les versions « crackées » ou « nulled ».
  6. Utiliser des mots de passe forts, uniques et différents pour chaque compte.
  7. Éviter « admin » comme identifiant administrateur.
  8. Activer l'authentification à deux facteurs pour les comptes sensibles.
  9. Limiter les tentatives de connexion.
  10. Attribuer à chaque utilisateur uniquement les droits dont il a besoin.
  11. Utiliser systématiquement HTTPS.
  12. Maintenir également le serveur, PHP et la base de données à jour.
  13. Contrôler les permissions des fichiers et protéger les fichiers sensibles.
  14. Utiliser une solution de sécurité permettant de détecter les malwares et les modifications suspectes.
  15. Surveiller les connexions, les fichiers et les activités inhabituelles.
  16. Mettre en place une protection contre les attaques automatisées et, lorsque cela est nécessaire, contre les attaques DDoS.
  17. Choisir un hébergement correctement sécurisé et maintenu.
  18. Effectuer des sauvegardes régulières et automatisées.
  19. Conserver au moins une copie des sauvegardes en dehors du serveur de production.
  20. Tester périodiquement leur restauration.

La sécurité est un processus, pas une installation

Installer un plugin de sécurité ne suffit pas à rendre WordPress sécurisé. La protection repose sur l'ensemble de la chaîne : mises à jour, choix des composants, gestion des utilisateurs, configuration du serveur, surveillance et sauvegardes.

La principale difficulté est également organisationnelle. Un site parfaitement sécurisé lors de sa création peut devenir vulnérable quelques mois plus tard si personne n'est clairement responsable de sa maintenance.

La sécurité d'un site WordPress doit donc être considérée comme un processus continu pendant toute sa durée de vie, et non comme une opération effectuée une seule fois lors de sa mise en ligne.