Sécurité WordPress : le gros guide pour se protéger du piratage


Aujourd’hui, nous allons parler piratage de WordPress et surtout, comment s’en protéger !

WordPress est une plateforme idéale pour créer son blog mais comme beaucoup de CMS, il est exposé aux risques de piratage car sa structure reste la même pour tout le monde. Que votre blog soit gros ou petit, connu ou pas, blanc ou rose fluo, vous avez des dossiers qui s’appellent « wp-admin », « wp-content », « wp-includes », etc. Et les pirates le savent bien ! C’est pourquoi il est important de rappeler quelques conseils pour se protéger du piratage de WordPress.

Dans ce guide, voici les sujets qui vont être abordés :

Vous pouvez soit lire ce guide dans son intégralité, soit accéder directement à la partie qui vous intéresse en cliquant sur chaque lien.

Piratage de WordPress : apprendre à sécuriser son blog
Piratage de WordPress : apprendre à sécuriser son blog

Qui peut vouloir pirater mon blog WordPress ?

Les blogueurs débutants imaginent souvent qu’il faut être très connu et influent pour être victime d’un piratage. On pense aussi parfois que le piratage est causé par des personnes jalouses qui souhaitent vous nuire.

En réalité, la plupart des situations de piratage correspondent à des attaques en série, menées à grande échelle. Des individus mal intentionnés vont par exemple cibler tous les blogs qui utilisent un plugin particulier qui présente une faille de sécurité et vont essayer d’exploiter cette faille pour s’introduire dans votre blog.

Pour quoi faire ? La plupart du temps, le piratage de WordPress va permettre à ces personnes d’utiliser votre site pour envoyer du spam. En résumé, elles vont exploiter votre installation et vos ressources pour envoyer des milliers d’e-mails ou diffuser un message de propagande quelconque. Vous l’aurez compris, ce qui compte pour ces pirates n’est donc pas votre identité mais plutôt la perspective de pirater un maximum de blogs afin de servir leur objectif final.

Pensez toujours à sécuriser votre blog, si petit et modeste soit-il à vos yeux !

Note : Si vous n’avez pas envie de plonger (longuement) dans la sécurité WordPress, vous pouvez directement accéder à cette sélection de plugins et d’outils qui permettent de sécuriser son blog.

Guide pour sécuriser son blog WordPress

Comment sauvegarder son blog pour ne pas perdre le contenu ?

Avant de chercher à protéger son blog du piratage, il me paraît primordial de prendre l’habitude de le sauvegarder régulièrement.

Pourquoi le piratage de WordPress fait-il autant de dégâts ? C’est avant tout parce qu’il risque de vous faire perdre des semaines voire des mois de travail. On peut nettoyer un site piraté mais il est parfois impossible de restaurer son contenu si on ne dispose pas d’une sauvegarde « saine ».

A lire aussi5 bonnes raisons de sauvegarder son blog

La sauvegarde doit porter sur deux aspects :

  • La base de données du blog : c’est dans cette base de données que sont stockés les commentaires, le texte de vos articles, vos réglages personnalisés, etc.
  • Les fichiers du blog : ce sont par exemple les photos que vous avez mises en ligne, les fichiers de votre thème, etc.

Vous avez plusieurs méthodes à votre disposition pour effectuer une sauvegarde.

Sauvegarder son blog à la main

Commencez par créer un dossier sur le bureau de votre ordinateur et datez-le, c’est la meilleure manière de ne pas conserver d’anciennes sauvegardes pour rien. Ensuite, connectez-vous à votre client FTP (là où vous avez transféré les fichiers d’installation de WordPress). Vous pouvez soit copier l’intégralité des fichiers, soit copier le dossier wp-content, le fichier .htaccess s’il existe et le fichier wp-config.php (qui contient les informations de connexion à la base de données, etc.).

Faites simplement un clic droit sur chaque dossier puis cliquez sur Télécharger pour le transférer sur votre disque dur.

Sauvegarder les fichiers de WordPress depuis son FTP

Ensuite, connectez-vous à l’administration de vos bases de données : votre hébergeur a dû vous donner ces informations de connexion quand vous avez créé votre blog. Chez l’hébergeur OVH par exemple, ça se passe sur phpmyadmin.ovh.net/.

Une fois connecté, cliquez sur le nom de la base de données dans la colonne de gauche puis sur « Exporter » dans le menu de droite (cf zone en jaune ci-dessous). Validez ensuite en cliquant sur « Exécuter », sans modifier les options. Un fichier se terminant par l’extension « .sql » va se télécharger sur votre disque dur.

Sauvegarde de la base de données

Sauvegarder son blog avec un plugin

Il existe de nombreux plugins de backup pour WordPress, notamment UpdraftPlus Backup and Restoration : il gère à la fois les sauvegardes de fichiers et celles de la base de données, est régulièrement mis à jour et très bien noté par ses utilisateurs. Vous pouvez retrouver sur No Tuxedo un tutoriel pour installer et paramétrer UpdraftPlus Backup.

Confier la sauvegarde à son hébergeur

