Sécurisez votre page de connexion WordPress

10

Sécuriser son WordPress est devenu un vrai casse-tête. Entre les failles de sécurité dans le CMS lui-même, les extensions permissives et les thèmes douteux… Il faut faire attention. Comme tout le monde, j’ai lu de nombreux articles pour optimiser et sécuriser mon WordPress. Sauf que voilà, la semaine dernière je n’y ai pas échappé. Aujourd’hui, je vous propose de trouver une astuce simple à mettre en place… et très efficace. En 10 minutes, vous allez sécuriser la page de connexion de WordPress (sans plug-in / extension).

hacker

Sécuriser wp-login.php

Pour se connecter à WordPress, il faut obligatoirement passer par la page wp-login.php. Cette page est la même pour tous les blogs. Sur cette page, ces derniers reçoivent des centaines (milliers) de tentative de connexion. Je vous propose une technique de protection sans extension et qui devrait bloquer 95% des attaques de type Brute-force. Avec cette méthode, pour accéder à la page wp-login.php, il faudra désormais avoir un cookie (de session). Comment ? En passant par une autre page…

Tout d’abord, vous allez créer un fichier avec le nom que vous voulez (exemple : connexion-blog.php) avec ce contenu :

<?php
setcookie("cookie-secure-blog", 1234567890);
header("Location: wp-login.php");
?>

C’est tout. Bien sûr, vous changerez le nom du cookie cookie-secure-blog et sa valeur 1234567890. Que fait ce code ? Il positionne tout d’abord un cookie de session dans le navigateur et ensuite il redirige directement vers la page wp-login.php. Maintenant, il ne vous reste plus qu’à l’envoyer sur votre blog en FTP. Simple non ?

Maintenant, nous allons interdire l’accès à la page wp-login.php si l’utilisateur ne dispose pas de ce cookie. Pour cela, il faudra mettre ces lignes dans votre fichier .htaccess (avant « # BEGIN WordPress ») à la racine de votre blog WordPress :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*cookie\-secure\-blog=1234567890.*$ [NC]
RewriteRule wp-login.php - [F]
</IfModule>

Faite bien attention à la cohérence du nom du cookie et à sa valeur entre connexion-blog.php et .htaccess.

Maintenant, si un utilisateur tape dans son navigateur http://www.nomdevotreblog.fr/wp-login.php il aura une belle page « Error 403 – Forbidden ». Le deuxième atout, c’est que cela déchargera sensiblement votre blog.

forbidden-wp-login

Maintenant, s’il passe par la page http://www.nomdevotreblog.fr/connexion-blog.php il accédera directement à la page connexion wordpress wp-login.php que l’on connaît bien.

Et les 5% restants…

Sympa, mais ça ne protège que 95 % des attaques… et les 5 % restants ? Le risque 0 n’existe pas cependant vous pouvez encore réduire ce risque d’attaque en installant une des extensions ci-dessous 😉

2 extensions, sinon rien…

Il existe de nombreux outils sous forme d’extension comme par exemple Limit Login Attempts ou BruteProtect. Le premier bloque les adresses IP ayant réalisées trop de tentatives infructueuses (paramétrable). Le second traque et recense les millions d’attaques à travers le monde… et bien sûr, vous en prémunit. On notera que celui-ci est désormais directement intégré dans JetPack.

source

image hacker

Partager.

A propos de l'auteur

Passionné de nouvelles technologies, je suis un touche-à-tout. Mon smartphone ne me quitte (presque) jamais. Je peux vous parler des NAS pendant des heures.

  • Salamafet

    Fonctionne pas chez moi 🙁

    • Fx

      Étrange… A quel moment cela ne fonctionne pas chez toi ? As-tu vider le cache de ton navigateur ?

      • Salamafet

        Je vais retenter en vidant le cache mais j’ai l’impression que le cookie ne contient même pas la bonne valeur.

      • Fx

        Le problème est peut-être là 😉 Regarde la tête du cookie lorsque tu passes par la page temporaire 😀

      • Salamafet

        Toujours rien. J’ai la page forbidden.

      • Salamafet

        Bingo !
        J’ai du mettre des guillemets autour de la valeur de mon cookie même si la valeur est numérique. Ca fonctionne maintenant. Merci pour l’astuce 🙂

  • Nathan

    Merci, super utile 🙂

  • Pour ceux qui utilisent un serveur sous Linux, voici une solution clean et super efficace : http://blog.seboss666.info/2015/02/augmenter-un-peu-la-securite-de-wordpress-avec-fail2ban/
    ça bloque le bruteforce et ça ban l’IP de l’attaquant. Je m’en prends tout les jours 😉

  • Loick

    La règle de réécriture de l’url avec comme condition le cookie bloque le fonctionnement des plugins de mon WordPress, normal?

    • Fx

      Non, ce n’est pas normal. Testé sur plusieurs sites, aucun souci. Le souci peut venir d’une erreur dans le .htaccess

Lire les articles précédents :
Edito du 28 juillet

Salut les Geeks, J'espère que vous allez bien. Malgré la période des vacances, vous êtes toujours aussi nombreux à visiter...

Fermer