22 étapes pour protéger son site WordPress : sécurité anti-hacker

Nous avons fait une compilation de recommandations pour protéger au maximum votre WordPress. Étant donné qu’il s’agit du système de gestion de contenu le plus utilisé au monde, il est assez courant de recevoir des attaques de pirates, des attaques par force brute et des bots. Si vous avez coché toutes les options par défaut, vous risquez d’avoir un problème de sécurité qui vous prive d’un site web ou qui inclut un code malveillant. Voyez lesquelles de ces actions vous pouvez entreprendre pour être beaucoup plus protégé.

Ne pas utiliser le préfixe wp_ pour la base de données

Dès l’installation de WordPress, vous devez spécifier une série d’informations que vous devez saisir pour que WordPress puisse communiquer avec la base de données.

La plupart de ces informations sont fournies par votre fournisseur d’hébergement, comme le nom de la base de données, le nom d’utilisateur de la base de données et le mot de passe de la base de données. Mais il y a une décision à prendre : décider du préfixe des tables qui seront créées pour WordPress.

Par défaut, sur cet écran, le préfixe proposé est wp_, de sorte que vos tables ressembleront à wp_options, wp_comments, wp_posts, etc.

Et, bien sûr, c’est quelque chose que tous les pirates savent, et c’est une information gratuite que nous donnons à tout attaquant éventuel, qui sait que si vous ne faites pas une installation sécurisée, les tables WordPress – qui sont standard – auront ces noms complets si vous ne changez pas le préfixe.

Ainsi, le premier endroit où vous devriez commencer à sécuriser WordPress est avant même de l’installer, dans cette étape : changez le préfixe des tables par défaut (wp_) par un autre de votre choix, par exemple wptabla_ ou X1jM_ ou ce que vous voulez. L’important n’est pas de savoir s’il est long ou compliqué, mais au moins de ne pas laisser le préfixe par défaut.

N’utilisez pas l’utilisateur admin pour vous connecter à WordPress.

Une autre décision que nous devons prendre lors de l’installation de WordPress est le nom du premier utilisateur à accéder à l’administration de notre site web, utilisateur qui par défaut aura toutes les permissions pour le gérer.

Depuis des années, WordPress propose un nom d’utilisateur par défaut que, bien entendu, vous ne devez pas utiliser. Ainsi, lorsque vous choisissez le nom de votre premier utilisateur pour accéder à WordPress, ne choisissez pas les noms courants pour cette tâche, comme admin, Admin, root, etc., car ce sont les premiers qu’un pirate qui veut prendre possession de votre site Web vérifiera.

Utilisez un mot de passe fort

Je sais qu’il est difficile de vous faire écouter avec cette astuce de base, mais il est essentiel que vous soyez conscient que plus un mot de passe est facile à retenir (pour vous), plus il sera facile pour les systèmes automatiques d’accès par force brute des attaquants de l’obtenir.

WordPress, dans ses dernières versions, intègre un générateur de mots de passe sécurisés et vous “suggère” de les utiliser. Ce sera toujours la meilleure option. Vous pouvez toutefois ignorer cette recommandation et utiliser un mot de passe simple et peu sûr, mais vous commettriez alors la plus grande et la plus importante des erreurs de sécurité possibles.

De nos jours, il est inutile d’utiliser des mots de passe faciles, car tous les navigateurs offrent la possibilité de les mémoriser pour vous sur votre ordinateur. Utilisez donc toujours des mots de passe forts, contenant des lettres minuscules, des lettres majuscules, des chiffres et des caractères spéciaux.

Si vous avez de nombreux utilisateurs enregistrés, vous pouvez même forcer le changement des mots de passe afin qu’ils soient tous sécurisés, y compris celui des administrateurs. Par exemple :

  • Obliger le changement des mots de passe tous les 30 jours.
  • Réinitialisation de tous les mots de passe

Utilisez toujours la dernière version de WordPress

S’il y a quelque chose de dangereux, c’est de travailler sur un réseau dont les logiciels sont obsolètes ou insuffisamment mis à jour. Les pirates ont tendance à attaquer les sites dont les versions sont plus anciennes et non mises à jour, car elles sont généralement plus vulnérables du fait qu’elles n’intègrent pas une protection suffisante contre les types d’attaques connus.