Certains hébergeurs proposent une sauvegarde automatique des fichiers et de la base de données à intervalle régulier. Ça n’empêche pas de faire soi-même des sauvegardes de temps en temps mais c’est un gage de tranquillité d’esprit.

Si votre hébergeur le propose, il est généralement possible de restaurer cette sauvegarde en un clic depuis l’administration de votre compte. Souvent, plusieurs jeux de sauvegarde sont conservés, de telle sorte que si la dernière sauvegarde en date correspond à une version piratée du blog, vous pouvez choisir une sauvegarde antérieure qui est saine.

A quelle fréquence sauvegarder son blog ?

Tout dépend de votre fréquence de publication et du temps consacré à l’écriture de vos articles. Si chaque article vous demande des heures de travail, vous pouvez avoir envie de faire une sauvegarde systématique à chaque nouvelle publication. A l’inverse, si vous publiez plutôt des articles courts, vous pouvez opter pour une sauvegarde par semaine. C’est vraiment à vous d’évaluer ce paramètre.

Quelques conseils tout de même : en général, on sauvegarde les fichiers et la base de données à des fréquences différentes.

  • La base de données s’enrichit à chaque nouvelle publication d’article ou de commentaires et elle est très rapide à sauvegarder, vous pouvez donc le faire souvent (une ou deux fois par semaine par exemple si vous publiez souvent).
  • Le transfert de fichiers est plus long : vous pouvez donc le faire moins fréquemment (1 ou 2 fois par mois par exemple).

Par ailleurs, gardez cette sauvegarde dans un endroit différent de votre FTP (sur votre disque dur, un disque externe, dans le cloud). Si de vils pirates récupèrent un accès à votre FTP et que la sauvegarde s’y trouve, elle n’aura servi à rien !

Guide pour sécuriser son blog WordPress

Mettre à jour son blog

Les plugins WordPress, tout comme WordPress lui-même, sont régulièrement mis à jour. Vous devez suivre le rythme de ces mises à jour.

Parfois, les nouvelles versions se contentent de réparer de petits bugs qui ne vous concernent pas… mais parfois, elles corrigent aussi des failles de sécurité qui ont été signalées par des utilisateurs. Continuer à utiliser un plugin « dépassé », c’est s’exposer à ce qu’un pirate utilise ces failles.

On peut attendre un jour ou deux pour installer les mises à jour afin de voir si certains utilisateurs signalent un problème mais mieux vaut les faire rapidement. De même, ne conservez pas sur votre blog un plugin que vous n’utilisez plus, même s’il est inactif.

A lire aussiBien gérer ses plugins WordPress

Comment modifier le nom d’utilisateur par défaut pour se protéger ?

La manière la plus simple de prendre le contrôle de votre blog WordPress est de connaître votre nom d’utilisateur et votre mot de passe.

Or, par défaut, quand vous installez WordPress, votre nom d’utilisateur est « admin ». Il est important de le changer, de préférence en choisissant un nom différent de votre nom de blog pour qu’il soit difficile à deviner. De même, il est primordial de choisir un mot de passe compliqué.

L’attaque par force brute : le piratage de WordPress le plus fréquent

L’attaque par force brute fait partie des formes de piratage de WordPress les plus courantes : le pirate utilise un logiciel pour tester différents mots de passe de manière automatique. Pour vous donner une idée, un ordinateur personnel peut tester jusqu’à quelques millions de mots de passe par seconde avec ce type d’attaque… et :

  • Pour un mot de passe de 6 lettres minuscules, il y a près de 309 millions de combinaisons possibles.
  • Pour un mot de passe de 6 lettres qui mélange majuscules et minuscules, on passe à plus de 2 milliards de combinaisons possibles.
  • Pour un mot de passe de 6 caractères mélangeant lettres minuscules, majuscules et chiffres, on passe à 56 000 000 000 combinaisons possibles.
  • Si vous ajoutez de la ponctuation, votre mot de passe devient quasiment impossible à pirater par ce biais.

De l’extérieur, une attaque par force brute peut être totalement invisible. Pour la voir, il faut aller dans les logs de son blog : les logs sont des fichiers qui enregistrent en temps réel TOUT ce qui se passe sur votre site. Quelles pages sont consultées, quels fichiers sont téléchargés, etc.

La plupart du temps, on ne va pas lire les logs car ils sont plutôt indigestes. Cependant, quand on suspecte un problème sur son blog, les logs peuvent aider à comprendre l’origine du dysfonctionnement. Pendant une attaque par force brute, voici à quoi les logs ressemblent :

Piratage de WordPress : attaque par force brute

La même adresse IP (198.144.36.230), c’est-à-dire le même ordinateur, essaie de manière répétée d’accéder au fichier wp-login.php qui permet de se connecter à l’administration du blog. Si votre mot de passe est très complexe, il sera presque impossible de le deviner avec ce type d’attaque. Vous pouvez définir un nouveau mot de passe en allant dans la rubrique Utilisateurs > Votre profil de votre blog WordPress.

Renommer le compte « admin »

