Développement Web - Les grandes règles de prévention pour sécuriser WordPress - 27 mars 2018

Les grandes règles de prévention pour sécuriser WordPress

Jean Michel Silone Co-fondateur xpDigital

Sécuriser WordPress est devenu un enjeu stratégique : on ne parle plus aujourd’hui de “simples blogs”, mais d’une quantité croissante de sites web pour lesquels la sécurité n’est pas à prendre à la légère : E-commerce, politique, associatif, sites corporate… WordPress est partout…

Vous en doutez ? Cliquez ici pour un exemple assez parlant (bien que visuellement et politiquement discutable).

WordPress est aujourd’hui le CMS (Content Management System ou système de gestion de contenus en français) le plus utilisé dans le Monde (59,3% en 2017 – Source : Skilled). L’air de rien, on parle de 30 % des sites web présents sur internet (Source : xpDigital).

Victime de ce succès, il est également le plus attaqué : un seul hack WordPress peut impacter des milliers, voire des millions de sites web. Mathématiquement, s’attaquer à la sécurité WordPress est beaucoup plus rentable que s’attaquer à celle d’un site codé à la main.

L’objet de cet article est donc de définir une hygiène de vie pour sécuriser un site WordPress.

Il s’agit de règles essentielles et simples (comprendre “non techniques”), à suivre rigoureusement pour réduire le risque de basculer du côté “hard” de la sécurité WordPress (comprendre “très technique”) : celui de la réparation.

La réflexion se veut aussi stratégique : est-ce rentable de le faire soi-même ou vaut-il mieux externaliser ?

Sécuriser WordPress, ça veut dire quoi ?

Sécuriser WordPress, ça n’est pas restaurer des sites piratés, c’est assurer un écosystème préventif pour éviter cette situation.

On l’a vu, WordPress est un CMS. Un CMS, c’est quoi ? En quoi cela concerne-t-il la sécurité ?

Rapide definition : CMS vous avez dit CMS ?

Un système de gestion de contenus se définit comme “une famille de logiciels destinés à la conception et à la mise à jour dynamique de sites Web ou d’applications multimédia” (Source : Wikipedia).

Pour faire simple, un CMS propose une base préconçue de travail paramétrable, adaptable et directement utilisable sans grande connaissance technique (pour autant, les « vrais » développeurs y trouvent largement leur compte).

CMS et sécurité, quelle problématique ?

Mais comme tout a un prix, celui du confort est… la sécurité.

Beaucoup de gens pensent encore qu’un hackeur “choisit” les sites qu’il attaque.

L’époque du piratage artisanal est depuis longtemps révolue : une fois qu’une faille sécuritaire est identifiée, les doigts du hackeur ne servent qu’à coder le robot qui fera le travail à sa place. Le méchant animal va crawler le web tout seul à la recherche des conditions définies par son créateur, et répliquer son action malveillante à chaque nouvelle occurrence.

Or, un CMS comme WordPress a l’immense avantage (pour lui, pas pour vous) de répliquer ladite occurrence en quantité suffisante pour rentabiliser la conception du robot.

Autrement dit, lorsqu’une faille est exploitable sur des milliers de sites web, c’est évidemment plus intéressant que sur un seul : c’est le principe de l’économie d’échelle.

Pour résumer :

  • Un CMS n’est pas plus fragile, il est plus exposé ;
  • Les CMS les plus utilisés sont les plus exposés ;
  • WordPress étant le CMS le plus utilisé, il est de fait le plus exposé.

Sécuriser WordPress doit donc faire partie du processus de création/maintien d’un site web au même titre que l’hébergement ou le design : c’est incontournable.

Sécuriser un site wordpress, une affaire d’hygiène

Longtemps, WordPress a été considéré comme un moteur de blogs, “rien de plus”. La question de la sécurité n’est donc pas nativement ancrée dans la culture populaire. On considère souvent (et de nombreux concepteurs s’en contentent) que le développement d’un site web sous WordPress s’arrête à la livraison du produit fini.

C’est pourtant à partir de sa mise en ligne qu’un site web commence sa “vraie vie”, celle qui génère du business, de l’image, de la visibilité, de la conversion ! Le développement n’est pas une fin en soi : c’est bien pour cette “vraie vie” que l’on investit (du temps et/ou de l’argent). Et quand on investit, la logique la plus élémentaire voudrait qu’on protège son investissement… Non ?

Non : il se trouve que rares sont ceux qui ont le “réflexe protection” de leur CMS. Pire (et c’est le sujet de cet article), les notions d’entretien, de maintenance, sont très régulièrement occultées en avant comme en après-vente.

L’idée que je cherche à développer est la suivante : “mieux vaut prévenir que guérir”. Sécuriser WordPress, c’est avant tout lui assurer un écosystème de vie sain, la fameuse “hygiène”.

Sécuriser WordPress, c’est avant tout lui assurer un écosystème de vie sain #WordPress #securite Click to Tweet

Transposons les choses dans un contexte plus concret : dans la vie, l’hygiène réduit nos risques de rencontrer un médecin. Sur WordPress, l’hygiène réduit les risques de rencontrer un prestataire pour réparer votre site piraté. C’est tout simple.

Voyons à présent plus concrètement en quoi cette notion d’hygiène permet d’anticiper au maximum les problématiques de securite WordPress.

Quelles règles d’hygiène pour sécuriser WordPress ?

Les règles ci-après sont simples, mais essentielles. Plus que des compétences techniques, elles demandent du temps, de la rigueur et de la discipline. Si vous parvenez à les suivre, vous réduirez considérablement vos risques.

#1 Une sauvegarde WordPress vaut mieux que deux tu l’auras

La plupart des gens enregistrent régulièrement un PowerPoint en cours de conception de peur de le perdre. C’est assez logique. Cela peut sembler étonnant, mais à l’inverse, faire un backup WordPress n’est pas toujours un réflexe.

Un site internet ayant en général une valeur marchande supérieure à un PowerPoint, on peut légitimement questionner cette absence de réflexe…

Toujours est-il que de fait, une très grande partie des sites WordPress en ligne ne sont pas sauvegardés.

Risque :

  • Impossibilité d’afficher votre site pendant une durée indéterminée ;
  • Perte partielle ou totale des données.

Solution : un process de backup WordPress rigoureux.

Plus votre site web est dynamique, plus vos sauvegardes doivent être régulières. Ainsi, en cas de hacking, vous disposez d’une version antérieure à l’intrusion, prête à remplacer la pomme pourrie sans trop perdre de données.

Selon votre niveau technique et vos moyens financiers, deux options s’offrent à vous pour sauvegarder un site wordpress :

  • Action manuelle pour les plus techs. Dupliquez les fichiers du site depuis votre FTP et sauvegardez votre base de données depuis son espace d’administration ;
  • L’utilisation d’un plugin dédié, de type BackupWordPress ou BackWPUp : un petit temps de prise en main mais déjà plus simple.

Dans tous les cas, des sauvegardes régulières vous assurent la tranquillité. Et surtout, stockez-les ailleurs !

#2 Mise à jour WordPress : la base de la base

On ne le dira jamais, assez alors je le redis : il est impossible de sécuriser WordPress s’il n’est pas à jour ! Avant tout contrat de maintenance WordPress, j’impose systématiquement une remise à niveau préalable, car maintenir un site non mis à jour revient à se tirer une balle dans le pied.

Faire la maintenance d'un site WordPress non mis à jour revient à se tirer une balle dans le pied… Click to Tweet

J’aime bien les comparaisons médicales, car elles nous parlent plus : si vous ne faites pas le rappel du vaccin antitétanique de votre enfant, il n’est plus à jour. Vous savez ce que cela signifie…

WordPress est en perpétuelle évolution : il s’améliore, s’adapte aux avancées technologiques, et corrige ses propres bugs. Il fournit un service au temps T, pas au temps T-2 ans.

Risque :

Le risque de piratage est fonction croissante de l’ancienneté de la version WordPress de votre site. On en revient à la fameuse hygiène décrite plus haut : mettre à jour WordPress.

Solution : suivre bêtement le processus de mise à jour WordPress.

Selon la version de WordPress en place sur votre site :

  • Pour les versions récentes, l’update se fait tout seul pour les mises à jour de sécurité (rien à faire dans ce cas, c’est automatique) ;
  • Pour les versions antérieures à 3.7, c’est à vous de faire une mise à jour manuelle depuis le back-office.

Le second cas est périlleux, car vous n’avez pas con ;naissance de la capacité des éléments de votre site (notamment le thème et les plugins, voir paragraphe suivant), à s’adapter à une mise à jour du logiciel. En cas d’incompatibilité, les choses peuvent mal tourner. Avant toute action de mise à jour manuelle WordPress, je vous invite donc à revenir de toute urgence au paragraphe précédent : la sauvegarde 😉

#3 Mises à jour du thème et des plugins

Tout autant que le logiciel, votre thème et vos plugins ont besoin de mises à jour. Sachez que de nombreuses failles de sécurité WordPress proviennent ce que vous (ou votre prestataire) avez ajouté. Les thèmes et les plugins sont codés par des développeurs tiers. Ils suivent par conséquent la même logique que WordPress : ils sont en perpétuelle évolution et ne pas les mettre à jour augmente les risques.

Risque :

Identiques au point précédent : sécuriser WordPress impose de systématiser vos updates. Un défaut de mises à jour ouvre des portes de plus en plus nombreuses au fur et à mesure que le temps passe.

Solution : update, update, update

Ici encore, les manipulations sont simples :

  1. Effectuez un backup WordPress avant toute action 😉
  2. Mettez à jour votre thème à chaque release ;
  3. Mettez à jour vos plugins très régulièrement :
mise-à-jour-plugin-wordpress
Si on vous le propose, il y a une raison