Heureusement, WordPress propose un système de mises à jour automatiques, tant pour le noyau de WordPress lui-même que pour les plugins et les thèmes.

Par défaut, vous n’avez pas à vous soucier de la maintenance et des mises à jour de sécurité de WordPress, car il les effectue sans votre intervention. Il vous informera simplement de sa mise à jour. Mais vous devrez effectuer, même d’un simple clic, les mises à jour vers les versions dites “majeures”.

Par exemple, vous n’avez pas besoin d’intervenir pour passer de la version 4.3.1 à 4.3.2, WordPress les met à jour pour vous. Mais c’est le cas de la version 4.3.x à 4.4, même si le processus est aussi rapide et facile que de cliquer sur un bouton.

Les pirates attaquent surtout les sites web dont la version n’est pas mise à jour, car ils sont plus vulnérables.

Mise à jour des plugins installés

WordPress est sécurisé, et c’est normal car il y a une grande communauté qui s’occupe de sa maintenance, de son développement et de sa croissance, mais il n’en va pas de même pour les plugins.

Quel que soit le degré d’utilisation d’un plugin, il n’y a souvent qu’un seul programmeur derrière celui-ci qui, pour des raisons évidentes, n’a pas les ressources ou le temps nécessaires pour que son plugin soit toujours à jour.

C’est pour cette raison que le principal point d’entrée des attaques sur une installation WordPress se fait principalement par les plugins qui n’ont pas été mis à jour.

WordPress propose un système d’avertissement et de mise à jour automatique des plugins installés, donc lorsque vous voyez qu’un plugin doit être mis à jour, n’y pensez pas.

Si vous n’utilisez pas les plugins du répertoire officiel, WordPress peut ne pas identifier automatiquement si des mises à jour sont disponibles. Dans ce cas, vous devrez garder un œil sur le site web du développeur.

Mettre à jour le thème actif

Il est tout aussi important de toujours utiliser une version mise à jour du thème actif, car les pirates savent qu’ils ne les modifient pas très souvent, ce qui leur laisse le temps d’apprendre de votre code et d’inventer des moyens de vous compliquer la vie, voire de vous attirer des ennuis.

Si vous utilisez un thème du répertoire officiel, là encore, WordPress vous informera des mises à jour. Et si vous utilisez un plugin que vous avez acheté ailleurs, vous devrez surveiller les mises à jour de son créateur.

N’utilisez pas de plugins ou de thèmes obsolètes.

L’une des plus importantes sources de vulnérabilité sont les plugins et les thèmes obsolètes ou abandonnés par leurs développeurs. Vérifiez fréquemment le site Web du développeur de votre thème et de votre plugin pour voir s’il a récemment mis à jour son produit et, si ce n’est pas le cas, cherchez une alternative qui offre les mêmes fonctionnalités.

Si vous utilisez des thèmes et des plugins du répertoire officiel de WordPress, vous trouverez toutes les informations disponibles, comme la date de la dernière mise à jour et la compatibilité avec les dernières versions de WordPress.

En outre, le répertoire officiel de WordPress supprime automatiquement les plugins et les thèmes qui n’ont pas été mis à jour depuis plus de deux ans, ce qui constitue une garantie supplémentaire.

Si vous utilisez des thèmes et des plugins téléchargés à partir d’autres sites, vous devez vérifier leur site Web et installer manuellement les éventuelles mises à jour.

Supprimez les plugins et les thèmes inutilisés

Dans la lignée de l’action précédente, il est dangereux d’avoir des plugins et des thèmes inactifs installés, pour la simple raison que nous y prêterons moins attention parce qu’ils ne sont pas actifs. Non seulement ils prennent de l’espace sur votre hébergement, mais ils constituent également une porte d’entrée vers d’éventuelles vulnérabilités sur votre site web.

Le seul thème actif que vous devriez laisser installé est le dernier thème par défaut de WordPress disponible (en ce moment Twenty Fifteen), ce qui constitue une règle de protection supplémentaire pour votre site Web, car si WordPress détecte un problème dans votre thème actif et ne peut pas le charger, il essaiera automatiquement d’activer le thème par défaut s’il le trouve installé.