Si vous renommez le compte administrateur par défaut, vous compliquerez encore plus la tâche des pirates. La manière la plus simple de le faire est d’aller dans le menu « Utilisateurs » de WordPress puis « Ajouter ». Créez votre nouvel identifiant difficile à deviner, par exemple « SusAuxPirates », un mot de passe compliqué, et donnez-lui le rôle d’administrateur, comme sur cet exemple :

Créer un nouvel utilisateur WordPress

Ensuite, reconnectez-vous à WordPress avec ce nouvel identifiant. Allez dans le menu Utilisateurs > Tous les utilisateurs. Cochez votre ancien compte « admin » puis choisissez « Supprimer ».

Attention : sur la page de suppression, on vous demande « Que faire du contenu ayant cet utilisateur pour propriétaire ? », pensez à choisir « Attribuer tout le contenu à : SusAuxPirates ». Sinon, tous les articles écrits avec votre ancien compte seront supprimés de votre blog… alors que si vous les attribuez au nouvel utilisateur, ils seront rattachés au nouveau compte.

Il existe d’autres moyens de connaître l’identifiant du compte administrateur mais ils impliquent souvent de regarder manuellement le code du blog WordPress, ce qui arrive rarement lors des situations courantes de piratage.

Guide pour sécuriser son blog WordPress

Comment cacher la version de ses plugins WordPress ?

Les pirates ciblent souvent les sites qui n’ont pas fait les dernières mises à jour. Or, le numéro de version d’un plugin apparaît dans le code de vos pages, n’importe qui peut donc le consulter. Si nous le cachons, nous compliquerons donc la tâche de toute personne essayant de vous attaquer par ce biais !

Facile : supprimer le fichier « readme.html »

Connectez-vous sur le FTP de votre blog et supprimez le fichier « readme.html ». Il n’est pas nécessaire au fonctionnement de votre blog et contient le numéro de version de WordPress.

Moins facile : modifier le fichier functions.php de votre thème

Le fichier functions.php d’un thème WordPress contrôle beaucoup de choses : les options de personnalisation par exemple. Il se trouve dans le dossier wp-content > themes > votretheme > functions.php. Nous allons le modifier et ajouter du code à l’intérieur.

Si le fichier se termine par la balise ?>, mettez votre code avant cette balise. Si le fichier ne se termine pas par cette balise, copiez simplement votre code au niveau de la dernière ligne. Il ne faut laisser aucune ligne blanche à la fin du fichier functions.php : si vous constatez qu’après la balise ?> il y a une ligne vide, sans code, effacez-la.

Ajoutez ce code :

remove_action("wp_head", "wp_generator"); 
function supprimer_versions( $src ){
$parts = explode( '?', $src );
$ver = '?ver=' . md5( wp_salt( 'nonce' ) . $parts[1] );
return $parts[0] . $ver;
}
add_filter( 'script_loader_src', 'supprimer_versions', 15, 1 );
add_filter( 'style_loader_src', 'supprimer_versions', 15, 1 );

La première ligne permet de supprimer un morceau de code qui apparaît sur tous les sites WordPress avec le numéro de version :
<meta name="generator" content="WordPress 4.0" />

Les lignes suivantes permettent de crypter les numéros de version des plugins. Si l’on regarde le code de la page après avoir effectué ces personnalisations, on constate que les versions ne sont plus visibles mais sont remplacées par une succession de chiffres :

Cacher les versions des plugins WordPress

Comment masquer l’administration de WordPress (wp-admin) ?

Quand vous vous connectez à votre blog, vous entrez en général l’adresse nomdemonblog.com/wp-admin/ (ou /wp-login/). Il est possible de faire en sorte que cette page renvoie une erreur pour le visiteur lambda… et de créer une « page secrète » qui vous servira de page de connexion.

Comprendre la stratégie

Imaginez la situation suivante : vous devez récupérer un papier TRÈS important dans une administration… et on vous ordonne d’aller le chercher au bureau 777. Évidemment, il y a 2h de file d’attente pour y accéder. Mais ô magie, vous recevez soudain un SMS qui vous dit « Tu peux aussi aller chercher le papier au bureau 501 ». Miracle, il n’y a personne !

Nous allons faire la même chose :

  • Le fichier wp-login.php, c’est le bureau 777 : tout le monde sait que c’est par là qu’on se connecte à WordPress.
  • Nous allons créer un message qui va dire à votre blog « non non, on peut aussi se connecter à WordPress à un autre endroit, grâce au fichier topsecret.php ! »
  • Nous allons créer le fichier topsecret.php, qui est le fameux « bureau 501 ».

Vous pourrez ainsi vous connecter à WordPress depuis un endroit secret que vous seul connaîtrez.

Un seul pré-requis pour que cette méthode fonctionne : votre hébergeur Internet doit vous permettre d’utiliser « mod_rewrite » (consultez la FAQ de l’hébergeur ou posez la question au support technique).

Etape 1 : indiquer l’emplacement du fichier mystère

