Aujourd’hui, nous allons parler sécurité WordPress et surtout, de la manière dont se protéger du piratage de WordPress autant que possible.
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 :
- Quels blogs sont concernés par le piratage ?
- Comment sauvegarder son blog pour ne pas perdre le contenu en cas de piratage ?
- Mettre à jour son blog
- Comment modifier le nom d’utilisateur par défaut pour se protéger ?
- Comment cacher la version de ses plugins WordPress ?
- Comment masquer l’administration de WordPress (wp-admin) ?
- Aller encore plus loin : autres formes d’attaques et accès aux dossiers
- Quels plugins et outils pour protéger son blog WordPress du piratage ?
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.

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 effectuer d’autres actions illégales (collecter des données personnelles, miner des cryptomonnaies, etc). 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.
Comment sauvegarder son blog pour ne pas perdre le contenu ?
Avant de chercher à protéger son site 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 aussi – Guide complet pour 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.
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.
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 !
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.
Certains plugins ne sont plus du tout « suivis » par leur créateur. Le répertoire des extensions WordPress le signale généralement par ce message : « Cette extension n’a pas été testée avec plus de trois mises à jour majeures de WordPress. Elle peut ne plus être maintenue ou supportée et peut avoir des problèmes de compatibilité lorsqu’elle est utilisée avec des versions de WordPress plus récentes ».
Soyez très vigilant avec ce genre de plugin, qui peut être périmé (et donc dangereux pour la sécurité WordPress).
A lire aussi – Bien 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 :
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 :
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.
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 toutefois il existe :
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).
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.
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 :

Ça empêchera toute modification extérieure du fichier, à moins de remettre les permissions sur W (« écriture ») et/ou X (« exécution »).
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.
J’ai rédigé un tutoriel complet pour paramétrer le plugin Wordfence, je vous conseille de le lire pour bien effectuer les réglages de l’extension.
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 !).
dommage pour la partie « COMMENT MASQUER L’ADMINISTRATION DE WORDPRESS (WP-ADMIN) ? ».
Le code empêche d’accéder à /wp-admin mais quand je rentre mes infos de connexion, le site renvoi à /wp-login.php avec une erreur 403. J’ai fais les 2 étapes comme décrites..
Bonjour, j’utilise toujours cette méthode sur mon blog sans modification par rapport à ce que j’explique dans l’article, elle fonctionne. Essayez peut-être de vous reconnecter une seconde fois, histoire de vous assurer que le cookie a bien été pris en compte. Le renvoi vers wp-login.php est normal.
Cache purgé et plusieurs tentatives de faites en navigation privée!! rien..
Je ne peut même plus me connecter à mon espace utilisateur du front end..
J’ai supprimé les codes et c’est encore pire, non seulement je peux plus me connecté à mon espace utilisateur du front end, mais en plus quand un nouveau compte est crée et qu’on vérifie le mail, l’utilisateur est connecté à mon compte admin..
Je viens de tenter des récups de sauvegarde et rien n’y fait!!
Du coup site H.S pour le moment! Je vais devoir embaucher un dev!
Vous avez peut-être fait une erreur en suivant le tuto. A faire pour remettre les choses à leur état initial :
– Retirer le code ajouté à la fin du fichier htaccess
– Supprimer le « fichier mystère » que vous avez créé (celui avec setcookie(« cookie-admin-blog ») à l’intérieur).
c’est Litespeed qui fait un conflit dans les connexions en faite. Désolé.
Je réessaye votre astuce quand j’aurais trouvé le problème de LS.
excellent article très bien documenté
Merci pour toutes ses infos ! Mon blog est tout neuf et je dois dire que je me sens un peu perdue face à tant de mesures de sécurités… Faut-il tout mettre en place dès le début ? Par quoi me conseillerais-tu de commencer ?
Hello Hélène, personnellement sur un nouveau site je commence toujours par installer et configurer un plugin de sécurité comme Wordfence, ça permet au moins d’écarter les attaques les plus courantes. Il faut aussi penser à ne pas utiliser « admin » ou le nom de son site comme nom d’utilisateur, à bien sécuriser son mot de passe de connexion à WordPress.
Bonjour et merci pour ces infos très intéressantes, avec un dossier complet. Juste une remarque concernant le prix de Hide my WP, qui est passé de 19 à 29 dollars (et donc 38 avec les taxes).
Hello, j’ai un calendrier de mise à jour de mes articles pour updater ce genre d’information de temps en temps (celui-ci doit l’être en fin d’année !), je mets de plus en plus un lien direct sans autre précision car les tarifs changent régulièrement. Merci de l’avoir signalé en tout cas !
Bonjours
Que des problèmes avec mon site ça commence à me rendre fou j’ai ce message avec ithemes security
Avertissement d’altération de fichier
Ajoutés 791 Supprimés 40 Modifiés 40 Hash de fichier 35e12c7d76c4a81633bcf547c0e229a9
je comprend pas sérieusement ci vous avez une idée je suis preneur
Cordialement
Bonjour, je ne peux malheureusement pas répondre sans étudier le site : soit quelqu’un s’est introduit sur le FTP suite à un piratage, soit c’est lié à des mises à jour qui modifient les fichiers… Avez-vous essayé de contacter le support ?
je ne c’est plus comment faire mon hébergeur ne m’informe pas correctement je c’est pas comment savoir si un logiciel espion ou autre est dans mon hébergement voila un message reçu
Après vérifications, notre système de mitigation (système de sécurité présent sur l’infrastructure où se trouve votre hébergement) s’est activé ces derniers jours sur votre offre.
En effet, ce système s’active lorsque de nombreuses requêtes (bien au-delà d’une utilisation normale du service) sont effectuées vers votre service dans un intervalle relativement court.
Lorsqu’il s’active, les tentatives d’accès au(x) site(s) peuvent générer des codes 503.
Cette sécurité se désactive automatiquement dès que le flux de requêtes retombe en deçà des seuils de sécurité fixés.
Bonjour, malheureusement ce n’est pas à l’hébergeur de gérer ça. C’est à vous de comprendre pourquoi il y a un nombre de requêtes anormal sur le site ou de le scanner pour voir s’il y a eu piratage. Si vous ne savez pas comment faire, je vous conseille de vous tourner vers un professionnel (via Upwork par exemple).
Je ne sais pas si iThemes Security propose un suivi du trafic en temps réel comme le propose le plugin Wordfence mais si c’est le cas, ça peut générer beaucoup de requêtes et c’est une option qu’il est souvent préférable de désactiver.
Hello,
Je suis tombée sur ton article en cherchant sur Google si mon site n’a pas été piraté. Depuis quelques jours, j’ai une liste d’erreurs 404 avec différentes adresses IP, plusieurs fois par jours, sur des adresses internes comme « /wp-includes »… Est-ce que tu sais ce que cela signifie ?
Ton article est très enrichissant mais n’aborde pas ce sujet.
Merci !
Hello Gwen, ça signifie sans doute que ces personnes essaient d’accéder à des fichiers, peut-être effectivement dans le cadre d’une tentative de piratage. Je ne peux pas t’en dire beaucoup plus. As-tu sécurisé ton site via un plugin comme Wordfence ?
Merci pour cet article, cependant, aucune des opérations ci-dessous permettent de rendre invisible les extensions installées lors d’un scanner de vulnérabilité et c’est ce qu’il y a de plus important car les failles proviennent à 95% des extensions installées et non de WordPress. Je trouve d’ailleurs étonnant qu’aucune extension n’existe pour ça.
Même le plugin HideMyWP ? Il dissimule tous les chemins d’accès aux plugins, qu’on peut renommer à sa convenance. Je sais que ça trompe les logiciels classiques de détection des extensions sans aucun problème mais je n’ai pas testé avec des outils plus avancés.
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
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 :)
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 !!
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…
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!
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.
Merci pour ces nouvelles informations, Marlène! =)
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
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.
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 .
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 ??
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.
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 !!
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.
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 :)
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.
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).
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.
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é !
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!
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 :)
Merci pour les conseils, je vais me pencher davantage sur le sujet!
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
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.
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.
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 !
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 :-)
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.
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
Ç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.
Merci beaucoup pour ta réponse :)
Florian
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
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.
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.
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.
Merci! et Bravo. Rapide , efficace :)
Contente d’avoir pu t’aider !
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!
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 !
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
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).
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.
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.
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
De rien, j’espère que ça fonctionne bien chez toi !
Oui nickel ça fonctionne très bien. Merci
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
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 ?
Merci pour le bout de code, c’est très pratique et ça fonctionne bien !
De rien !