Téléchargez des plugins et des thèmes à partir de sites sécurisés

L’endroit le plus sûr pour télécharger des plugins et des thèmes est le répertoire officiel, où vous trouverez des versions mises à jour, testées et sécurisées des derniers développements. Il s’agit des thèmes et des plugins que vous pouvez installer à partir du programme d’installation inclus dans votre WordPress, et vous pouvez également vous rendre aux adresses suivantes :

https://fr.wordpress.org/plugins/

https://fr.wordpress.org/themes/

En outre, il existe des places de marché pour les thèmes et les plugins, comme Envato, Woothemes ou Elegant Themes, qui offrent une grande qualité et un grand soin pour leurs produits.

Bien entendu, ne téléchargez jamais de plugins et de thèmes à partir de réseaux P2P comme Torrent ou eMule, ils sont généralement infectés par des virus et des logiciels malveillants.

Protégez votre fichier de configuration WordPress

Le fichier de configuration de WordPress, le fichier wp-config.php, contient des informations très sensibles sur votre serveur :

  • Nom de la base de données
  • Utilisateur de la base de données
  • Mot de passe de la base de données
  • Préfixe de la table de la base de données.

C’est pourquoi il est essentiel de le protéger des regards indiscrets et, bien sûr, des modifications non souhaitées.

Pour ce faire, vous pouvez effectuer les actions suivantes :

  • Déplacez-le vers un dossier supérieur, donc s’il se trouve dans le chemin …/public_html/midominio.es/ déplacez-le vers le dossier …/public_html/.
  • Protégez-le en écriture en changeant les permissions à 444.
  • Ajoutez les règles suivantes au fichier .htaccess d’Apache pour empêcher tout accès indésirable :
<Files wp-config.php>
ordre autoriser,refuser
refuser de tous
</Files>

Protégez le dossier des téléchargements

Le dossier uploads, situé dans le chemin tusitio.es/wp-content/uploads où vous téléchargez les images et les documents que vous joignez à vos articles WordPress, est le plus sensible aux attaques. Il est donc très important de le protéger pour éviter que des virus ou des scripts malveillants ne soient exécutés à partir de lui.

Par défaut, WordPress n’autorise pas le téléchargement de fichiers exécutables dans ce dossier, mais les pirates utilisent certaines techniques pour contourner cette règle. Nous devons donc appliquer une protection supplémentaire, en définissant expressément les extensions de fichiers qui peuvent y être téléchargées.

Pour ce faire, nous allons ajouter les lignes de code suivantes au fichier de configuration caché Apache .htaccess, situé dans le dossier où vous avez installé WordPress :

<Files ~ ".*\..*">
	Order Allow,Deny
	Deny from all
</Files>
<FilesMatch "\.(jpg|jpeg|jpe|gif|png|bmp|tif|tiff|doc|pdf|rtf|xls|numbers|odt|pages|key|zip|rar)$">
	Order Deny,Allow
	Allow from all
</FilesMatch>

Faites des sauvegardes

S’il y a une règle fixe en matière de sécurité, c’est que quelles que soient les mesures appliquées, il y aura toujours une nouvelle vulnérabilité contre laquelle nous ne sommes pas protégés, nous aurons toujours un temps de retard sur les attaques malveillantes. Ainsi, en cas de catastrophe, la seule chose qui puisse nous sauver de la perte éventuelle de tout notre contenu est d’avoir des sauvegardes.

Vérifiez que votre fournisseur d’hébergement Web dispose de sauvegardes automatiques complètes. Et, en plus, installez un plugin de sauvegarde comme BackWPup, qui vous permet de programmer différentes tâches de sauvegarde, en étant capable de sauvegarder vos sauvegardes sur un autre serveur, de les envoyer par email, ou même d’automatiser leur sauvegarde dans des services Cloud comme DropBox, Amazon S3 ou Google Drive, entre autres.

Pour éviter les attaques d’inconnus dans votre WordPress, la règle numéro 1 est d’avoir des sauvegardes

Limitez les tentatives d’accès

