Protéger (un tout petit peu) son site sous WordPress

wordpress-logo-stacked-rgb

Si vous êtes sous WordPress (ou même sans ça) vous avez peut être remarqué une vague d’attaque sur les blogs / sites utilisants ce très bon CMS..

C’est une attaque de type « bruteforce » qui consiste à essayer plein de combinaisons de noms d’utilisateur / mot de passe pour tenter d’entrer sur un système. Ca peut marcher sur pas mal de systèmes où les gens utilisent par exemple « admin/password » en combinaison. Si si .. ça existe.

Bref, si vous avez un blog WordPress voici deux trois pistes pour se protéger de failles à la con.

1) Avoir un site à jour et de même pour vos plugins et thèmes

Cela peut paraitre le plus évident mais un WordPress pas à jour, c’est un WordPress avec plein de failles découvertes, documentées et exploitables. Et si vous cherchez un peu les listes sont longues.

Aussi , évitez les plugins de source douteuse, les thèmes « gratuits » alors que normalement ils sont payants. C’est une bonne base pour éviter des « surprises ». Ce conseil s’applique à tous les CMS..

Donc : on met à jour son WordPress (en le sauvegardant avant), on met à jour ses plugins et ses thèmes. Et on vire ce dont on ne se sert pas ou on le désactive. C’est en plus particulièrement simple sur WordPress qui gère les mises à jour en quelques clics…

2) Virer le compte « admin » de votre WordPress et avoir un mot de passe costaud

Par défaut un blog WordPress est créé avec le compte admin et même si c’est changeable à l’installation, peu de gens s’en chargent. C’est con : c’est le compte le plus attaqué par les robots.

Bref, si vous voulez corriger ça c’est facile dans WordPress : créez un nouvel administrateur avec un pseudo non générique , comme votre prénom. Puis supprimez l’ancien utilisateur admin, le CMS vous proposera de réattribuer les articles à votre nouveau compte.

Là encore un conseil qui n’est pas que pour WordPress. Côté mot de passe évitez votre prénom, nom de famille, un mot générique etc .. Et si vous êtes un peu bourrin générez en un avec un utilitaire comme celui-ci. Et après se servir d’un outil comme Dashlane pour le stocker 😉

Donc : on n’utilise pas les noms de compte Administratifs par défaut, on supprime celui par défaut si on en a un. Sinon il ne faut pas s’étonner des attaques, c’est un peu comme mettre la clef de sa maison sous le paillasson et s’étonner que quelqu’un soit entré : les gens / robots cherchent d’abord les endroits génériques, surtout si l’attaque n’est pas ciblée.

3) Détecter les tentatives de bruteforce ou de login malintentionné

Un petit plugin gratuit permet de faire ça sous WordPress .. il s’appelle Limit Login Attempts et je l’utilise sur mes sites depuis maintenant quelques temps (genre .. 2 ou 3 ans). Il devrait faire partie du coeur de WordPress tant la fonction est .. évidente.

Une fois activé il permet de bloquer un utilisateur qui fait plus de X tentatives de login infructueuses (le nombre de fois est réglé .. par vous) pendant Y minutes. C’est simple et efficace :

Allez. Vous l’installez. Comme tout le monde. Ou si vous voulez un autre plugin plus complet, il y a WordFence ou Better WP Security.

Donc : une solution simple qui peut limiter pas mal de dégâts et servir d’alerte en cas de tentatives sur votre site. Avec le plugin Limit Login Attempts j’ai par exemple un jour été alerté que quelqu’un était proche de trouver le mot de passe de mon blog.. Attention cependant à ne pas se dire une fois le plugin installé que vous êtes à l’abri de tout. C’est comme un antivirus : ça peut protéger de beaucoup, mais pas de tout (et encore moins d’une erreur humaine).

4) Faire une modification sur votre .htaccess

C’est une méthode peu usuelle mais qui marche aussi .. mon fichier .htaccess n’autorise pas les gens à accéder à http://gonzague.me/wp-admin/ car il faut arriver avec une URL particulière pour avoir le droit d’accéder à l’admin.

Il faut mettre ce petit bout de code assez haut dans votre .htaccess et .. bien sur remplacer les valeurs avec l’URL de votre site par exemple. C’est plus clair sur celui là où l’on remplace tennis et domain.com par un mot secret et par votre nom de domaine.

Une fois ceci en place, pour accéder à votre site vous utiliserez l’url http://votredomaine.com/wp-login.php?motsecret=true

5) Sécurisez un peu votre hébergement

Si vous avez quelques connaissances dans ce qui concerne les DNS etc , vous pouvez protéger votre site avec un système tel que CloudFlare et / ou sécuriser votre serveur si vous utilisez un serveur dédié.. avec des choses basiques mais puissantes comme Fail2ban.

Bref ..

Avec du bon sens, et en fouillant un peu si vous êtes plus « technique » vous pouvez déjà vous protéger de la plupart des attaques dont cette vague de bruteforce sévissant actuellement. Cela ne protège pas de tout mais c’est déjà un début 🙂

Petits plus :
– si vous utilisez Google Webmaster Tools, vous pouvez recevoir une alerte en cas de piratage (détecté) de votre site

20 commentaires

  1. Merci pour l’idée du plugin « Limit Login Attempts « , je vais tester ça de suite sur mon site 🙂

  2. Merci beaucoup pour ces bons conseils. Grace à toi, j’ai découvert WordFence et 2 scripts encodés en base64 planqués dans des dossiers quelconques de mon WordPress … Après décodage et vérification, il s’agissait bien de d’un backdoor permettant absolument tout sur l’hébergement. L’onglet « live traffic » est également sympa pour checker les tentatives sur /wp-admin. Je pense que je suis clean désormais, les scripts avaient du être injectés grâce à une faille dans un ancien script timthumb. On retrouve ce script dans de nombreux thèmes WordPress, donc je conseille à ceux qui comme moi en ont testé pas mal de les supprimer).

  3. Je suis d’accord c’est efficace. Mais tellement pas pratique… Enfin perso je me connecte souvent à mes différents blogs et ça devient plus une contrainte qu’autre chose.

  4. C’est un choix à faire je pense : oui c’est plus compliqué, mais ton compte est protégé. Personnellement j’utilise les options de double authentification sur tous les services où cette option a été ajoutée (Google, Dropbox, WordPress et WordPress.com, …)

    Et puis bon, on a tous notre smartphone à portée de main en permanence de toute façon 🙂

  5. Oui, on a tous le smartphone sous la main, mais ce que je trouve chiant c’est de copier un mot de passe compliqué depuis son smartphone. Ça c’est chiant ^^

  6. Au temps pour moi… J’avais regardé trop rapidement sur le net le service et j’avais vu des clés plus compliquées, mais ce sont celles pour activer l’API sur WordPress… Je vais me cacher 😛

  7. Bonjour, vous pouvez aussi utiliser un certificat SSL pour identifier l’administrateur, n’autoriser que les réseaux locaux et VPN puis finir la sécurisation en détectant les bots grace a fail2ban

  8. C’est une solution qui me permet de dépenser moins au finale car les IPS des attaquants sont bloqué, du coup la charges des serveurs baisse.

  9. Je n’ai jamais testé cloudflare ni aucun CDN, je ne pense pas que ce soit une réel sécurité car quand ont est pas slovaque ou bulgare ou sais directement ou chercher une faille, enfin quand on est développer PHP.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *