Tout savoir sur WordPress

7 conseils pour sécuriser votre WordPress

Découvrez une liste de 7 conseils incontournables et indispensables pour limiter les risques de piratage sur votre site WordPress.

Saviez-vous que WordPress est le CMS open source le plus utilisé au monde ? Environ 15% des sites internet dans le monde s’en servent.
Qui dit succès, dit revers de la médaille! Il est donc nécessaire de se protéger le mieux possible.

Vous trouverez ci-dessous quelques conseils que j’aurai souhaités connaître lorsque j’ai débuté avec WordPress. Ils vous permettront d’éviter de passer des heures à essayer de récupérer ce qu’il reste de votre site ou blog suite à une attaque.

Dès l’installation : il faut se préparer au pire !

En installant WordPress vous devez renseigner l’identifiant de l’administrateur. Choisissez autre chose que le traditionnel “admin”, le but du jeu est de mettre des bâtons dans les roues à ceux qui veulent vous nuire ! Laissez faire votre imagination ou un générateur de mot de passe !.

Pour votre mot de passe, j’espère que je ne vous apprends rien en vous disant qu’il faut des minuscules, des majuscules, des chiffres et des signes de ponctuation. J’utilise toujours un générateur comme celui dont j’ai parlé un peu plus haut.

C’est la même chose pour le préfixe de vos tables, oubliez le “wp” habituel pour quelque chose de plus exotique comme “n9z” ou “qb2”. Je vous déconseille de mettre vos initiales, c’est la première chose à laquelle vos assaillants vont penser.

Maintenez WordPress à jour

WordPress est régulièrement mis à jour, n’oubliez pas d’installer les mises à jour lorsqu’elles sont disponibles dans votre tableau de bord. En migrant vers la dernière version de WordPress, vous éviterez que les failles de sécurité de la version précédente soient exploitées.

Avec la mise à jour automatique, cela sera fait en moins de 2 minutes (n’oubliez pas de sauvegarder votre base avant).

Chouchoutez vos fichiers sensibles

Il y a 2 fichiers qui sont très importants dans votre installation de WordPress : “wp-config.php” et “.htaccess”, il faut prendre bien soin d’eux. Vous pourrez ajouter d’autres choses au fichier “functions.php” de votre thème.

Dans wp-config.php

Générez et insérez y les clés de sécurité en vous rendant sur la page suivante : https://api.wordpress.org/secret-key/1.1/salt/

Note : Vous aurez besoin de vous reconnecter après cette manipulation.

Dans .htaccess

Protégez votre fichier wp-config.php grâce à ce code :

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

Protégez votre fichier .htaccess (ce code peut être contenu dans le même .htaccess) :

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

Dans functions.php

Ce conseil est déjà bien répandu mais je vous le rappelle tout de même. Il s’agit de cacher le numéro de version de WordPress. En effet, un éventuel hacker pourrait, grâce à ce numéro connaitre les failles de sécurité de votre site (si vous n’avez pas mis WordPress à jour).

Voici le code à insérer :

remove_action('wp_head', 'wp_generator');

Cachez vos répertoires

Il se peut que vous n’ayez pas désactivé l’exploration de vos répertoires. Par exemple en entrant l’url suivante : votresite.com/wp-content/plugins n’importe qui peut apercevoir les plugins que vous utilisez et donc exploiter les failles éventuelles…

Retournez dans le fichier .htaccess et insérez-y le code suivant :

Options All -Indexes

Restreignez l’accès à votre administration

Le plugin Login Lockdown permet de limiter le nombre de tentatives pour se connecter à l’administration de WordPress. C’est particulièrement utile si quelqu’un essaie de deviner votre mot de passe. Attention à ne pas vous tromper plusieurs fois de suite, sinon vous devrez attendre pour vous connecter :)

Télécharger Login Lockdown

Le plugin AskApache Password Protect devrait plaire aux plus soucieux. Il permet d’ajouter un niveau de sécurité supplémentaire en créant un identifiant et un mot de passe pour accéder à tout ce que contient le répertoire wp-admin.

Téléchargez AskApache Password Protect

N’oubliez pas ce plugin essentiel

WordPress Security Scan est un plugin qui se chargera de contrôler que tout est en ordre afin que vous ayez le moins de chances possibles de vous faire attaquer. Il vérifie entre autres que :

  • que votre WordPress est à jour
  • le préfixe de vos tables (et la possibilité de le changer)
  • que les permissions de fichiers sont bonnes
  • que vos fichiers et répertoires sont bien protégés
  • etc

Téléchargez WordPress Security Scan

Backup, Backup et … Backup

S’il n’y avait qu’une seule chose à faire pour sécuriser votre site sous WordPress, c’est d’effectuer des sauvegardes régulièrement. Je me suis déjà fait avoir une fois, j’ai perdu absolument toute la base de données et quand il y a plusieurs dizaines d’articles c’est très triste :(

Il existe des dizaines de plugins WordPress pour sauvegarder vos fichiers (répertoire de vos extentions et thèmes WordPress ainsi que vos fichiers envoyés principalement) et votre base. Je ne les ai pas tous testés mais je vous recommande grandement WP-DB-Backup par Austin Matzko.
Ce plugin sauvegardera votre base à intervalle de temps régulier en vous l’envoyant par mail ou en la stockant sur votre serveur.

Il existe également des plugins qui utilisent Dropbox et Amazon S3 pour stocker vos sauvegardes. Vous pouvez aussi le faire manuellement en utilisant votre client FTP favori.
Vous avez maintenant toutes les clés en main pour que votre WordPress devienne une vrai forteresse. Avec ces conseils vous serez certain de figurer parmi ceux qui sécurisent le plus leurs sites/blogs.

Connaissez-vous d’autres astuces afin de pousser encore plus loin le niveau de sécurisation de WordPress ? Je serais curieux d’apprendre de nouvelles techniques :)