La plupart des attaques actuelles contre les sites WordPress se font par des tentatives d’accès massives via l’écran de connexion, il est donc impératif de protéger l’accès interne à votre WordPress.

Pour ce faire, nous pouvons appliquer différentes mesures de sécurité :

  • Désactiver l’enregistrement des utilisateurs, ce qui empêche les utilisateurs malveillants d’exploiter les vulnérabilités potentielles pour obtenir des autorisations supplémentaires sur votre installation et la possibilité d’y apporter des modifications.
  • Ajoutez un système de vérification humaine tel que reCaptcha, qui empêche les accès indésirables des machines automatisées qui tentent d’accéder à votre site.
  • Installez un plugin pour éviter les tentatives d’accès massif comme Limit login attempts, le module Protect de JetPack ou les utilitaires de ce type de la plupart des plugins de sécurité, pour bloquer ce type d’attaques.

Installez un plugin de sécurité

La plupart des mesures de protection que nous pouvons appliquer à notre installation WordPress sont incluses dans des plugins de sécurité WordPress spécialisés.

La plupart d’entre eux contiennent des paramètres permettant d’empêcher les attaques par force brute, les injections de code et les modifications de fichiers système, y compris des systèmes d’alerte afin que vous soyez informé de toute attaque éventuelle en cours.

Les plus recommandés sont les suivants :

  • WordFence
  • iThemes Security
  • Bulletproof

Utilisez des autorisations sécurisées pour les fichiers et les dossiers

Par défaut, WordPress applique des droits de lecture et d’écriture aux fichiers et aux dossiers, qui peuvent parfois être modifiés, soit automatiquement par certains plugins, soit manuellement en téléchargeant vous-même des fichiers depuis les utilitaires de cPanel ou même via des clients FTP.

Les permissions par défaut que les fichiers et les dossiers doivent avoir dans WordPress sont les suivantes :

  • Fichiers : 644
  • Dossiers : 755

Si un fichier ou un dossier a plus de permissions, il peut être une source de vulnérabilité. Vous devez les modifier pour rétablir les autorisations par défaut à partir du gestionnaire de fichiers de cPanel ou de votre client FTP préféré.

Utilisez un proxy inverse comme CloudFlare

Une mesure qui améliorera non seulement la sécurité mais aussi la sécurité de WordPress est d’utiliser un service CDN, ou réseau de diffusion de contenu à distance comme CloudFlare, avec un plan gratuit très complet et des plugins qui facilitent son intégration avec WordPress.

En plus d’offrir un système de cache très puissant, il intègre également des mesures de protection telles que les suivantes :

  • L’obfuscation des e-mails, qui permet d’éviter la capture des adresses e-mail affichées sur votre site web.
  • Blocage des IP des visiteurs au comportement suspect d’attaquants
  • Toujours en ligne, pour afficher une version en cache de votre site web même lorsque vous êtes attaqué.

Créez un compte Google Search Console

L’ancien Google Webmaster Tools, désormais connu sous le nom de Google Search Console, outre les outils fondamentaux d’analyse de votre site web, offre une protection supplémentaire pour votre WordPress.

En bref, il est essentiel que vous enregistriez votre site dans la Search Console pour que Google vous en informe :

  • Mises à jour de WordPress
  • Injections de codes
  • Notifications des problèmes d’utilisation
  • Problèmes de vitesse

Des plugins comme Yoast SEO ou All in one SEO pack permettent d’intégrer WordPress à Search Console de manière simple.

Empêchez l’accès des sploggers

Si, pour une raison ou une autre, vous autorisez les inscriptions d’utilisateurs sur votre WordPress, vous devez vous protéger contre les sploggers, des utilisateurs qui s’inscrivent massivement sur des sites web pour tenter d’accéder à leurs paramètres, d’ajouter des commentaires de spam ou même d’injecter des logiciels malveillants.

La solution ultime pour ce type d’utilisateurs est, bien sûr, de ne pas activer l’enregistrement des utilisateurs (comportement par défaut de WordPress). Mais si, pour des raisons de loyauté ou de marketing, vous avez activé l’enregistrement, vous devez installer le meilleur plugin qui existe pour détecter et éliminer cette menace : WangGuard.

Protégez le fichier .htaccess