Quand vous vous connectez sur le FTP de votre site, vous allez en principe voir un fichier qui s’appelle « .htaccess ».

  • S’il n’est pas déjà là, il vous suffira de le créer avec le Bloc-Notes de Windows par exemple ou une application similaire. Il faudra ensuite le mettre en ligne à la racine de votre blog, c’est-à-dire au même endroit que les fichiers qui s’appellent « wp-activate.php », « wp-blog-header.php », etc. Le point avant le nom du fichier est important. De même, c’est un fichier qui n’a pas d’extension.
  • Si le .htaccess existe déjà, faites un clic droit dessus puis cliquez sur « Afficher/Editer » ou similaire (l’intitulé peut varier selon le logiciel que vous utilisez).
    Modifier htaccess

A la fin de ce fichier, entrez le code suivant :

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

Enregistrez ensuite ce fichier .htaccess pour qu’il remplace le précédent.

Etape 2 : créer le fichier mystère

Avec le Bloc-Notes de Windows ou une application similaire (Notepad++ pour Windows, Fraise pour Mac, etc), créez un nouveau fichier… et copiez-y ce code :

<?php
setcookie("cookie-admin-blog", 494198580);
header('Location: wp-login.php');
?>

Enregistrez le fichier sous un nom que vous seul connaîtrez. Il doit se terminer par l’extension « .php ». Par exemple, « topsecret.php ». Ensuite, mettez ce fichier sur le FTP au même endroit que le fichier .htaccess.

Le fichier .htaccess dit à toute personne qui essaie de se connecter à wp-login.php « Youhouuu, va voir ailleurs si j’y suis ! ». Le fichier topsecret.php envoie quant à lui un signal qui dit « Youhouuuu, c’est ici que ça se passe ! »

Désormais, pour vous connecter à votre blog, il suffira d’aller à l’adresse nomdemonblog.com/topsecret.php ! Toute personne extérieure essayant de se connecter à votre administration de manière classique aura un message d’erreur.

Guide pour sécuriser son blog WordPress

Aller encore plus loin : autres formes d’attaques et accès aux dossiers

Sur mon blog, j’ai également ajouté ce code au fichier .htaccess et je vous conseille de faire de même :

# INSTRUCTIONS SECURITE BLOG

<IfModule mod_headers.c>
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block" 
</IfModule>

Options All -Indexes

<files wp-config.php>
order allow,deny
deny from all
</files>

Il permet de protéger votre blog contre d’autres formes d’attaques et comportements potentiellement problématiques, comme le cross-site scripting et le MIME-sniffing. Il permet aussi d’empêcher l’affichage du contenu des répertoires et d’empêcher l’accès au fichier wp-config.php (qui contient toutes les informations de connexion à la base de données !).

Enfin, vous pouvez modifier les permissions (chmod) des fichiers les plus sensibles, comme wp-config.php. Sur WinSCP par exemple, il faut faire un clic droit sur le fichier puis choisir « Propriétés » et cocher uniquement les cases « R » (« lecture seule »), comme ceci :

Permissions du fichier
Permissions du fichier

Ça empêchera toute modification extérieure du fichier, à moins de remettre les permissions sur W (« écriture ») et/ou X (« exécution »).

Guide pour sécuriser son blog WordPress

Quels plugins et outils pour protéger son blog WordPress du piratage ?

Pour compléter ce guide sur la sécurité WordPress, je voudrais dire quelques mots sur des outils qui peuvent vous aider à lutter contre le piratage.

Il existe un plugin très réputé, Hide My WP. Pour environ 19$, il offre à la fois des fonctionnalités de surveillance et de détection des attaques mais aussi un puissant antispam et surtout, il permet de cacher totalement le fait que vous utilisiez WordPress.

Hide My WP va non seulement faire ce que j’ai expliqué dans ce guide (empêcher de lister le contenu des répertoires, changer le mode d’accès à l’administration, etc.) mais il va aussi modifier le nom des répertoires courants de WordPress (« plugins », « wp-includes », etc.) et même modifier les classes CSS qui trahissent le fait qu’on se trouve sur un blog WordPress.

Ce plugin est tellement performant que lorsque vous testez le site avec un outil comme Wappalyzer, qui détecte le CMS utilisé, Wappalyzer est incapable d’indiquer que le site est fait avec WordPress :)

Il existe ensuite 2 plugins de référence, très complets :

  • Wordfence Security – Ce plugin surveille votre blog en temps réel. Il peut vous signaler les modifications des fichiers de votre administration, détecter le code suspect, bloquer automatiquement les tentatives de connexion répétées à votre administration ou les spammeurs, permettre une double authentification avec votre mobile. Il permet également de réaliser un scan complet de son blog WordPress pour détecter un éventuel piratage.
  • iThemes Security – Ce plugin est une bonne alternative à Wordfence. Il permet également de surveiller un site pour détecter les modifications suspectes et bloquer les tentatives d’intrusion, de changer l’adresse des pages de connexion (login, admin) et de renommer le compte administrateur.

Pour faire le bilan de votre blog WordPress, je vous conseille 2 sites :

  • Nature Digitale – Ce site propose un bon test de sécurité WordPress qui repérera les problèmes les plus courants sur votre blog.
  • Dareboost – Dareboost est un outil très puissant qui va bien au-delà de la sécurité. À ce titre, il peut être complexe pour un novice mais donnera aux développeurs web de précieux conseils pour optimiser la sécurité d’un site.