Passez une agréable journée,
Alex

Sources stats : w3techs.com – photo via Flickr

Cet article a été mis à jour il y a 1709 jours - Il n'est peut être plus à jour !

Article écrit par alexandreb

172 Commentaires

Laisser un commentaire

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

  1. merci pour ces infos. en effet
    AskApache Password Protect a l’air très complet.

    Et oui, nos malheureux blogs sont parfois la cible d’attaque ciblée sur des plugins, même si on a des mots de passes de la mort qui tuent!

  2. Merci pour cet article instructif.

    Cependant je me permets de te signaler qu’il y a une erreur sur cette ligne de code dans ton texte :

    remove_action('wp_header', 'wp_generator');  
    

    Le libellé du hook est « wp_head » et non « wp_header » qui n’existe pas.

  3. Bon article.
    Dans la même optique il faut interdire l’accès à certaine partie du site au robot d’exploration (google bot, bing etc…). Google propose dans son interface « webmaster tools » un outil permettant de construire le fichier robot.txt

  4. @ Kattagami : merci pour le retour, ma relecture n’a pas été efficace non plus =D

    @Tom : pour le fichier robots.txt, j’ai rédigé un article concernant un fichier robots.txt optimisé pour WordPress : ici

  5. Tout cela est bien utile pour un utilisateur débutant comme moi. Je me suis fait infecté mon blog par les logiciels malveillants en ne le mettant pas à jour de peur de faire de mauvaises manips. Du coup j’étais sur liste rouge sur les moteurs de recherche, j’ai galéré… Maintenant à la moindre MAJ, je fais l’évolution.
    Et j’utilise WP-Security, Better WP Security et Antivirus.

    Merci en tout cas pour toutes les infos et astuces et le boulot réalisé.

  6. Bonjour et Bonne Année,
    Article très instructif. Bien que n’étant pas informaticien, je ne comprends pas toujours tout mais ça ne fait rien, j’aime…
    Sur vos conseils, j’essayé de changer « admin » dans mon profil mais il semblerait que cela ne puisse se faire. Y aurait-il une manip particulière pour le modifier maintenant ?

  7. Si tu te loggues en tant qu’admin tu ne peux pas changer son nom, le mieux est de créer un nouvel utilisateur (bien protégé) avec tous les droits d’administration. De te reconnecter avec ce nouvelle administrateur et de changer les droits de ton ancien « admin » en simple utilisateur.

  8. Bonjour Alex,

    Merci de nous faire partager ces bonnes infos et en même temps cela permet d’être à jour et au top avec son blog !

    Bien Amicalement

  9. Merci pour ces bon tuyaux, même si en tant que blogueuse débutante +++, je ne comprends pas encore tout, notamment pour les lignes de codes à insérer.
    @FXB : super l’astuce pour changer l’admin, car, bien sur, j’ai fait cette erreur :-))

  10. Bonjour
    Ma solution pour protéger le wp-config.php est encore plus simple avec 0 ligne de code :
    Remontez le fichier d’un cran dans votre arborescence. Oui oui, en dehors du /www/ habituel dans votre FTP chez votre hébergeur. WordPress saura le trouver, lui ;)

    Aussi, attention à l’installation de plugin, je vois dans « N’oubliez pas ce plugin essentiel » le plugin « WordPress Security Scan », je vous invite à lire le changelog version 3.0.9 … je dis ça je dis rien … ;)

    L’installation de plugin est le facteur n°1 des failles sur votre site, vous vous devez de vous assurer que ces plugins n’ouvrent pas des brèches, et ne donnez pas plus de crédits aux plugins dit « de sécurité », ça reste un plugin qui peut contenir des failles. La preuve !

    A bientôt !

  11. Oui, il faut prendre les devants avant que les grandes catastrophes n’arrivent !
    Rappel: si vous modifiez des fichiers faites bien une sauvegarde juste avant, au cas où vous en auriez besoin pour tout remettre à plat ensuite !

  12. Merci pour ce tutoriel.

    J’ai également suivi le tutoriel présenté ici, particulièrement la partie htaccess :

    Tutoriel securité

    A utiliser avec précaution (personnellement, j’ai du modifier pas mal de choses pour éviter les plantages)

  13. Attention à TAC qui donne des faux positifs ! Je ne conseille pas de se baser sur son info pour savoir si le thème est bon. Si TAC vous dit qu’il est mauvais, il PEUT l’être, l’inverse aussi s’il vous dit qu’il est bon, il PEUT l’être, mais TAC n’est qu’un simple script PHP et ne remplacera pas un humain.
    Je vais faire un article sur TAC car je m’aperçoit que trop de monde faire confiance à des plugins pour sécuriser leur WordPress ce qui est totalement paradoxal.

  14. Merci Valentin pour ce Tuto :)

    Pour rejoindre Aymeric, je souhaite attirer l’attention sur d’autres failles très sévères sous WP : les attaques via des plugins et thèmes type cheval de Troie. Cette méthode consiste à créer des thèmes, souvent gratuits, ou des plugins et les laisser vivre quelque temps, puis à un moment donné se servir de ces derniers pour soit créer un porte ouverte dans vos installs, soit faire du blackhat SEO… ou pire.

    Il est donc très important de vérifier les plugins/templates que vous installez et faire confiance à ceux reconnus par la communauté.

    Et enfin, faire de la veille sur les hack des framework utilisé dans les thèmes (récemment timthumb.php a permit de placer des malware sur des milliers d’installs WP : http://markmaunder.com/2011/08/02/technical-details-and-scripts-of-the-wordpress-timthumb-php-hack/)

  15. @BOITEAWEB Oui il peut remonter des faux-positifs, après libre à chaque utilisateur de vérifier la véracité des infos renvoyées par TAC. ça reste un bon indicateur je trouve, tu as eu beaucoup de faux-positifs avec ?
    Je te rejoins complètement comme @PATRICE ALBERTUS, des plugins aussi peuvent contenir tout un tas de choses mauvaises, rien ne vaut une vérification rapide du code (par un dev si vous ne l’êtes pas) pour voir si il n’y a pas des appels à des fichiers externes via Curl, fil_get_content par exemple…. Mais je ne mettrais pas TAC dans cette catégorie pour autant

  16. J’ai vu 2 faux positifs oui, c’est pas beaucoup, en même temps … je ne l’utilise plus … « libre à chaque utilisateur de vérifier la véracité des infos renvoyées par TAC » non, quand tu utilises TAC c’est que tu n’as pas le profil ou la capacité de vérifier le code toi même, donc tu NE PEUX PAS vérifier la véracité des infos, autant vérifier de suite sans TAC pour faire ça alors.
    Une personne ayant un profil utilisateur/non dev qui souhaite savoir si le thème est correct ou non utilisera TAC et ça c’est le problème.
    Je suis en train de faire mon article, sera pret demain peut etre.

  17. @BOITEAWEB à la fois je n’installe pas des thèmes tout le temps ;-) J’avais TAC à une époque sur une installation de WordPress. Si il me renvoyait une alerte, je vérifiais le code à la main. Après, vérifier ligne par ligne chaque thème ou plugin installé… Je n’ai pas le temps ! Donc je me fais pré-mâcher le travail:)

    J’attends ton article, il y a clairement des plugins qui font des choses pas claires du tout;-) Et je rajouterais, trop de plugins tuent WordPress.

  18. @alex: Le big tuto serait une formation à mon métier ? Impossible que je fasse ça.
    @Aymeric: Et si il ne renvoie pas d’alerte mais que le thème est vulnérable ? :s

  19. @BOITEAWEB non je n’installe pas des virus mais des logiciels, enfin bref. ça m’aidait à l’époque à gagner du temps, c’est toujours mieux que rien mais je comprends ton point de vue.

  20. Enfin ce que je voulais dire, bien au delà de Theme Authenticity Checker: il y a aussi des failles/brèches dans les thèmes et plugins WordPress, alors soyons prudent quand nous rajoutons des éléments à WordPress :-)

  21. « être prudent » c’est justement ce qu’une personne non développeur ne peut pas vraiment faire pour s’assurer que le plugin/thème est correct ou non.
    En voiture, je suis prudent, je mets ma ceinture et ne dépasse pas la vitesse autorisée, néanmoins, je peux être percuté de plein fouet par quelqu’un qui ne respecte pas ça. Ma « prudence » a eu ses limites.
    Même chose pour les plugins, j’installe un plugin dit « de sécurité » (c’est ma ceinture de sécurité) mais rien n’empêche que ce plugin infecte mon site tout de même, même si ce n’est pas volontaire.
    ps : création d’article TAC dispo avant 17h ;)

  22. Merci pour ce rappel primordial et qui m’évitera bien des soucis à l’avenir …. Je ne connais pas AskApache Password Protect, je vais tester…
    Amicalement.

  23. Bonjour Alex et merci pour cet excellent article. WordPress est une solution clean et sécurisée à la base mais mieux vaut être méfiant s’il on ne veut pas d’un blog-passoire !

    Pour répondre à certains commentaires, ce n’est pas seulement nos installations qui sont le plus souvent la cible des pirates mais les serveurs où ils sont hébergés.

    Les protection via .htaccess et .htpasswd sont également très bien pour protéger le répertoire /wp-admin/
    Mais j’ai néanmoins vu une intrusion sur un de mes sites malgré cette protection.

    Il n’existe pas trente-six solutions :
    Tout d’abord, suivre à la lettre les indications d’Alex. Deuxièmement, conservez toutes vos données sensibles sur VOTRE ordi, pas celui du voisin. Ne vous connectez jamais depuis un PC inconnu. Troisième point : sécuriser votre boîte e-mail personnelle. Pourquoi ? Parce qu’une intrusion dans celle-ci peut entraîner de véritables catastrophes si vous l’utilisez dans votre compte administrateur. Enfin, je pense qu’une utilisation limitée des plugins est évidente. On ne sait jamais s’ils contiennent ou non des failles.

    Depuis que j’utilise WP Security Scan et DB Backup je ne rencontre plus de problème. Mais ça ne signifie pas qu’ils ne se passe rien, les tentatives de connexion infructueuses sont monnaie courante !

    J’utilise aussi Bad behavior sur certaines installations sensibles. Ce plugin restreint les injections SQL vers la base de données.

  24. Hello,

    Merci pour cet article. Intéressant de comparer les techniques proposées, nos contenus se recoupent.

    J’ai publié un article à ce sujet, je n’ai pas eu grands retours sur son contenu malgré les visites, peut-être peut-il être un complément au tien (une manière différente d’aborder les choses en tout cas).

    Je me permets de mettre le lien : http://www.creativejuiz.fr/blog/tutoriels/wordpress-securisez-votre-site-grace-a-quelques-astuces

    Bonne continuation ;)

  25. @geoffrey: je pense que ton article est trop long et touche à trop de chose différentes, le niveau requis est parfois bas, parfois élevé.
    Pas beaucoup de retour ? Oui, beaucoup on ouvert l’article, commencé à lire et sont partis avant d’arriver en bas :s
    J’ai commenté ton article ;)

  26. @boiteaweb : Merci pour ton retour.
    Je ne vois pas trop comment réorganiser l’article. À moins de le diviser et d’en faire deux ou trois.

    En tout cas merci pour tes retours.
    Cela m’a permis également de diversifier un peu plus mes sources.
    Bonne journée à tous !

  27. Oups, pardon, j’avais compris le terme « découpe » au sein même de l’article. Au temps pour moi.
    Merci encore pour tes retours.
    Laissons place aux commentaires sur l’article même de GeekPress, j’ai déjà un peu trop empiété l’espace de commentaires ! :p

  28. Oui sur le fond ça ne corrige pas une éventuelle faille. Mais ça limite la diffusion d’information (que je pense inutile).

    Afficher un numéro de version en public connue pour être vulnérable c’est un peu tendre le bâton pour se faire battre. :)
    M’enfin, celui qui ne met pas à jour WordPress ne prendra certainement pas le temps de cacher son numéro de version non plus… (#raccourciFacile)

  29. Tu as raison sur le dernier point, pourquoi ne pas la cacher ? Car vous avez la dernière version, pourquoi le cacher vous êtes à jour !?
    Puis si vous ne pouvez pas pour X raisons (ça arrive maleureusement), il est toujours possible de deviner quelle est la version installée, à 0.0.x prêt ;)

  30. Merci pour ce bon article et ces commentaires instructifs.
    Pensez également à masquer la signature de votre serveur en rajoutant « ServerSignature Off » dans votre htaccess.

  31. Même si l’on n’est pas forcément sur le registre de la sécurité, je pense qu’il faut fortement se méfier (bannir??) des thèmes (gratuits ou pas) contenant du code en Base64 (souvent dans le footer).
    Ce chiffrement peut contenir des liens indésirables et/ou du code malicieux.
    Et contrôler tous les liens et leurs styles CSS afin d’éviter les liens cachés (position fantaisistes ex: top: -800px; left:-650;)

  32. Pas forcément que lre registre de la sécurité ? Mais tu es complètement dedans, je vais même te faire un peu plus peur :
    Le code en base64 peut contenir n’importe quel code php. Ce qui inclus la possibilité de prendre la main et sur le site (vol des login/pass, création de user admin invisibles) ou même prise en main du serveur qui l’héberge.
    Et oui, ce n’est pas juste pour controler du CSS ;)

  33. Tout à fait. Je me suis mal exprimé. Je distinguais 2 choses: d’une part les CSS plaçant des liens hors zone de site et d’autre part le fameux code en base64 qui peut être « inoffensif » certaines fois mais aussi contenir une bombe à retardement par le biais de codes malicieux aux conséquences désastreuses.
    Inutile de perdre du temps à décoder les éléments, mettre le thème dans la corbeille est la solution à adopter.
    Après, libre à chacun de faire ce qu’il veut mais bon, c’est jouer avec le feu…

  34. Bonjour,

    Au niveau des astuces de sécurité, il ne faut pas oublier de générer des clés aléatoires dans wp-config.php (à la racine du site), via le générateur officiel : https://api.wordpress.org/secret-key/1.1/salt/ .

    Je vous recommande également cet article : http://codex.wordpress.org/fr:Donner_%C3%A0_WordPress_son_Propre_Dossier qui permet de changer le répertoire de base des ressources WordPress ; en conjugaison avec le masquage de l’arborescence des dossiers via htaccess, votre site sera vraiment bien sécurisé.

    Dernière astuce : pour ceux qui n’auraient pas changé le préfixe des tables de la base de données, on peut le remodifier après installation via le plugin que tu conseilles : WordPress Security Scan.

    Merci pour cet article en tout cas ;)

  35. Dis donc, quand on débute ça fait encore beaucoup d’éléments à mémoriser. Merci Alex, en tout cas, pour ces infos précieuses !

  36. article intéressant mais certains point auraient pu être ajouté comme cacher sa version de wp, masquer les erreurs de connexion, la faille TimThumb, supprimer livewriter, etc…
    J’ai d’ailleurs écrit un article la dessus

  37. @David : Le point sur le fait de cacher la version a déjà été indiqué par l’auteur dans l’article ! De plus, cacher la version de WordPress ne sert strictement à rien. Il y a tellement de moyen de la trouver que ça devient inutile de la cacher.

  38. Merci pour ces infos… mais on n’y comprend rien du tout si l’on n’est pas déjà très initié. Pensez aux débutants de chez débutants !
    Et puis, évitez svp les ellipses. Par exemple : vous conseillez de sauvegarder les données. Comment fait-on ça ?
    Cela dit sans aigreur aucune !

  39. On en apprend tous les jours … En l’occurrence, je ne connaissais pas les clés de sécurité. Intéressant.

    Cela étant, j’ai un problème … Je les ai modifié comme indiqué. Et depuis, l’admin de mon blog est inaccessible. En fait, elle me renvoie une belle page blanche.

    Je me suis dit « ça va être temporaire ». Mais ça dure depuis 2h … Je me suis dit « faut purger les cookies ». Mais ça n’a rien changé …

    Que me proposez-vous ?…

  40. D’accord pour la mise à jour fréquente de WordPress et le backup quotidien (perso via un cron).
    Reste le problème des plugins pas toujours sûrs…

    NB: Dernière mise à jour de « AskApache Password Protect » 2010-10-28 et 15 votes avec la note la plus basse, il est toujours d’actualité ???

  41. D’ailleurs, en parlant de BackUp, j’ai oublié de mentionner que j’ai écris 2 scripts qui permettent de faire une sauvegarde des fichiers du site et de la base de données. Les scripts sont disponibles sur Github : https://github.com/GeekPress/WP-BackUp

    Dans le même genre, il y a WP Easy BackUp de Julio.

    Maintenant, vous n’avez plus d’excuses pour ne pas mettre en place un backup =)

  42. @refonweb: Ce plugin est très bon et très technique, ce qui fait que dès qu’une personne a un probleme, elle note 1/5 car le support est inexistant. Mais je te confirme qu’il est bon (mais je ne l’utilise pas)

    @jo: merci ;)

  43. Petite question.
    Peut-on effectuer ces manipulations directement lors de la phase de développement en local ? ou faut-il le faire uniquement une fois en ligne ? Merci pour ce blog très intéressant.

    Autre petite question : je me suis inscris sur le site, cependant lorsque je clique sur le lien de connexion, rien ne se passe. A+.

  44. Merci beaucoup Alex pour ces info très utile. Rue que de sauvegarder sa base! Mais comment tu t’y prends? Tu sauvegardes les fichies qu’il y a dans Filezilla?
    Merci pour vos reponses

  45. @nectart: Non il faut que les gens qui lisent ton commentaire sachent y répondre. Puis il faut être patient puisque c’est bénévole. Ensuite il aurait fallu être courtois, mais là c’est raté, j’ai plus envie de te lire. /ignore

  46. @Nectart : Evite de troller sur ce site (j’ai modéré ton dernier commentaire…).

    Pardonne nous d’être bénévole et de ne pas pouvoir prendre le temps de voir et/ou répondre à toutes les questions.

    Pour te satisfaire, je vais répondre à tes questions au plus simple …

    1- local
    2- Merci, essaye sous Firefox, ça fonctionnera.

  47. Tiens, un troll sur un blog, ca faisait bien longtemps que je n’en avais pas vu ^^

    Dommage que tu n’ai pas été courtois, si tu attendais une réponse rapide tu avais Google, comme dit juste au dessus ce sont des bénévoles qui postent sur ce blog, ils n’ont pas forcément vu ton commentaire directement !

    Encore merci pour ces précieuses informations

  48. Hello, bel article et très instructif. J’ai une question : comment ouvre-t-on les fichiers en question (php, config) pour insérer la ligne de code ? Avec Kompozer ? Je me sens un peu perdue tout soudain ;)

  49. Pour ma sauvegarde fichier et base de données, j’utilise le plugin X-Cloner qui fonctionne très bien et est très complet!

    J’ai l’impression que la dernière version de wordpress a corrigé la faille qui affichait les plugins sans être connecté

  50. Re,
    Finalement, je le ferai plus tard, car d’une part je ne suis pas sûre de l’ouvrir correctement dans Kompozer, et d’autre part je ne vois pas où le mettre (le code est petit).
    Au risque de me tromper, je verrai donc ça plus tard avec un connaisseur.
    Merci de l’info malgré tout
    Marjorie

  51. Bonjour,

    Un énorme merci pour vos précieuses instructions car je me suis fais hacker un site sous WP et franchement c’est la « galère » l’hébergeur la suspendu et je cherche ce qu’il faut faire comme corrections. Si l’hébergeur le réactive et qu’il y a tjs un pb il le supprime carrément!!

    Donc je sécurise de suite mes autres sites avec vos instructions, encore merci.

  52. Bonjour,
    Je suis novice dans la création de blog; j’ai mon blog installé chez OVH et je voudrais pouvoir modifier le fichier « wp-config.php » comme indiqué dans votre article. NB: j’ai fait une installation rapide (celle proposé par OVH).

  53. @nidia,
    Je ne suis pas un expert non plus mais si ça peut t’aider, personnellement, j’ouvre ce genre de fichier avec le programme « Dreamweaver » d’Adobe.
    Bonne continuation ;-)

  54. Bonsoir j’apporte ma pierre a la sécurité car j’ai des sites avec un fort trafic est ras le bol des injections SQL et des attaques DDOS surement de mes concurrents!
    Donc merçi les US pour cette solution gratuit :

    https://fr.cloudflare.com/

    Ceux qui veulent essayer l’option gratuit est largement suffisant;)

    Bonne soirée

  55. Un GRAND merci pour cette article puisque j’ai reçu une attaque du Chili ce week-end sur mon blog wordpress. Je vais télécharger ces plugins afin de pouvoir blogguer plus sereinement! Concernant le backup, j’ai une erreur avec WP-DB-Backup, pour ma part, j’utilise le backup d’OVH qui est très efficace et m’a souvent sauvé…Merci encore.

    Marie

  56. Super article Alex, très complet sur la manière de sécuriser son blog wordpress. Personnelement, j’utilise AskApache Password Protect depuis ses débuts et c’est très pertinent comme outil. J’ai un blog sous blogger, disposes-tu de plugin similaire? Bonne continuation. Sarah

  57. Merci Alex pour tous ces conseils. La sécurité est un sujet très important. Depuis que mon site web a commencé à générer du trafic, il y a des hackers qui le chouchoutent. Pour tous ceux qui pensent qu’avec un simple mot de passe ils peuvent protéger leurs sites web, je leur dis repensez encore.

  58. Merci pour tout .
    Juste une question quand j’insere les lignes suivantes dans mon fichier wp_config.php

    order allow,deny
    deny from all

    Mon site deviens injoignable .

  59. @Koweb : C’est normal, ces lignes ne doivent pas être insérées dans le fichier wp-config.php, mais dans le fichier .htaccess présent à la racine de votre ftp comme ceci :

    <Files wp-config.php>
       order allow,deny  
       deny from all  
    </Files>
    
  60. Très bon article Alex, je conseille AskApache Password Protect qui m’a très bien protégé depuis le début de mon blogging. Pour le backup, je préfère passer par mon hébergeur 1and1 ou OVH qui est sûre ! Paulo

  61. Bonjour,

    Pourriez vous m’expliquer comment agit la fonction « Options All -Indexes » par rapport à l’attribution de droits d’accès par « order deny, allow » ? Il me semble que l’on peut aussi bien passer par ce dernier, non ?

  62. Bonjour,
    Merci pour cet article très intéressant, une fois de plus.
    Je me pose quand même une question : le plugin WP Security Scan n’a plus été màj depuis le 19/12/2011!
    Est-il toujours prudent de l’installer ?
    N’y en à t’il pas un mieux suivi et tout aussi fiable ?
    Merci déjà :)

  63. @Oli : C’est le plugin qui est recommandé depuis pas mal d’année pour suivre la fiabilité de la sécurité d’un site.

    Après, la date de publication importe peu. Si le code n’entre pas en conflit avec la nouvelle version de WP, on s’en fou un peu. Et puis si le plugin n’était plus fiable, la communauté aurait pris le soin de l’indiquer dans les commentaires du plugin :)

  64. Merci Jonathan.
    Bon dans l’intervalle j’ai installé le plugin « Better WP Security »…
    Est-ce un mauvais choix ?
    Si je le désinstalle pour installer l’autre (sachant que mes tables sont renommées, etc.) cela ne risque t’il pas de flanquer mon site par terre ?
    Un grand merci pour ton aide et bonne journée :)

  65. @Oli : Le préfixe des tables est stocké dans une variable PHP présente dans le fichier wp-config.php. Elle n’est pas donc pas présente dans la base de données et ne risque pas d’être modifiée suite à l’activation/désactivation d’un plugin.

  66. De bons conseils que beaucoup de gens oublient trop souvent.
    Pourtant quand on suit les fichiers log de nos serveurs on se rend compte du nombre d’attaques journalier.
    Pour ma part j’ai en plus ajouté un fichier .htaccess dans le répertoire wp-admin pour limiter les IP ayant accès à ce répertoire

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName "Access Control"
    AuthType Basic
    
    order deny,allow
    deny from all
    allow from mon ip
    
  67. @Benoit : En effet, il est judicieux de protéger son dossier wp-admin à l’aide d’une restriction dans un fichier .htaccess.

    Par contre, cela signifie que l’accès à l’administration n’est pas accessible aux membres, aux contributeurs, etc… A utiliser si on est seul à devoir accéder à l’admin.

  68. Pour moi qui débute dans le domaine, dites-moi si j’ai bien compris :
    1- je crée un fichier .htaccess dans le rep wp-admin
    2- je copie juste les lignes ci-dessus dedans
    3- je sauvegarde et hop ça marche ?

    merci pour votre aide :)

  69. @Oli : Pour la protection du wp-admin, il faut mettre cela en place uniquement si vous êtes la seule personne à avoir un accès à l’admin. cela implique aussi que vous allez restreindre l’accès à l’admin à un poste de travail.

    Concernant le code, vous devez modifier « mon ip » par votre IP ;)

  70. Misère quelle brute je fais!
    je n’ai pas mis cette adresse et me voilà bloqué pour accéder à mon propre site maintenant…
    je suis sur un pc dans un réseau protégé donc sans connaissance de mon adresse à l’extérieur…
    comment puis-je lever totalement cette restriction et revenir à la situation d’avant, svp ??

  71. vous avez forcément laisser un code parasite quelque part. Regardez du côté du fichier .htaccess qui se trouve à la racine de votre site.

    En général, c’est pour ce genre de situation que l’on conseille de faire un backup des fichiers avant une intervention risqué comme cella là. En cas de problème, il suffit de remettre les fichiers du dernier backup.

    Si votre site est http://www.giteetcouvert.net/, j’ai bien un accès à la page wp-login.php :)

  72. En effet cela re-fonctionne à présent! :D
    Peut-être fallait-il un temps de synchronisation ?
    J’avais de toute façon un backup récent.
    Merci pour ton aide et désolé du dérangement ;)

  73. Bonjour,
    Pour ces deux plugins : Login LockDown et DB Backup quand on veut les télécharger :
    Ce plugin n’a pas été mis à jour plus de 2 ans. Il ne peut plus être maintenu ou pris en charge et peut avoir des problèmes de compatibilité lorsqu’il est utilisé avec des versions plus récentes de WordPress. ???

  74. Merci à Alex et à tous les intervenants qui permettent un débat constructif.
    En tant qu’amateur débutant WP, je ne peux qu’apprécier le débat

  75. Salut !

    Merci pour ce superbe article très complet. A l’installation, WordPress est un peu comme une passoire. Il ne faut pas oublier de boucher les trous :)

    Je vais rajouter sur mon blog la petite ligne de code pour cacher ses répertoires.

    Merci encore !

    Greg

  76. Merci pour la piqure de rappel.
    J’avais presque oublié, avant de mettre mon site en ligne, la sécurité…une honte je vous dis :D

    Toutefois, il semblerai que WP Security Scan soit en forte chute de régime (regardez la note ;) ), certains s’étant retrouvés avec un site mort après mise à jour.

    Les deux plugins qui semblent le plus fiables (un minimum en matière de sécurité :D), et complémentaires sur certains points, sont « Wordfence Security » et « Better WP Security ». Ils sont mis à jour régulièrement et n’ont (pas encore ;) ) d’incidents majeurs comme WP Secutity Scan.

    Quand à la fameuse profusion de thèmes « gratuits » qui sont en fait des faux, le mieux reste encore de s’en tenir à ceux qui sont sur WordPress.org et les gratuits distribués par les boites qui développent des thèmes payants.

    La quasi totalité des sites de téléchargement « gratuits » qui ressortent sur Google sont en fait des thèmes (souvent payants à la base) trafiqués pour servir de troyens, de vol de SEO, de support de malwares et bien plus encore.
    Et avec ce pognon…ils se paient du Google rank ;)

    Pour moi, il n’est même plus question de chercher ailleurs un thème gratuit que sur WordPress.org, car même les gratuits fournis par les vendeurs de thèmes n’ont aucun support la quasi totalité du temps…puisqu’il fait partie du payant.
    Et lorsque vous allez sur WP.org pour avoir du support, ils vous envoient paitre car le theme n’est pas indexé chez eux et « donc » considéré comme payant, même en version gratuite.
    Une chose que CyberChimps a bien compris en indexant tous ses thèmes gratuits sur WP.org et en profitant, en plus de la pub, du support gratuit des utilisateurs de WP.org ;)

    J’étais, par exemple, tenté par iTheme 2 gratuit. Mais aucun support chez le fournisseur. Et presque rien ailleurs…
    J’ai donc pris Custom Community en gratuit : un support au top, des réglages à foison. Je paierai sans problème dès que j’aurai rentré un peu de monnaie ;)

    PS : désolé pour le long post :D

  77. Bonjour,
    J’ai saisi l’url monsite.com/wp-content/plugins sur mes navigateurs, et j’ai à chaque fois obtenu une page blanche sans aucune inscription. J’aimerai savoir si cela veut dire que mes répertoires sont bel et bien sécurisés?

  78. Bonjour, pourriez-vous me dire à quel point du fichier exactement je dois introduire remove_action(‘wp_head’, ‘wp_generator’); dans fonctions.php, et Options All -Indexes dans .htaccess? Je n’ai pas dû l’introduire au bon endroit car ils me donnent plein de messages d’erreur. Merci

  79. Comme ça ?

    # BEGIN WordPress
    IfModule mod_rewrite.c
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    /IfModule 
    
    Options All -Indexes
    # END WordPress
    
  80. @Vania: Non, pas comme ça. Vous ne devez jamais touché à ce qui trouve entre # BEGIN WordPress et #END WordPress.

    Le bon code est le suivant :

    Options All -Indexes

    # BEGIN WordPress

    # END WordPress

    Comme je le disais dans mon précédent commentaire : Les directives de WordPress doivent être les dernières dans votre fichier .htaccess.

    @Eymata: Vous pouvez ajouté la ligne de code à n’importe quel endroit du fichier functions.php. Pour le Options All – Indexes, ma réponse est juste au dessus ;)

  81. Merci. Et pour remove_action(‘wp_head’, ‘wp_generator’); ?
    Par ailleurs, pardon pour ma naïveté, mais j’ai téléchargé Login Lockdown, et je ne sais que faire avec les fichiers.

  82. Bonsoir,

    Beaucoup d’infos très intéressantes pour moi qui ne suis pas une pro de la technique sur WP.
    Mon blog a 2 ans maintenant et je regrette de ne jamais avoir fait la mise à jour WP : on m’avait déconseillé de le faire en me disant que cela risquait de provoquer plein de soucis au sein de mon contenu.
    Que me conseillez-vous ? Y a t il vraiment un risque à ne pas faire la mise à jour ? Inversement à quoi dois-je m’attendre comme bug en faisant la mise à jour (sachant que ma version WP est ancienne) ?

    Bonne soirée

  83. Merci pour ce super article complet et bien écrit.
    Pour securiser le site wordpress d un client j ai utilisé l extension Better WP Security,cette extension est tout simplement géniale ,elle permet de masquer et de protéger la page login et de protéger efficacement votre site web.

  84. Bonjour,
    Votre article est on ne peut plus intéressant pour moi et surtout aujourd’hui car je viens de m’apercevoir que je ne peux plus accéder à mon blog !
    En effet j’ai un message de Google me disant : « Le site Web que vous allez ouvrir contient un logiciel malveillant ».
    Je n’ai pas de connaissances informatiques me permettant de solutionner ce problème.
    A la lecture de vos articles, vous semblez être un « pro », non seulement de WordPress mais aussi de tous ces problèmes de piratage et autres virus.
    Je suis hyper angoissée face à mon incompétence.
    Que me conseillez-vous ? Que pouvez-vous me proposer ?
    Par avance merci pour votre prochaine réponse.
    Bien cordialement
    Manima

  85. Ça pourrai être intéressant de voir à quoi ressemble un fichier .htaccess propre et protégé…
    moi j’ai l’impression que dans le mien il y au moins 20 fois les mêmes lignes de codes :(

  86. Le problème de la sécurité, c’est qu’il n’y a pas de niveau maximum ceci dit, j’avais vu il y a un moment un plugin payant ‘Hide my WP’ (http://codecanyon.net/item/hide-my-wp-no-one-can-know-you-use-wordpress/4177158?WT.ac=solid_search_item&WT.seg_1=solid_search_item&WT.z_author=wpWave).

    C’est assez bluffant car j’utilise l’extension wappalyzer qui me donne, entre autres choses, l’indication du CMS employé sur le site que je visite mais avec ce plugin, wordpress passe totalement inaperçu, pareil en testant avec http://www.whatismywordpressversion.com/ qui m’indique que le site de demo n’est pas détecté comme un wordpress.

    Perso je ne l’ai pas installé mais je constate quand même qu’il y a plus de 550 votes et que le plugin avoisine les 4,5/5 de moyenne, c’est quand même pas mal !

  87. Merci pour ce superbe article
    j utilise régulièrement Wp better sécurity pour sécuriser les sites Worpress de mes clients …je vous recommande cette extension.

  88. Merci pour cet article,

    Je viens de créer un blog sur le marketing de réseau avec wordpress, et vos conseils me sont bien utile.

    Bravo pour le contenu de votre site.

    Bonne continuation

    Stéphane

  89. Merci pour ces conseils, quelqu’un vient d’essayer de se connecter à mon site, je n’avais jamais eu ce genre de problème avant! Je vais de ce pas tester vos solutions.

  90. Bonjour et merci pour ces explications !

    Mon fichier .htaccess ne semble pas supporter l’ajout de Options All -Indexes. En le supprimant, le site refonctionne bien. Savez-vous pourquoi et que dois-je faire si je ne peux inclure cette ligne ?

  91. Bonjour,
    Je tombe sur votre blog au hasard d’une recherche sur le changement de préfixe de table… j’ai eu un problème hier, j’ai perdu tout le contenu de mon site WP local en faisant ce changement! Les anciennes tables sont toujours présentes mais phpmyadmin m’a créé de nouvelles tables avec le nouveau préfixe dans lesquelles il n’y a rien puisqu’il m’a demandé d’insaller une nouvelle fois WordPress… Donc j’ai un WordPress tout neuf mais savez-vous comment retrouver le contenu des anciennes tables?
    Merci d’avance!
    Fred

  92. Bonjour,
    J’aurais souhaité savoir à quel endroit mettre ces lignes dans les fichiers wp-config.php .htaccess :

    order allow,deny
    deny from all

    Pas très clair je trouve.
    Une personne a répondu mais c’est pas plus clair…

    « C’est normal, ces lignes ne doivent pas être insérées dans le fichier wp-config.php, mais dans le fichier .htaccess présent à la racine de votre ftp comme ceci : »
    Pourtant dans le tuto c’est bien marqué pour les deux fichiers nan ?

  93. On nous dit de changer l’identifiant, mais quand on utilise buddypress, par défaut, il est affiché dans notre profil (de manière publique…).
    N’est-ce pas un bug à résoudre ?
    L’identifiant ne doit être vu QUE par l’utilisateur lui-même, mais ne doit pas être vu par un autre !

  94. Bonjour,

    Merci pour cet article.

    Un peu hors sujet, mais j’évite aussi de nommer mes boites mail avec des noms bateaux comme contact, infos, etc. et je vois que ça limite pas mal le spam, tout comme ma page contact qui ne s’appelle pas contact.

    J’ai trouvé chez korben.info un site qui permet de tester son blog https://detectify.com/, que pensez vous de cet outil ?

  95. Bonjour Alex :)

    Merci pour ce tuto, c’est très interessant.
    Surtout quand on est un peu à la ramasse avec le temps on finit toujours par oublier pas mal de choses :)
    Encore Merci

  96. Bonjour,
    J’ai chargé le worpress security scan pour mettre en oeuvre les contrôle. le chargement est en anglais. Savez-vous s’il existe une version en français ou des fichiers chargeable?
    Encore merci pour vos publications

    G.Sager

  97. Bonjour
    Mon site vient d’être piraté :-( et j’ai lu avec attention vos conseils et la totalité des commentaires :-)
    Vos conseils datant de janvier 2012 (et le dernier commentaire de décembre 2014), pouvez vous me dire s’ils sont toujours d’actualité ?
    Merci d’avance !
    Caroline

  98. Bonjour GeekPress,

    Excellente cette liste comme toujours ! Merci pour cette piqûre de rappel. J’ajouterai que Wordfence Security est aussi un excellent plugin pour scanner vos fichiers du blog, détecter les éventuels codes malicieux qui s’y cachent, ou pour bloquer les internautes qui tentent de se connecter avec de mauvais mots de passes. La version Premium permet aussi de bloquer les IP de certains pays. De plus, WP-DB-Backup propose désormais le transfert du dump de vos bases de données directement dans votre dropbox !

    La meilleure recommandation est — à mon humble avis — d’avoir un peu de bon sens, de maintenir la dernière version de WordPress à jour et des plugins. En parlant de plugins, j’essaie au maximum de ne pas trop en installer, ou alors de ceux qui sont mis à jour régulièrement.

    Enfin, un fichier .htaccess en béton, genre comme çà : http://pastebin.com/Wd8iBNx0

  99. Si ça peut aider quelqu’un, j’ai développé un plugin wordpress qui permet de détecter les fichier présents dans le wp-upload qui n’ont rien à faire là et de les supprimer.

    Types de fichiers que mon plugin détecte : php, sql, js, htaccess, exe, zip, rar, czip

    Enjoy :)

  100. Je suis novice dans la création de blog; j’ai mon blog installé chez OVH et je voudrais pouvoir modifier le fichier « wp-config.php » comme indiqué dans votre article. NB: j’ai fait une installation rapide