Nous avons vu plusieurs actions que nous pouvons effectuer à partir du fichier .htaccess d’Apache, mais pour la même raison, il est tout aussi important de protéger ce même fichier.

Le fichier .htaccess est un fichier sur le serveur Apache qui applique des règles à toute application installée sur votre hébergement, dans notre cas WordPress, pouvant appliquer des mesures de sécurité, entre autres.

Pour protéger également le fichier .htaccess contre les accès indésirables, vous pouvez inclure les lignes suivantes dans le même fichier :

<files .htaccess>
order allow,deny
deny from all
</files>

Protégez-vous du spam

L’une des tâches habituelles de tout administrateur d’un système de gestion de contenu, tel que WordPress, est de contrôler le spam dans les commentaires. D’abord, parce que c’est une source de distractions et de liens indésirables dans les formulaires de commentaires. Et deuxièmement, parce que certains pirates utilisent ces formulaires pour injecter du code qui pourrait compromettre la sécurité de votre installation WordPress.

Pour cela, nous pouvons, et devons, appliquer différentes stratégies :

  • Ajoutez un système de vérification humaine Captcha en utilisant les plugins Really Simple CAPTCHA ou le WangGuard dont nous avons parlé précédemment.
  • Activez un plugin de vérification du spam comme Akismet.
  • Protégez vos formulaires contre l’injection de caractères spéciaux.

Et, bien sûr, et sans installer quoi que ce soit, appliquez des règles de contrôle du spam à partir des Réglages -> Commentaires de votre installation WordPress :

  • Approuver manuellement tous les commentaires.
  • Ajout de règles pour marquer automatiquement les commentaires indésirables comme spam.

Évitez la vulnérabilité du pingback

Il existe une vulnérabilité spécifique, connue sous le nom de vulnérabilité pingback, qui mérite une mention spéciale car, bien que facile à corriger, elle laisserait inactives des fonctions importantes de WordPress telles que la gestion à distance, l’utilisation d’applications mobiles ou encore le système de pingbacks et trackbacks.

Il est lié au protocole XML-RPC, qui est celui qui permet à WordPress de se connecter, par exemple, à l’application WordPress pour iOS ou Android, ainsi qu’aux éditeurs hors ligne et à certains systèmes de syndication de contenu, de sorte qu’en principe l’inactivation de ce protocole ne semble pas souhaitable.

L’inconvénient est qu’il s’agit d’une voie ouverte à d’éventuelles injections de code par des attaquants.

Toutefois, si vous avez clairement établi que vous n’utiliserez jamais ce type d’applications, la solution est aussi simple que de supprimer le fichier de l’installation WordPress appelé xml-rpc.php.

Le seul problème est que lorsque vous mettez à jour WordPress, il sera recréé. Une mesure plus précise serait donc d’ajouter ces lignes au fichier .htaccess déjà connu :

# proteger xmlrpc
<Files xmlrpc.php>
	Order Deny,Allow
	Deny from all
</Files>

Vérifiez si des modifications ont été apportées aux fichiers de votre installation WordPress.

Vous devez garder à l’esprit que la sécurité doit être une préoccupation permanente et active. Mais heureusement, WordPress nous aide à automatiser un grand nombre de ces tâches et ce, de manière totalement gratuite la plupart du temps.

Et un excellent moyen de garder un œil sur notre installation WordPress est d’utiliser des plugins comme iThemes Security ou WordFence, vus ci-dessus. Ces plugins surveillent pour nous l’intégrité et les éventuelles modifications des fichiers de notre installation WordPress, en essayant d’éviter les modifications et, lorsque ce n’est pas possible, en nous avertissant de ces changements pour que nous puissions les annuler et rester ainsi en sécurité.

Connaissez-vous d’autres astuces pour améliorer la sécurité ?

J’espère que toutes ces astuces et actions pour protéger WordPress vous seront utiles. Elles ne sont pas toutes existantes, mais ce sont les plus importantes. Cependant, je suis sûr que vous connaissez d’autres astuces, alors n’hésitez pas à m’en faire part dans les commentaires.

Par ailleurs, si vous avez des questions, je suis impatient de les entendre et d’y répondre.

Découvrez également :