Conclusion

Ce guide devrait vous permettre de donner à votre blog WordPress une protection de base relativement efficace contre la majorité des situations de piratage.

La sécurité informatique passe aussi par de bonnes pratiques auxquelles on ne pense pas toujours : par exemple, si vous êtes amené à donner accès à l’administration de votre blog à des tierces personnes, mieux vaut créer un compte utilisateur séparé distinct de celui que vous utilisez au quotidien et lui donner des droits appropriés. Vous pouvez aussi publier vos articles depuis un compte ayant le rôle « Editeur » au lieu de les publier via un compte « Administrateur ».

De même, pensez à choisir un mot de passe bien sécurisé pour le FTP de votre blog. Un pirate peut aussi s’introduire par là (oui, ces créatures sont pleines de ressources !).

Thèmes : WordPress 

Poster un commentaire

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

Lorsque vous postez un commentaire sur le blog, le nom indiqué dans la case "Prénom" ainsi que votre message apparaîtront publiquement. Votre adresse e-mail restera confidentielle.

50 commentaires sur “Sécurité WordPress : le gros guide pour se protéger du piratage

  • jaroc

    Bonjour,
    Bravo pour votre blog.
    Mon commentaire n’est pas sur le piratage, mais plutôt la sécurité, mais aussi de la gestion de cookies…
    J’ai sur mon blog des articles protégés par un mot de passe, et il semble qu’une fois le mot de passe entré, il reste à demeure (N mois) actif.
    C’est bien et pas bien, car si je vais chez quelqu’un et lui montre sur son ordi un article protégé, il aura à demeure accès pendant longtemps à tous mes articles protégés.
    Si j’ai bien compris il est l’un des mots de passe enregistrés dans le cookie (wp-postpass_’.COOKIEHASH). Malgré toutes les infos sur le net, la manipulation de ce cookie n’est pas efficace.

    J’ai trouvé le plugin simple « Password-Protection Expiration » qui permet d’ajuster le temps d’expiration des mots de passe. (Le mettre à un temps court me semble une bonne sécurité : 24h).

    Pensez vous que c’est une solution fiable ?

    Merci

    Répondre à jaroc
    • Marlène

      Bonjour, sans plugin on peut tout simplement utiliser le filtre post_password_expires pour changer la durée d’expiration. Le plugin cité n’a pas été mis à jour depuis très longtemps donc je ne sais pas ce qu’il vaut :)

      Répondre à Marlène
  • Amélie

    Bonjour Marlène et merci pour ce tuto.
    Malheureusement je ne sais pas ce qui s’est passé, mais quand j’ai essayé ton tuto et que j’allais à ladresse monsite.com/topsecret.php, je me retrouvais avec une « Internal server error »… j’ai du tout remettre à zéro. Je ne vois pas ce que j’ai pu louper…
    J’ai wordfence installé, rien à voir ?
    Sinon, le nom du fichier « topsecret.php » doit il avoir un nombre de lettres minimum ? J’avais mis 4 lettres.
    Une autre piste ?
    Merci !!

    Répondre à Amélie
    • Marlène

      Hello Amélie, le nom du fichier n’a pas d’importance… et j’utilise toujours la méthode décrite dans l’article, qui fonctionne sans erreur de serveur. J’ai également le plugin Wordfence.

      Je pense que l’erreur est provoquée par les ajouts dans le fichier .htaccess. Peut-être à cause d’une interaction avec un code qui s’y trouve déjà (auquel cas ça peut être intéressant de mettre le code à un autre endroit du fichier ; chez moi il est tout à la fin du .htaccess et ça fonctionne bien), sinon peut-être un lien avec la configuration de ton serveur…

      Répondre à Marlène
  • Aline - Graphiste illustratrice

    Coucou Marlène!
    Je suis de passage, aujourd’hui pour partager une expérience / solution concernant la protection de la page de connexion, au cas où tes lecteurs rencontreraient le même souci, un jour. =)

    J’ai utilisé ton astuce pour protéger la page de connexion avec une page secrète.
    ça marchait nickel sauf que le souci, après avoir créer une page de librairie de ressources protégée par mot de passe, mes abonnées ne pouvaient pas accéder à la page même avec le bon mot de passe, elles tombaient sur une erreur 403 qui disaient qu’elles ne pouvaient pas se connecter à la page de connexion du blog.

    J’ai donc enlevé la page secrète de connexion et remis tout à la normal et c’est là que le souci a été résolu.
    C’est donc dommage que j’ai dû enlever cette page de connexion secrète pour permettre à mes abonnées d’accéder à la page protégée par mot de passe =S. Bon, je suis sûre que les développeurs web pourraient résoudre cela juste en changeant le code au lieu d’enlever la page secrète mais comme je ne suis pas encore calée pour faire ça. =p

    Voilà, c’était juste pour partager ça. =)
    Belle journée à toi, Marlène!

    Répondre à Aline
    • Marlène

      Hello, le code protège effectivement tout accès qui passe par la page « wp-login.php » et par défaut, sur WordPress, toute connexion implique cette page. Pour une gestion plus poussée des accès, il faut installer un plugin type Theme My Login pour créer une seconde page de login destinée à ses abonnés.

      Répondre à Marlène
    • Aline - Graphiste illustratrice

      Merci pour ces nouvelles informations, Marlène! =)

      Répondre à Aline
  • zOoO

    Bonjour,
    J’ai mis en place votre technique du « nomsecret », en septembre cela fonctionnait parfaitement jusqu’à début décembre. J’ai de nouveau des tentatives de connexions, moins importante qu’avant mais suffisamment pour m’inquiéter.
    Est ce que ce la veut dire que quelqu’un à récupéré le lien  » nomsecret » pour obtenir le cookie et accéder à « login.php »? Et donc une de nos machine est infectée?
    Ou une autre solution permet elle d’y accéder directement?

    Merci

    Répondre à zOoO
    • Marlène

      Bonjour, je ne connais pas l’explication. Vous pouvez toujours installer un plugin comme Wordfence et scanner le site pour voir si une éventuelle faille de sécurité est détectée.

      Répondre à Marlène
    • zOoO

      Merci
      Je vais tester en changeant dans un premier temps le nomsecret du fichier sans le diffuser tout de suite aux autres éditeurs du site. Si ces tentatives continuent j’essayerais votre idée ci dessus .

      Répondre à zOoO
  • Justine G. - Blog

    Bonjour,

    J’ai appliqué votre « filtre » pour la page de connexion. Or j’ai un soucis quand je vais sur ma page « wp-admin » cela m’affiche « 403 » chose qui est normale. Sauf que lorsque je vais dans ma page secrète, j’entre mes identifiants etc et là, pouff je ne peux plus me connecter j’ai carrément la page « 403 » qui s’affiche alors que normalement ça devrait me connecter… Ai-je mal fait un truc ??

    Répondre à Justine
    • Marlène

      Bonjour Justine, difficile à dire de l’extérieur :) C’est peut-être un simple problème de cache… J’utilise toujours la méthode indiquée dans le tutoriel chez moi donc ça me laisse entendre qu’elle est encore fonctionnelle.

      Répondre à Marlène
    • Justine G. - Blog

      Je dois t’avouer que je ne m’y connais pas du tout dans le domaine… Du coup, je verrais bien avec la personne qui me refera mon design de blog en janvier. Peut-être qu’elle saura comment faire. Merci encore pour ces tutos c’est vraiment très pratique !!

      Répondre à Justine
  • Jeanviet

    Marlène, toujours très complets, clairs et à jour tes conseils WordPress. NoTuxedo est une mine d’or pour les blogueurs. J’enrichie ton article en signalant que même si on ne fait pas de backup de FTP et de bases MySQL, OVH en fait pour nous à j, j-1, j-7. Ce qui permet de repartir sur des données safe avant le piratage. Ces backups sont accessibles via le manager.

    Répondre à Jeanviet
    • Marlène

      Merci pour la précision, j’ai mentionné les backups automatiques mais je sais que tous les hébergeurs ne le font pas, ça confirme qu’OVH le propose :)

      Répondre à Marlène
  • Matthieu

    Bonjour Marlène,
    Cette stratégie fonctionne à merveille et je l’ai appliquée sur les sites que j’ai créés jusqu’à présent.
    La limite est qu’un utilisateur qui saisirait monsite.com/wpadmin est redirigé vers une page 403 ‘Forbidden’ qui ne laisse aucun doute sur le fait qu’il se trouve bien sur un site WordPress. Or, pour que cette stratégie de « camouflage » soit complète, je souhaiterais que les utilisateurs (et en particulier les mal-intentionnés) ne voient pas cette page 403. Je souhaiterais donc qu’en saisissant /wp-admin, on soit redirigé vers l’accueil.
    Auriez-vous une idée du code à insérer dans le htaccess pour arriver à ce résultat ?
    Merci d’avance.

    Répondre à Matthieu
    • Marlène

      Hello Matthieu, je sais qu’on peut faire un filtrage basé sur l’adresse IP, avec redirection de tout le monde sauf d’une IP précise mais je ne trouve pas la méthode fiable parce qu’on court le risque de s’exclure de son propre blog si on a une IP dynamique ou tout simplement si on se connecte depuis un endroit différent.

      Par ailleurs, on a souvent une erreur 403 sur son propre blog mais une erreur 404 s’affiche à un tiers (cf ma réponse à Pierre le 28 novembre 2015).

      Répondre à Marlène
  • Delphine

    Merci énormément Lou!
    Je viens de mettre en place ta technique, je pense que je serai enfin tranquille avec les attaques « brute force »!
    Je trouve ça vraiment très simple à mettre en place, et protéger un site sans ajouter 3 tonnes de plugins gourmands en ressources est vraiment un plus non négligeable :)
    Je me suis permise de conseiller ton tuto (et tout ton site d’ailleurs, riche en bons conseils) sur le blog de Selma.
    Cet article est d’utilité publique, si si!
    Et je pense que je mettrai également un lien sur mon propre blog.

    Répondre à Delphine
    • Marlène

      Je suis contente que ça t’aide ! Il faudrait que je remette à jour cette série de tutoriels car certains ne sont plus d’actualité (Brute Protect a été « absorbé » par le plugin JetPack par exemple) mais j’avoue que cette astuce là fonctionne bien malgré sa simplicité !

      Répondre à Marlène
    • Delphine

      Curieusement, je viens d’avoir une alerte de Limit Login Attempt (qui fonctionne plutôt bien je crois, mais qui n’a pas empêché d’être piratée quand même par l’exploitation vraisemblable d’une faille dans un plugin que j’avais oublié de mettre à jour :/)…
      Est-ce qu’il y a un truc que j’ai mal fait, une ligne de code que j’aurais dû supprimer ou modifier?
      Bizarre…
      Du coup, je laisse le plugin (qui reste utile) et je vais attendre un peu histoire de voir si ça évolue.
      Et je prends toutes les astuces… bien que n’étant pas spécialement douée pour le code, ça risque d’être très vite le bazar si j’ajoute du code tous azimuts!

      Répondre à Delphine
    • Marlène

      Ce plugin a un champ d’action très restreint à la base, je te conseille un plugin plus complet comme Wordfence qui n’agit pas juste sur les tentatives d’intrusion. Wordfence, même dans sa version gratuite, peut scanner ton site et détecter les fichiers qui ont été modifiés (dans tes plugins par exemple). C’est un bon moyen de détecter une attaque, parfois même avant qu’elle ne soit visible par tes visiteurs. Il est noté 4.9/5 à ce jour et est utilisé par plus d’un million de sites donc je pense que je ne suis pas la seule à en penser du bien :)

      Il te permet aussi de bloquer des adresses IP (automatiquement et même manuellement), de cacher ta version de WordPress, de scanner les commentaires à la recherche de malwares et autres cochonneries… Bref, c’est un couteau suisse en matière de sécurité !

      Concernant l’alerte que tu as reçue, elle peut être liée à une histoire de cache (où l’ancienne page de login est restée en cache quelque part, ce qui permet à certains robots de continuer à y accéder), ça devrait se réguler dans le temps :)

      Répondre à Marlène
    • Delphine

      Merci pour les conseils, je vais me pencher davantage sur le sujet!

      Répondre à Delphine
  • Tixu

    Bonjour
    J ai tenté de le faire avec l’option hide backend de itheme security (plug in)
    Mais du coup ensuite, je ne peux plus du tout me connecter !!
    Quelqu un connaît il ce plug in?
    Merci d avance

    Répondre à Tixu
    • Marlène

      Je connais un peu ce plugin. As-tu un message d’erreur quand tu essaies d’accéder à la page ? Tu peux aussi aller voir les règles ajoutées par le plugin dans le fichier .htaccess de ton site, le chemin d’accès à l’admin de ton site doit s’y trouver. Sinon, il te reste l’option de désactiver le plugin en passant par le FTP ou de contacter son créateur sur le forum de support sur le site de WordPress.

      Répondre à Marlène
  • Pierre

    Bonjour,
    Merci pour cette astuce simple et efficace. Toutefois, lorsque j’accède à wp-admin, je suis redirigé vers une page 403 Forbidden, alors que sur ton site on aboutit à une page 404 Not Found. Comment faire pour obtenir plutôt une page 404 ?
    Merci d’avance.

    Répondre à Pierre
    • Marlène

      Pour ma part j’ai bien une erreur 404 quand je tente d’accéder à ton admin mais j’obtiens comme toi une erreur 403 sur mon propre site :) Fonctionnement normal, donc !

      Répondre à Marlène
  • frohike

    Bonjour !
    Je reviens vers vous, peut-être avez-vous une idée… J’ai mis en place la solution que vous avez proposée, c’est super je n’ai plus de problème de tentatives d’accès. Jusqu’à aujourd’hui où je reçois plein de :

    A user with IP address xx.xx.xx.xx has been locked out from the signing in or using the password recovery form for the following reason: Used an invalid username ‘test’ to try to sign in.

    (de la part de WordFence)

    Elle utilise plein d’adresses IP différentes de pays différents. Mais on ne peut plus accéder à la page wp-login ou wp-admin. Je suis un peu perdu là :-/

    Savez-vous comment elle fait ?
    Merci d’avance :-)

    Répondre à frohike
    • Marlène

      Je ne sais pas du tout car même quand on désactive les cookies, que l’on essaie d’accéder à la page via un proxy, ça renvoie une erreur. Je viens d’essayer d’aller sur ta page de login et je n’y arrive pas (donc ça fonctionne bien visiblement !). Il faudrait poser la question sur le forum de WordFence pour en savoir plus.

      Répondre à Marlène
  • Soze

    Bonjour !

    Merci pour ton article il est très intéressant.

    J’ai une question, une fois la page « topsecret.php » trouvé par l’utilisateur, l’accès via « wp-login » fonctionne, ceci est normal ?

    Merci d’avance,

    Florian

    Répondre à Soze
    • Marlène

      Ça me paraît normal dans la mesure où la sécurisation est basée sur un cookie :) Si le cookie est enregistré, ça veut dire que tu fais partie des utilisateurs autorisés à accéder à cette page. A l’inverse, quelqu’un qui n’est pas passé par la page topsecret.php n’aura pas de cookie sur son disque dur et ne pourra donc pas accéder à wp-login.

      Répondre à Marlène
    • Soze

      Merci beaucoup pour ta réponse :)

      Florian

      Répondre à Soze
  • informatique à Rouen

    Merci pour cet article complet et bien écrit..j ai protégé le site d un de mes client avec Wordfence est ce suffisant ,depuis hier matin ce site subit des attaques venant principalement d Amérique du sud.. a chaque tentative j ai ce genre de message dans ma boite mail.
    A user with IP address 186.93.251.122 has been locked out from the signing in or using the password recovery form for the following reason: Used an invalid username ‘admin’ to try to sign in.
    User IP: 186.93.251.122
    User hostname: 186-93-251-122.genericrev.cantv.net
    User location: Venezuela

    Répondre à informatique
    • Marlène

      Hello, c’est très courant de recevoir ce type d’alerte si tu as paramétré Wordfence pour être notifié à chaque tentative d’intrusion. Il y en a littéralement tous les jours sur la plupart des blogs.

      Répondre à Marlène
    • informatique à Rouen

      Merci pour ta repose super rapide Lou …habituellement je n ai pas ce soucis j utilise tres peu les cms je préfère développer en html 5 ….
      Habituellement j utilise l extension Itheme security il permet de sécuriser facilement un site WordPress… j avais envie de changer …
      l Amérique du sud continu a se déchainer sur le site de mon client …. un site d architecte aucun intérêt d attaquer un tel site.

      Répondre à informatique
    • Marlène

      Il y a souvent des tentatives d’attaques sur WordPress, quand j’utilisais le plugin Brute Protect il m’en identifiait plusieurs dizaines par jour et ça n’a pas empêché le blog d’être bien protégé. J’ai l’impression que ce sont surtout des tentatives « en série » où le pirate teste automatiquement le blog pour y détecter la présence de différentes failles mais s’il ne les trouve pas, tout va bien.

      Répondre à Marlène
  • Amenzo

    Merci! et Bravo. Rapide , efficace :)

    Répondre à Amenzo
  • Aline - Inspiré et Créé

    Youpi, ça marche super chez moi, merci!
    J’ai passé toute l’aprèm à configurer mon site/blog avec tous tes tutos que j’avais mise en favori et tout marche nickel, merci à toi pour tout ce partage de connaissances!

    Répondre à Aline
    • Marlène

      Bravo pour l’aprèm productive ;) Je viens de tester ton site avec GTMetrix qui est un super outil pour mesurer la rapidité/fluidité d’un site et tu as une note vraiment excellente !

      Répondre à Marlène
  • windo

    Merci pour ce tuto à la fois très simple et très efficace.

    Je me demandais également comment se connecter depuis une autre page sous un login particulier, cad je cherche à mettre un lien sur une page qui me logue sous « invité ». Est-ce possible ?

    Merci

    Répondre à windo
    • Marlène

      Bonjour, à première vue je ne suis pas sûre de savoir comment faire… mais il y a deux fonctions WordPress qui pourraient t’aider : wp_set_current_user et wp_set_auth_cookie (permet de créer un cookie basé sur l’ID utilisateur).

      Répondre à Marlène
    • windo

      Merci. je vais creuser de ce côté, même si je ne suis pas pro de WP :-)
      En tous cas merci pour ce site et ce partage d’info et d’expérience.
      Si je trouve un élément de réponse à mon pb, je reviendrai poster ici si ça peut intéresser quelqu’un d’autre.

      Répondre à windo
    • Marlène

      Avec plaisir ! Tu peux peut-être poser la question sur le forum de WordPress ou sur Stack Overflow pour une réponse plus orientée programmation.

      Répondre à Marlène
  • So

    Bonjour Lou,
    Merci beaucoup pour l’astuce. J’ai épuisé un paquet d’autres possibilités et voilà que tu proposes une solution aussi simple que parfaite. Merci, merci beaucoup cette super astuce.
    So

    Répondre à So
  • strongland

    Bonne initiative, mais chez moi ça fonctionne pas.
    j’ai tout bien fait, et quand je vais sur mon fichier php, j’obtiens:
    Parse error: syntax error, unexpected ‘setcookie’ (T_STRING) in /URL/test.php on line 2

    Répondre à strongland
    • Marlène

      Bonjour, les « parse errors » sont liées à un problème de ponctuation : oubli de la virgule entre les deux paramètres du setcookie entre parenthèses ? Le point-virgule à la fin de la ligne ? Un guillemet non fermé ? Y a-t-il un autre bout de code dans le fichier test.php ?

      Répondre à Marlène
  • Thematik

    Merci pour le bout de code, c’est très pratique et ça fonctionne bien !

    Répondre à Thematik
Si vous aimez les articles du site, n'hésitez pas à faire vos achats sur Amazon.fr via ce lien ; il me permettra de toucher une commission grâce au programme Partenaires Amazon EU.