Un conseil pour vos plugins : plutôt que de procéder à la volée, je recommande une mise à jour progressive, un plugin après l’autre. Entre chaque mise à jour, vérifiez l’état de votre site. Ainsi, en cas d’incompatibilité, vous identifierez immédiatement le plugin à incriminer.

#4 Choisissez des mots de passe mortellement complexes

Vous ne voulez pas qu’un robot le devine, non vous ne le voulez pas.

Oubliez donc “motdepasse” et concevez des mots de passe complexes, même pour les machines. Vous trouverez par exemple ici un générateur de mots de passe à bookmarker.

#5 Charité bien ordonnée commence par soi-même

Un conseil simple et tellement évident sur le papier :

Si vous piratez... vous serez piraté #wordpress #securite Click to Tweet

Je m’explique : nombreux sont encore ceux qui, pour s’éviter l’achat d’un plugin X ou d’un thème Y choisissent “la ruse” :

Tout se télécharge si l’on sait où chercher, un petit téléchargement illégal, et hop…

N’oubliez jamais ce que “hop” signifie en réalité :

Je décide en toute conscience de sortir du circuit de contrôle qualité WordPress et j’installe sur mon site des éléments dont le code est “sans-filet ».

Malin… (?)

#6 Réduisez au minimum la quantité de comptes utilisateurs

  • Un utilisateur = un risque.
  • X utilisateurs = X risques.

Supprimez régulièrement tous les utilisateurs inutiles et/ou obsolètes !

#7 Un bon système d’alerte

Voici la brique manquante pour sécuriser son site wordpress :

En suivant les règles décrites précédemment, vous veillez sur l’intérieur de votre site. Les choses n’étant pas si simples, il faut également veiller sur l’extérieur : qui vient sur votre site.

Et surtout, quoi ? Nous voici face aux fameux robots : allons-nous les laisser se promener chez nous à la recherche d’une porte d’entrée ?

C’est ici que l’utilisation d’un bon plugin de sécurité WordPress de type Wordfence, ou Secupress de Julio Potier (Cocorico), prend tout son sens. Ces bijoux de technologie, moyennant un peu de paramétrage et de prise en main, permettent d’anticiper et de repousser une grande partie des visiteurs indélicats : verrouillage de certains pays, blocage d’adresses IP, etc.

blocage-ip-wordpress
Fermez la porte aux visiteurs indésirables

 

Sans entrer dans le détail des fonctionnalités offertes, retenez surtout une chose : vous les voulez !

Les suggestions que je vous propose ci-dessus ne sont pas exhaustives (rien ne l’est). Mais respecter cette hygiène réduira vos risques, car vous opposerez une barrière à l’entrée plus solide que des WordPress qui ne sont pas entretenus.

Les plus faibles tombent avant les plus forts

(Darwin, si tu nous écoutes…)

Dans quel cas externaliser votre maintenance WordPress ?

La maintenance, grosso modo, c’est tout ce qu’on a vu plus haut. Selon le prestataire, cela peut s’étendre à la réparation de votre site en cas de piratage (cela arrive même à des sites bien entretenus, malheureusement).

Quand elle n’est pas professionnalisée, la maintenance d’un site WordPress représente un minimum de 3 heures par mois.

Si vous gérez un site “passe-temps” ou si vous disposez de peu de ressources budgétaires, votre choix stratégique portera naturellement vers le DIY (“Do It Yourself”) : les actions étant assez simples, vous prendrez rapidement le pli.

La question de l’externalisation vient à se poser dans les situations suivantes :

Vous facturez votre temps

Le raisonnement est simple :

Que vaut votre temps ?

Admettons que vous êtes consultant, vous facturez vos prestations au temps passé.

Admettons que vous facturez 100€HT/heure. La maintenance de votre site représente pour vous un coût théorique de 300HT/mois (soit 3 heures par mois).

Si vous ne manquez pas de travail (mais de temps, donc), la logique est alors strictement comptable : mieux vaut utiliser votre temps là où il rapporte le plus.

Les sociétés comme la mienne ont développé des process qui permettent d’industrialiser la maintenance et, ce faisant de sécuriser WordPress dans un écosystème ultra-qualitatif pour un coût largement inférieur à 300HT/mois.

Vous gérez plusieurs sites WordPress

Imaginons que vous vendez dix sites chaque année : la charge horaire mensuelle de maintenance devient 30h.

Se pose à nouveau la question très concrète de la rentabilité : imaginons que vous facturez votre production à un taux horaire de 100€HT. La maintenance de vos sites WordPress pèse dans ce cas de figure un poids théorique mensuel de 3000€HT sur votre production.

Mathématiquement, si vous trouvez un prestataire capable de fournir une maintenance sérieuse de vos sites pour un coût horaire inférieur à 100€HT, vous gagnez de l’argent, la valeur de votre production étant supérieure à celle dudit prestataire.


Le dernier paragraphe de cet article prêche évidemment pour ma paroisse. Toutefois, le raisonnement se veut (j’espère y parvenir) une base de réflexion neutre, qui vous permettra, selon vos contraintes, d’évaluer la situation de votre/vos site/s en matière de sécurité, et vos options.