14 astuces indispensables pour sécuriser votre site WordPress

La sécurité d’un site WordPress n’est pas à prendre à la légère. Se faire hacker peut arriver à n’importe qui et ces 14 conseils vous permettront de limiter les dégâts potentiels. C’est quand tout fonctionne correctement qu’il faut mener des actions de prévention !

#1 – Sauvegarder intégralement et régulièrement votre site WordPress

Avant toute intervention, faites une sauvegarde régulière de votre site WordPress. Vous devez sauvegarder les éléments suivants :

  • Votre base de données MySQL ;
  • Votre compte FTP ;

Il se peut que votre hébergeur dispose d’un système de sauvegarde intégrale directement accessible via cPanel par exemple. Profitez-en pour obtenir un ZIP complet de votre site !

Capture d'écran - cPanel, module de sauvegarde assisté
La plateforme d’administration de votre hébergeur peut disposer d’un outil de sauvegarde

Vous pouvez également avoir recours au système de sauvegarde dans le cloud proposé par Automattic – l’organisation en charge de WordPress, qui s’intitule VaultPress. Il permet de télécharger une sauvegarde intégrale ou partielle (plugins, thèmes, MySQL) à intervalles réguliers (plusieurs sauvegardes quotidiennes).

N’oubliez pas de mettre en place un système de sauvegarde automatique de votre base de données MySQL.

#2 – Tenez votre site WordPress à jour

85% des sites WordPress qui se font hackés sont des sites qui n’ont pas fait de mise à jour depuis plusieurs mois voire plusieurs années.

Chaque mise à jour du cœur de WordPress apporte des correctifs de sécurité. Il en va de même pour vos plugins !

Notez que WordPress bénéficie d’un système de mise à jour – et de réinstallation, entièrement automatisé. Il arrive qu’on me reporte régulièrement que cette fonctionnalité pose problème : la solution consiste à changer d’hébergeur.

Je vous invite à visionner notre podcast pour savoir comment Effectuer une mise à jour de WordPress.

#3 – Utiliser des mots de passe sécurisés

Un compte administrateur disposant de privilèges élevés – que ce soit sur votre site WordPress ou votre ordinateur personnel, doit disposer d’un mot de passe d’au moins 8 caractères incluant :

  1. Des chiffres ;
  2. Des symboles spéciaux ;

Cela vous évitera de subir des attaques de hackers consistant à tester les mots du dictionnaire.

Évitez toute donnée faisant référence à votre vie personnelle comme une date de naissance, un numéro de département. De nos jours, la vie privée est très mal protégée sur Internet.

Bien entendu, utilisez des mots de passe uniques pour vos différents comptes. Un mot de passe pour les gouverner tous… et l’on voit comment ça finit (cf. Le Seigneur des Anneaux de Tolkien) !

#4 – Changer le préfixe de votre base de données

Lorsque vous procédez à l’installation de WordPress, le préfixe attribué à votre base MySQL est wp_

Si vous n’avez pas prêté attention à ce paramètre, il n’est pas trop tard. Pour ce faire, utilisez le plugin WP Security Scan.

#5 – Bloquer la navigation de vos dossiers WordPress

Par défaut, n’importe qui peut accéder au contenu de vos dossiers par défaut – comme /wp-content, via un simple navigateur.

Suivez ce podcast vidéo pour apprendre comment bloquer l’accès aux répertoires de votre installation de WordPress.

#6 – Supprimer le compte ‘admin’ par défaut

Par défaut, WordPress vous propose de créer un compte intitulé admin lors de l’installation. Si vous ne pensez pas à changer cet identifiant commun, un hacker n’aura plus qu’à trouver votre mot de passe.

Limitez les risques en visionnant ce podcast vidéo pour savoir comment supprimer le compte administrateur de WordPress.

#7 – Ajouter des clés de sécurité secrètes dans le fichier wp-config.php

Vérifiez que votre fichier de configuration wp-config.php – un fichier stratégique situé à la racine de votre installation WordPress contenant vos données de connexion à la base de données MySQL, contient bel et bien des clés de sécurité générées aléatoirement.

Pour en savoir plus, je vous recommande vivement de lire ce tutoriel vidéo pour configurer ces clés de sécurité.

#8 – Masquer la version de WordPress

Si vous affichez le code source de votre site WordPress, vous remarquerez la présence d’une balise meta indiquant la version de votre WordPress.

<meta name="generator" content="WordPress 3.0.5" />

Le problème réside dans le fait qu’un hacker pourra identifier facilement les failles relatives à la version que vous utilisez – d’où le conseil de mettre à jour votre installation WordPress.

Suivez le tutoriel intitulé Masquer le numéro de version de WordPress.

#9 – Protéger l’accès au wp-config.php via .htaccess

Ouvrez le fichier .htaccess situé à la racine de votre serveur FTP puis rajoutez la ligne suivante. Elle empêchera un hacker de récupérer votre identifiant et mot de passe en cas de problèmes avec PHP sur le serveur.

<FilesMatch ^wp-config.php$>
 deny from all
 </FilesMatch>

#10 – Bloquer les attaques de type « brute force »

Par défaut, il est possible de tester autant de couples identifiant / mot de passe que souhaitez pour se connecter à votre administration WordPress.

Installez donc le plugin Login LockDown pour restreindre le nombre de tentatives autorisées pour un certain laps de temps.

#11 – Utiliser un scanner de failles de sécurité

Le plugin WP Security Scan dispose d’outils très pratique pour identifier vos failles de sécurité. Il vous indiquera notamment le CHMOD de vos répertoires et le CHMOD conseillé. Si tout est vert, vos données sont en sécurité. Un point rouge, il vous faut intervenir avec un client FTP.

Ce plugin vous permet également de changer le préfixe de votre base de données WordPress et de générer des mots de passe costauds.

WP Security Scan

Un plugin pour scanner les failles de sécurité de votre blog WordPress.

Taille : 143,6 KiB  •  Date : 25 mars 2011 •  Hits : 4 654

Un second plugin très complet est également disponible. Il s’agit de Better WP Security que vous pouvez télécharger ci-dessous :

Better WP Security, version bêta

Un plugin tout-en-un pour gérer la sécurité de votre site WordPress.

Taille : 37,1 KiB  •  Date : 25 mars 2011 •  Hits : 2 581

N.B : toutefois, je vous mets en garde sur certaines actions qui pourraient causer des dommages sur votre site. Le fait de pouvoir modifier en quelques clics des paramètres sensibles peut constituer un risque pour les utilisateurs non initiés. Notez bien que ce plugin est aussi en version bêta. Les testeurs pourront donc s’amuser sur des installations de tests !

#12 – Masquer les erreurs de connexion

Lors du processus de connexion, WordPress affichera des messages d’erreurs explicites suite à une saisie. Il convient donc de masquer ces erreurs en intervenant dans le fichier functions.php de votre thème WordPress.

Il suffit ensuite de rajouter la ligne de code suivante :

add_filter('login_errors',create_function('$a', "return null;"));

Notez que cette sécurité est propre au thème utilisé et qu’il convient donc de la réitérer en cas de changement.

Une astuce tirée de l’excellent site WpRecipes.

#13 – Désactiver Windows Live Writer

Windows Live Writer est un logiciel Microsoft permettant de bloguer depuis une application de bureau. Or, pour des raisons de compatibilité, WordPress ajoute une ligne de code supplémentaire dans le header de votre blog. Inutile et source d’insécurité !

Consultez le tutoriel Désactiver Windows Live Writer sous WordPress.

#14 – Vérifiez la sécurité de votre hébergeur

Terminons par une astuce de sécurité d’ordre plus générale. Il est important que votre hébergeur vous propose des versions relativement récentes – on ne peut pas être à jour en permanence, de Apache, MySQL (base de données) et PHP.

Renseignez-vous auprès de votre hébergeur ou utilisez un fichier PHP pour obtenir ces informations cruciales.

Je vous recommande l’hébergeur Mavenhosting qui fait tourner WordPress Channel sans soucis depuis sa création !

J’ai migré dernièrement sur un VPS de PlanetHoster pour des performances supérieures.

#15 – Supprimer le fichier readme.html

Une nouvelle astuce communiquée dans ce commentaire. Il est important de supprimer le fichier readme.html situé à la racine de votre WordPress car il affiche le numéro de version de WordPress.

14 astuces de sécurité pour WordPress est un bon début pour commencer ! En effet, il est possible d’aller bien plus loin pour améliorer le niveau de sécurité de votre site. Libre à vous de me proposer vos trouvailles et autres hacks via les commentaires !

Crédits photo : Marines

99 commentaires

  1. Martin

    Il y a des conseils de bon sens, et des conseils inutiles dans une liste qui prétend fournir des astuces indispensables. Je blogue depuis 2004, sur des sites de faible ou moyenne impotance, spammés à outrance, comme tous les sites, bref, à la portée de n’importe quel pirate de la planète. Et pourtant, je n’ai pas appliqué la moitié de ces indispensables décrits ici.

    Ce qui est indispensable, c’est, avant toute chose, un WordPress à jour, car les correctifs dévoilent de fait les failles des versions précédentes, et permettent donc aux pirates de prendre la main sur des sites aux versions obsolètes. Ensuite vient un mot de passe sécurisé, car il serait dommage de se faire pirater son site parce qu’on a utilisé password en guise de mot de passe, ou le prénom de sa petite amie, ou sa date de naissance, voire son adresse postale, très en vogue auprès des robots hackeurs automatiques. Enfin vient la sauvegarde régulière (avec une procédure de restauration, souvent négligée), car en dehors des actes de piratage, on n’est pas à l’abri d’une panne matérielle, logicielle ou d’une erreur qui peuvent n’avoir aucun rapport avec le site lui-même et son CMS. Tout le reste est superflu.

    Certes, la sécurité par l’obscurité peut s’avérer utile dans certains cas, mais certainement pas systématiquement. Par exemple, je ne comprends pas en quoi, sachant que l’on met à jour son WordPress régulièrement, on doit masquer le numéro de version. Puisqu’il est à jour, c’est nécessairement le dernier ou — le temps de mettre à jour — celui qui précède. Le masquer n’est donc plus indispensable, mais complémentaire. Mêmes remarques pour la suite.

    1. Aurélien Denis auteur de l’article

      Merci de cet avis constructif.

      Je suis d’accord sur le fait que le mot indispensable peut paraître un tantinet racoleur mais on a un concentré d’astuces intéressantes.

      Après, chacun agit en fonction de ses besoins, de ses connaissances et de son expérience.

      1. $jGW5YXX2Ymj9n7

        Bonjour,

        Merci pour ces conseils.

        De mon côté, masquer le numéro de version rentre dans un processus en défense en profondeur. Donc c’est une bonne pratique.

        Par contre ne pas oublier également d’effacer le fichier readme.html qui fuite le numéro de version wordpress.

  2. Mélodie

    Bonjour,

    Je voudrais savoir si dans ce bloc de texte:
    ******

    <FilesMatch ^wp-config.php$>
    deny from all
    </FilesMatch>

    ******
    Il ne manquerait pas un «  » (sans les guillemets), juste avant le « . » dans « ^wp-config.php$ » ?

    pour que ça ressemble à ceci ?

    *******************************

    <FilesMatch ^wp-config.php$>
    deny from all
    </FilesMatch>

    *******************************

    Merci pour vos tutoriels !

      1. Mélodie

        Je me suis embrouillée avec le code du présent site:
        « Vous devez remplacez les «  » respectivement par < et > »

        Je veux dire il devrait y avoir ça:

        deny from all

        Puisque c’est une expression régulière.

        1. Mélodie

          Je ne vais pas y arriver : vous devriez ajouter des boutons d’éditions pour les commentaires. ;D

          <FilesMatch ^wp-config\.php$>
          deny from all
          </FilesMatch>

  3. Gilles

    Pour cacher la version de WP utilisée, il faut aussi enlever le fichier readme.html qui se trouve à la base du site. C’est un fichier créé par l’installation de WP et il faut l’enlever manuellement.
    Ce qui n’est pas le cas pour ce site, et on peut savoir la version de WP utilisée en allant à l’url :
    https://wpchannel.com/readme.html

        1. Nicolas

          C’est amusant, il est toujours présent, et j’oublie également de la supprimer à chaque mise à jour de WP !
          Bon passage en 3.5.1, tu as une version de retard

    1. marlb

      Afin d’éviter d’avoir à supprimer le fichier readme.html à chaque update de version, on peut simplement le bloquer via le .htaccess (comme pour le wp-config.php)

      deny from all

  4. manu59

    Bonjour,
    j’étais intéressé par votre article en revanche quand vous dites qu’il faut utiliser « WP Security Scan », il est plus à jour depuis 113 jours, pour un plugin de sécurité, je trouve que c’est un peu dangereux, mais je me trompe peut être.
    En tout cas j’ai pas osé le télécharger.

    En passant, un grand merci pour vos conseils qui me sont bien utiles !

    1. Aurélien Denis auteur de l’article

      J’ai effectivement remarqué avant de le proposer que ce plugin n’avait pas été mis à jour depuis longtemps.

      Toutefois, il fonctionne très bien de mon côté et reste l’un des plus connus.

      Merci à vous !

    2. Mélodie

      Bonjour,
      J’utilise auss wp-security-scan, mais je ne l’active que le temps d’effectuer les vérifications qu’il propose. Après, je le désactive. (Et je complète ses informations par d’autres, comme celles présentées ici).

  5. sandrine

    Bonjour,

    Encore de nombreuses astuces merci Puis-je poser une question qui peut paraître stupide ? A quoi ça leur sert de « hacker » un blog ? C’est quoi le risque ?
    Une novice utopiste…

        1. Aurélien Denis auteur de l’article

          Soit un hacker peut piraté un site pour en extraire des données potentiellement intéressantes, soit il veut atteindre plusieurs centaines de sites à la fois en agissant sur des serveurs mutualisés. Il peut donc viser un hébergeur.

          Après, c’est comme le spam… je ne vois pas bien ce qu’ils en tirent.

          1. Jerome

            Derrière le spam il existe une vraie réalité économique !
            Quand on envoi 1 000 000 d’emails de spam (scam) avec un lien affilié (par exemple) qui rapporte 0,30€ par clic. En admettant que seulement 10% des destinataires cliquent sur le lien en question, ça rapporte tout simplement 30 000€

            Voici une raison (parmi d’autres) qui explique pourquoi le spam existe

  6. Pascal CAMLITI

    Bonjour et merci pour cette piqure de rappel, une petite question SVP :
    Ou est situé la meta :

    Dans le header.php ou index.php, je n’ai pas réussi à mettre la main dessus ?

    Merci

  7. manu59

    désolée de vous embêter, mais il me note « The file .htaccess does not exist in wp-admin/. » or mon fichier .htacess à toujours était a la source.
    Merci pour vos conseils

      1. manu59

        Comme vous m’avez dit qu’il y avait pas de danger malgré qu’il est pas mis à jour, j’ai installé wp security scan, et il me sort donc cette erreur. Que dois je faire ?
        Merci

  8. La Sélection du Clic : Vol.4 | Génération-Clic.net | Génération-Clic.net

    […] WPChannel : 14 astuces indispensables pour sécuriser WordPress […]

  9. bruno bichet

    Bonjour,

    Je viens de jeter un oeil sur le code source de ce blog et je viens de voir qu’il reste la balise link rel= »wlwmanifest à supprimer

  10. Philippe

    Hello ! Super article Aurélien ! Je suis ok sur le fond avec le premier avis de Martin : les 3 premiers points que tu mentionnes ne peuvent pas être négligés. Cependant, certaines autres propositions sont loin d’être simplement « complémentaires ». Je suis chargé de projet en cybercriminalité bancaire et je peux te dire que j’ai vu pas mal de sites piratés pourtant bien up-to-date mais victimes de problèmes de conf (au niveau des serveurs mutualisés de certains hébergeurs, paramètre non maitrisable). En gros, blinder les répertoires critiques en htaccess est un minimum vital. Masquer la version et « limiter » le bruteforcing sont aussi utiles.

    1. Martin

      @Philippe : Reprenons, si tu le veux bien, les points des indispensables mentionnée dans l’article. Note que j’aurais bien fait une liste numérotée (<ol>) ou pas (<ul>) dans ce commentaire, mais comme une récente mise-à-jour de WordPress quelque peu paranoïaque empêche leur utilisation dans les commentaires (cf. kses), je vais me contenter de la balise <b>. Et tant pis pour la facilité de lecture. (C’était un préambule dont le sens caché est : « à force de sécuriser tout et n’importe quoi, on limite inutilement des fonctions utiles et qui ne représentaient pourtant aucun danger, par pure paranoïa ».)

      #1 – Sauvegarder intégralement et régulièrement votre site WordPress

      Oui, c’est indispensable.

      En informatique, la sauvegarde est indispensable, en particulier pour des données en ligne. À ne pas négliger : récupérer la sauvegarde faite sur un espace de stockage inaccessible au site un fois la sauvegarde faite. Cela évitera qu’un pirate qui prendrait le contrôle du site en profite pour effacer les sauvegardes ou les infecter d’on ne sait quoi.

      #2 – Tenez votre site WordPress à jour

      Oui, c’est indispensable.

      Comme indiqué précédemment, maintenir à jour est d’autant plus important que le correctif indique la faille et la manière de l’exploiter des précédentes versions. Une fois une faille connue et corrigée, il convient de mettre à jour au plus vite, surtout que le code de WordPress est open source, donc publiquement accessible, et donc accessible aussi aux individus malveillants.

      #3 – Utiliser des mots de passe sécurisés

      Oui, c’est indispensable.

      Minuscules, majuscules, chiffres, signes de ponctuation. Les mots de passe par défaut de WordPress sont sécurisés. Bien veiller à les choisir longs.

      En revanche, la transmission des mots de passes n’est pas sécurisée, que ce soit par email ou par http. Il serait donc intéressant d’éviter l’envoi des mots de passes par mail, et en profiter pour utiliser un certificat SSL sur l’interface d’administration. Personnellement, j’y viens petit à petit sur mes sites WordPress, en utilisant des certificats SSL émis par une autorité de certification. Ce n’est sans doute pas indispensable, mais largement plus prudent.

      Un gros défaut des mots de passes sécurisés : on ne peut pas les deviner, certes, mais ils sont aussi de plus en plus difficiles à mémoriser. Il en résulte que l’on crée des failles ailleurs, notamment en postant un Post-it sur l’écran de l’ordinateur visible par tous. Ou que l’on utilise un logiciel qui centralise des mots de passes (comme le navigateur, les mots de passes sauvegardés par Firefox sont stockés et accessibles en clair).

      Ne pas omettre de modifier le fichier « wp-config.php » manuellement pour y remplir les éléments aléatoires privés permettant notamment de créer les mots de passes aléatoires par WordPress. Une faille corrigée en 2009 a dévoilé la possibilité de deviner, pour un pirate, le mot de passe généré via le générateur de nombres pseudo-aléatoires de WordPress. Ce mécanisme vise notamment à rendre le générateur de nombres pseudo-aléatoires plus aléatoire et imprévisible qu’il ne l’était.

      #4 – Changer le préfixe de votre base de données

      Non, ce n’est pas indispensable.

      Renommer les tables préfixées par « wp_ » en « xx_ » n’améliore en rien la sécurité en soit.

      Pour que cela soit efficace, il faudrait empêcher le listing des tables à l’utilisateur qui a accès à la BDD. Or, la plupart des hébergeurs ne permettent pas, ou du moins pas aisément, une telle fonction. Qui plus est, il faudrait limiter les attaques par force brute sur la BDD, tout comme l’accès à la BDD depuis certaines IP, sans oublier le sécuriser les accès (SSL ?), etc.

      Bref, à moins de mettre la barre beaucoup plus haute, en matière de sécurité d’accès à la BDD, cette action seule semble purement cosmétique.

      #5 – Bloquer la navigation de vos dossiers WordPress

      Non, ce n’est pas indispensable.

      C’est même impossible à appliquer ! Empêcher l’accès à wp-content empêche… l’accès aux thèmes et aux médias ! Le site devient inutilisable !

      Par défaut, « wp-content » comporte un fichier « index.php » vide qui empêchent le listing du dossiers si jamais le serveur web permettait de les lister.

      En outre, on protège quoi ? Le listing de fichiers dont la liste est déjà publiquement disponible ? Rassurez-moi, personne n’upload sur son blog public des fichiers confidentiels dans l’espoir que personne ne les verra ? Dans ce cas, il faudrait avant toute chose modifier ce comportement.

      #6 – Supprimer le compte ‘admin’ par défaut

      Non, ce n’est pas indispensable.

      La liste des utilisateurs d’un blog WordPress est habituellement exposée par l’habillage du site. Pour vérifier si un utilisateur « tartanpion » existe, il suffit de vérifier la présence de la page « example.com/author/tartanpion », et la quasi-totalité des habillages vous diront si celui-ci existe ou non.

      Ensuite, la plupart des blogueurs bloguent avec le compte administrateur, qu’il se nomme « admin » ou pas. Ce nom est donc dévoilé dans chacun des articles et flux RSS.

      Enfin, plutôt que de changer le nom de cet utilisateur, il suffit, pour une protection plus intéressante, d’allonger d’autant le mot de passe. Le mot de passe, lui, n’est pas public.

      #7 – Ajouter des clés de sécurité secrètes dans le fichier wp-config.php

      Ça dépend.

      Ce n’est pas indispensable, mais pour le prix que ça coûte (10 secondes ?), mieux vaut le faire. Cela protège notamment des attaques visant à réinitialiser un mot de passe WordPress à l’insu de l’utilisateur.

      À compléter par un accès SSL à l’espace d’administration, surtout quand on utilise une connexion Internet sans fil, en particulier dans des endroits inconnus (hôtel, bar, etc.)

      #8 – Masquer la version de WordPress

      Non, ce n’est pas indispensable.

      Comme indiqué précédemment, en suivant les conseils de mise-à-jour régulière, soit c’est le dernier WordPress en date, soit la version précédente. La version est donc déjà dévoilée de fait.

      #9 – Protéger l’accès au wp-config.php via .htaccess

      Non, ce n’est pas indispensable.

      Cette protection n’est utile que dans le cas où l’hébergement web serait défaillant, et plutôt que d’exécuter le fichier PHP, en dévoilerait le contenu sous la forme d’un fichier texte, et donnerait ainsi de fait les accès à la BDD. Si l’on peut se connecter à la BDD depuis n’importe où, alors oui, cela pose problème : un tiers peut réinitialiser le mot de passe ou ajouter un utilisateur, bref, faire ce qu’il veut avec le site. Encore faudrait-il qu’il y ait un défaut préalable sur le serveur web. Mais si le serveur web a un tel défaut, le « .htaccess » ne suffira peut-être pas non plus.

      Par défaut, lorsque WordPress ne trouve pas le fichier « wp-config.php » à son emplacement habituel, il va chercher dans le dossier parent. Il est donc plus pertinent de l’y placer, d’autant que lorsque WordPress est installé à la racine du site (cas le plus fréquent), le dossier parent n’est pas accessible depuis le web, et donc le fichier est mieux protégé. Il y a donc plus simple et plus sécurisé comme conseil équivalent.

      #10 – Bloquer les attaques de type « brute force »

      Non, ce n’est pas indispensable.

      Si le mot de passe est sécurisé, alors les attaques par la force brute mettront des milliers ou millions d’années à réussir et ce même sur le serveur le plus rapide du monde et la bande passante la plus instantanée possible, le tout en tenant compte de l’évolution technologique exponentielle que nous connaissons depuis 40 ans au moins dans le domaine informatique.

      Bref, on se rend compte du problème avant que celui-ci n’en soit un par d’autres moyens (comme l’allongement exagéré des fichiers logs du serveur web).

      #11 – Utiliser un scanner de failles de sécurité

      Non, ce n’est pas indispensable.

      Car cela implique que WordPress à la base soit non sécurisé, ou que les thèmes ou extensions ne le soient pas. Mais dans ce cas, scanner après les avoir installés semble déjà tard.

      Conclusion

      Ce que je veux dire ici, c’est que considérer ces conseils comme indispensables semble laisser croire que WordPress n’est pas un CMS sécurisé, et qu’il est au contraire une passoire aux failles. Or, ce n’est pas le cas.

      Les conseils ci-dessus ne sont pas dénués de sens et améliorent la sécurité (ou du moins ne la baissent pas). Mais à part quelques conseils de bon sens, notamment pour ce qui est de la sécurité des mots de passes, les autres ne sont pas indispensables. Au mieux, ils sont utiles, au pire, superflus, complexifiant le CMS inutilement, le rendant plus fragile lors des évolutions futures, et n’apportant pas de plus value notable en termes de sécurité .

      1. Jérôme

        Hello, concernant le #1 il faut aussi faire attention à ce que les sauvegardes ne soient pas elles-mêmes infectées.
        C’est au moment où on restaure qu’on s’aperçoit que la version n-6 ou plus était déjà plombée par le(s) hacker(s).
        Il faut donc bien prendre choisir son hébergeur et s’assurer qu’il soit secure

  11. Sécuriser Wordpress, Cpanel et WHM.

    […] sites internet sous WordPress :Guide complet pour nettoyer et sécuriser WordPress après un hacking14 astuces indispensables pour sécuriser votre site WordPressWordPress: 10 trucs simples pour protéger votre blogueSécuriser son blog WordPress #3Sécuriser […]

  12. Eloka

    Bonjour,
    C’est un article fort intéressant et j’applique certaines recommandations que vous citez sur la plupart de mes blogs. Évoluant dans un domaine fortement concurrentiel, mes sites sont souvent attaqués. Heureusement je veille à avoir des versions à jour, un .htaccess protégé et des mots de passe introuvables.

    Cependant, hier encore, une injection SQL détectée dans ma base malgré la présence de WP Security Scan et de Bad Behavior.

    Alors, existe t-il vraiment une solution efficace ou tout ça n’est-il que de la poudre aux yeux pour nous empêcher de voir la réalité en face : aucun système (même ultra sécurisé) n’est infaillible ?

    1. Eloka

      @Eloka : Si malgré tous les conseils prodigués sur cette page, tu as des défauts de sécurités rencontrés dans ta base de données, c’est peut-être que le problème vient d’ailleurs que de WordPress. Je pense notamment à ton ordinateur local hacké d’une manière ou d’une autre qui auraient permis à un tiers de récupérer la liste des mots de passes FileZilla, par exemple, que tu utilises, donc les accès à l’ensemble de tes sites, puis, par ricochet, l’injection de ce que ce tiers souhaite dans la base de données. Bon, c’est une piste peu probable, certes, mais ça reste possible.

      Si un autre de tes sites passe par le même utilisateur que WordPress, il peut lire dans l’arborescence de ton site WordPress, et donc lire sa configuration SQL. C’est aussi une vois à étudier.

      Enfin, depuis Debian Squeeze 6.0, le PHP 5 est par défaut livré avec Suhosin, une extension qui barre la route à la plupart des utilisations étonnantes et douteuses utilisées parfois par les hackers et autres pirates pour prendre le contrôle d’un site à distance. Cette extension est disponible aussi par ailleurs. Cela vaut le coup de l’installer, la configurer au besoin, et enfin l’exploiter sur l’ensemble de ses sites.

      Evidemment, des sauvegardes régulières sur une machine distante que la machine d’origine ne peut effacer son toujours indispensables, tout comme des procédures de recouvrement des données régulièrement mises à l’épreuve. Pour cela, VaultPress peut être utile.

  13. Eloka

    Merci pour toutes ces remarques et conseils. Je vais me renseigner d’avantage sur Suhosin, c’est en effet une solution qui me semble efficace. Quand je disais beaucoup de mes sites, en fait simplement deux dont un où il est clair que la sécurité du serveur est à mettre en cause. J’ai exagéré un peu mes propos, je sais par expérience que WP n’a rien d’une passoire.

    Ma machine risque difficilement d’être infectée mais aucun système n’est infaillible et ton propos éclaire une interrogation qui m’est venue récemment : des malwares peuvent-ils m’espionner depuis un poste infecté ? il semble que oui.

    Merci encore pour ta réponse.

    1. Martin

      Oui, Eloka, certains logiciels malveillants visent spécifiquement FileZilla. En effet, ce client FTP (notamment) stocke en clair les informations de connexion, ou tout du moins il peut exporter cette liste sur demande. Ce n’est pas une faille en tant que telle du logiciel, l’équipe considérant que c’est au système d’exploitation de gérer sa propre sécurité.

      Cependant, un confrère, pourtant un professionnel d’Internet, a installé à son insu un malware ayant dérobé ses identifiants de connexion en cliquant sur un simple PDF infecté (via une faille dite « zero day », imparable malgré son anti-virus). Aussi, comme tu le remarques, il n’existe pas de logiciel imparable. De toutes façons, si tu sécurises la porte, le pirate pourra toujours passer par la fenêtre, la cave, le grenier, voire défoncer le mur. Mieux vaut donc être plus sécurisé que le voisin. Dans le cas de mon confrère, l’ensemble des sites accessibles en FTP (mais curieusement aucun de ceux non accessibles en FTP, mais accessibles en SFTP, comme quoi le script du pirate n’était pas très évolué) avait été infectée par l’ajout d’un code JavaScript dirigeant automatiquement les visiteurs de ses sites vers un autre logiciel malveillant installé automatiquement (via une autre faille « zero day »). Charmant.

      Pour en revenir à FileZilla, il fonctionne de même sous Windows que sous Linux ou OS X. Or, ce dernier du moins dispose d’un Trousseau d’accès permettant aux applications qui y font appel de chiffrer tous les mots de passes par une passphrase (mot de passe général) censée un logiciel malveillant de dérober les accès à l’insu de l’utilisateur. FileZilla ne l’exploite pas.

  14. ivan BEL

    Une astuce de sécu de trop ?
    Bonjour,
    J’ai suivi pas à pas vos différentes astuces après m’être fait hacker 3 fois mon site. Mais en faisant l’astuce 12 sur le fichier Functions.php, cela a planté direct mon site. Si vous vous connectez dessus vous verrez maintenant la ligne suivante :
    Fatal error: Call to undefined function wp_suspend_cache_addition() in /home/resea53/public_html/wp-includes/cache.php on line 288
    J’ai supprimé l’astuce, rechargé le fichier Functions.php, mais rien ne change.
    Que dois-je faire ?
    Merci

  15. Niko

    Vous vous embêter vraiment, vous pouvez faire tous ça avec un plugin :

    – Installer le plugin Secure WordPress

    Le plugin propose d’activer des fonctions pour sécuriser au maximum votre blog :
    – Désactiver la suggestion et le message d’erreur à la connection de WordPress.
    – Supprimer la version WordPress dans toutes les zones, y compris le flux, mais pas dans la partie admin.
    – Supprimer la version de WordPress dans la zone d’administration pour les non-administrateurs. Afficher la version de WordPress uniquement aux utilisateurs avec les droits d’édition de vos plugins.
    – Créer le fichier index.php dans les répertoires /plugins/ et/themes/ pour éviter de montrer votre liste de répertoire.
    – Supprimer le lien de Really Simple Discovery dans wp_head du frontend.
    – Supprimer la mise à jour du Noyau WordPress pour tous les utilisateurs sauf l’administrateur.
    – Supprimer le lien de Windows Live Writer dans wp_head du frontend.
    – Supprimer la mise à jour des plugins et du template pour tous les utilisateurs sauf l’administrateur.

    Voila, j’espère que ça vous a aider

  16. Eloka

    Bonjour,
    Je connaissais Secure WP. Je l’ai souvent utilisé mais à l’utilisation je préfère WP Security Scan et sa panoplie de systèmes de sécurité plus performants à mon goût. Qui plus est avec ce plugin, vous recevez des rapports automatisés dès qu’une erreur ou un changement dans vos fichiers est détectée sur le serveur. C’est très efficace.

    J’ai aussi installé Login Lock sur certains WP. Je suis d’ailleurs surpris par le nombre croissant d’IP que ce plugin bloque à chaque essai infructueux de connexion à /wp-admin/

  17. BoiteAWeb

    Il ne faut PAS supprimer le fichier readme.html car il revient à chaque mise à jour automatique, un jour, vous oublierez…
    Utilisez plutôt la technique #9 de cet article et appluquez là à ce fichier, c’est bien plus logique !
    Bonne journée

  18. Gaëtan

    Bonjour,

    Une bonne solution pour avoir des sauvegardes de WordPress récentes et automatisées (pour les utilisateurs qui ajoutent fréquemment du nouveau contenu sur leur site, blogueurs par exemple) : Utiliser Dropbox et le plugin WordPress Backup to Dropbox.

    Ça permet de dormir sur ses deux oreilles

  19. adil

    Conseils en fait très important, tant pour le novice ou professionnel Merci
    Bonne continuation

  20. Lionel

    Merci pour toutes ces infos, j’ avais un problème assez râlant : des pages de mon site (assez bien choisies pour ne pas s’ en apercevoir tout de suite) du style pages suivantes ou pages de recherche , pointaient vers un une page (en redirection ) Facebook de boutique d’ affilié… la bonne affaire ! Je croyais que j’ avais un plugin qui fonctionnais pas, étais piraté en fait…
    J’ ai installé un plugin de sécurisation (WSD security) le scan a été révélateur, j’ étais vulnérable…depuis le plugin j’ ai changé la valeur du préfixe de la base de donnée et puis j’ ai suivi toute les procédures suivantes et notament le suivi du httacces c’ est super important ! Merci mille fois !!!
    En plus j’ ai été canardé de 3 go de traffic sur le serveur, heureusement après 3 h d’ attente je suis de nouveau ok.
    Si vous arrive, vous savez quoi faire maintenant !

  21. dan gazénia

    Bonjour,et bonne année à tous, et merci!,
    J’ai un blog Messenger puis wordpress, depuis 7 ans !.Je ne comprends rien à votre vocabulaire très « professionnel »(j’ai 72 ans , mais j’ai des connaissances en informatique essentielles); mais je sais que se lancer, sans être sure, dans des manips dangereuses , c’est bloquer son blog , à coup sûr.(Ex en pagaille).J’ai donné ,étant ,seule.
    Pourriez -vous,( pour des néophytes de mon style), énoncer clairement , comment sécuriser mon blog( ce qui devrait être fait automatiquement ,non?,) j’en suis à plus de 43000 lecteurs (public en plus, car mes lecteurs n’ont pas de blog!!!, trop complexe pour eux, depuis la suppression de Messenger),déjà une erreur néfaste, pour la popularité de WP.
    Mettre Security WordPress scan, est-ce supprimer automatiquement « Windows live writer » qui est pour moi , « écrivain » essentiel (mauvaise vue!)…et ne pas me permettre d’utiliser un lien avec mon blog (très pratique).
    En gros que faire ?.J’ai posé la question un peu partout , et je vois que certains ont eu des problèmes …car pour vous suivre il faut savoir ce que signifie vos mots abrégés, et un minimum de pratique.Ecrire dans un blog et dialoguer , ne nécessite pas savoir manipuler et connaître les subtilités de l’informatique , je peux reformater , sauvegarder, installer et désinstaller des logiciels , je me suis adaptée à XP, Vista, et Windows 7..et voilà ,hélas , windows 8 !!!!.Je sais numériser et faire des retouches sur des diapositives de 40 ans (Moyen-orient en 2CV,et autres 15 ans…).je ne suis pas encore « gâteuse ».Mais je viens de faire tous les forums, et je reste muette!!!; de plus, les livres sur wordpress:nuls!;et ils osent mettre pour les débutants…(mdr).
    Le support????: une connexion avec wordpress sur windows live( dans mon profil) a disparu, je recherche un plugin, on m’oriente sur WordPress.org (que je n’ai pas).cela fait un mois.
    Installer un diaporama devient une épreuve insensée, de la musique n’en parlons pas, mettre des photos ou vidéos (censure).Alors que des blogs sont scandaleux de vulgarité, j’ai été harcelée , on m’a dit; »allez au commissariat »!!! (imaginez la tête de l’inspecteur, franchement?.)
    Mémé ne réclame pas un site « 3ème âge » , mais un site simple pour débutants , bien traduit.Avec des solutions claires, et répondant à des questions précises .
    Que WordPress nous propose un antispam et malwares correct, même payant, mais efficace.sauvegarder 5 ans de billets n’est pas une mince affaire, « savez-vous? ».
    Dan dite Laurency

  22. dan gazénia

    Merci beaucoup ,
    Mais je viens de le lire, et de prendre des notes pendant une heure!, et je ne vois pas comment « passer à l’action? » ,sans danger pour mon blog qui est une partie de ma vie!.
    Cpanel?,WHM?, Weekly?,Préfixe de la base?:où?,
    Voilà ma question:traduction de tous ces mots inconnus , veuillez m’en excusez!
    Cordialement vôtre.
    Dan

  23. testmyadsl

    Hacker un blog ou site ne sert qu’à hacker tout simplement et rien d’autre
    problème d’objectifs de sa vie. Construire et détruire sont contraires.

  24. sylvain

    bonjour
    j’ai suivi votre tuto pour changer mon identifiant « admin » par un nouvel indentifiant mais en conservant mon adresse mail de mon compte »admin » ce que word press refuse de faire
    comment procéder
    merci

  25. iza

    Bonjour,
    Je suis tombée sur votre article et je me suis dit pourquoi je ne l´ai pas découvert avant…

    En effet j´ai malheureusement paramétrer le plugin Better wp security et maintenant je n´ai plus accés à mon blog c´est a dire la page admin, j´ai ce message (désolé ce que vous cherchez n´est pas ici) super…J´ai essaye de supprimer le plugin en question dans ma base de donnee(phpmyadmin) chez mon hebergeur , en supprimant dans options (bwps lockouts et bwps log) je ne sais pas si s´etai vraiment ca mais bon..sans succès! que faire?

    merci d´avance

  26. So-Trendy fr

    merci pour tous ces conseils. Avec les annonces de récentes attaques, j’essaye de me mettre à jour et ce n’est pas facile. En tout cas je viens de sauvegarder pas mal de bases de données et de faire des modifications pour éviter les attaques. J’espère que cela suffira. J’ai pas envie d’en faire trop pour ne pas aussi perdre du temps en connexions en tout genre.

  27. PureNrgy

    Bonjour
    Est-ce que le fait d’installer et d’activer le plugin Better WP Security qui est mis à jour récemment et semble très populaire peut causer des dommages si je maintiens les options par défaut? (cf ta mise en garde à son sujet dans ton article)
    Car j’avais installé l’autre jour un plugin similaire (http://wordpress.org/extend/plugins/wordfence) et un peu après je ne savais même plus commenter en réponse à mes lecteurs. Une x désactivé tout OK.
    Je cherche toutefois une solution de sécurité « simple »
    Merci de ton feedback. Bon weekend

  28. franckwylliams

    #PureNgrgy
    avecJetpack mieux vaut être prudent quand on installe des plugins
    Amicalement

      1. Aurélien Denis auteur de l’article

        JetPack intègre de nombreux modules et il est possible de rencontrer des incompatibilités avec d’autres scripts. C’est « normal ».

  29. chris

    #4 : changer le préfixe _wp.
    Il suffit juste de taper autre chose au clavier, c’est ça, et ça marche ?
    Je peux mettre n’importe quoi, alors ? (dfds65g4gsd89, par exemple…)

    Je pose la question, car, je me demande s’il n’y pas un risque que d’autres fichier présents dans le dossier wp ne reconnaissent pas cela.

    Merci pour votre partage, en tout cas.

    Chris.

  30. Rosa

    Bonjour,

    merci pour ces informations… même si le post date, il est pour moi toujours très intéressant.
    J’avais utilisé le plugin Better WP Security… résultat : me suis fais virer par mon propre blog … J’ai tout bêtement activé le plugin, mais pas paramétré de suite, je pensais le faire après… et du coup, comme je changeais des trucs dans l’éditeur du thème, je me suis faites virée ! Impossible de me reconnecter ! J’ai du tout désinstallée et refaire le blog à neuf… sans Better WP Security cette fois !

    J’ai essayé manuellement certaines petites techniques concernant l’admin, le readme.html par exemple.

    Mais y’a une question que je me pose… elle est peut-être naïve… mais bon, je la pose quand même. A quoi ça sert de pirater le blog de quelqu’un ? à part faire « c » le monde… ? Est-ce que tous les blogs sont susceptibles d’être piratés, où juste ceux qui ont une vocation commerciale ? Ou des sites dans le genre comme le tien ou celui de Boite à Web ? Enfin, tout ça pour demander si le mien risque de rencontrer des problèmes ? Et si oui, pour quelles raisons ? ça serait quoi l’intérêt ? Suis-je donc obligée de me fournir un plugin de sécurité ?

      1. Bouzar

        Bonjour,
        Depuis que j’ai installer le mise a jour de Better WP sécurity mon blog n’arrête pas de bloquer, j’ai sauter ce pluguing de ma base de donnée et j’ai renommé le htaccess et ça marche ( avec l’aide de l’assistance de mon
        hébergeur )
        Sauf aujourd’hui ça marche pas ! je ne peux pas accéder a mon blog !
        J’ai ce message d’erreur: Warning: in_array() expects parameter 2 to be array, null given in /home/cheurfan/public_html/wp-content/plugins/bbpress/includes/common/functions.php on line 1199

        Fatal error: Call to undefined function is_user_logged_in() in /home/cheurfan/public_html/wp-content/plugins/member-access/lib/MemberAccess.php on line 217

        Si quelqu’un parmi vous peux m’aider SVP

        1. Aurélien Denis auteur de l’article

          Il faut faire très attention en utilisant de tels plugins… le plus simple pour essayer de solutionner consiste à renommer le dossier /wp-content/plugins pour tous les désactiver.

  31. Jenny

    Bonjour,

    A propos du #12 pour masquer les messages d’erreur de connexion, j’ai tenté d’ajouter au style.css de mon thème
    #login_error { visibility: hidden !important!;} ou
    #login_error { display:none !important;}
    Mais ça ne fonctionne pas, et je ne comprends pas trop pourquoi.
    C’est la méthode qu’utilise WP Security Scan pourtant.

    Si quelqu’un peut m’expliquer pourquoi ça ne fonctionne pas….

  32. gio

    Bonjour,
    Il y a une option de sécurité que je ne trouve pas. Comment faire pour cacher le lien de téléchargement (d’un produit payant) du code source de la page web ?
    Merci

  33. johanna

    Bonjour Aurelien,
    J’ai une question, j’ai securisé mon fichier wp-login.php avec un htaccess et htpassword. Ca marche super mais le probleme que j’ai c’est que mes articles proteges par mot de passe me demandent aussi cette identification, c’est embettant…
    As tu deja eu ce cas, saurais tu m’aider ?
    Merci d’avance
    Johanna

    1. Aurélien Denis auteur de l’article

      Désolé de ma réponse tardive. Je te conseille de passer par un plugin comme Limit Login Attemps pour sécuriser le formulaire de connexion.

  34. | DK | Antony

    En ce qui me concerne, j’ai mis mon site WordPress en ligne avant-hier et, depuis, je suis bombardé de commentaires indésirables et incompréhensibles ( que des séries de caractères sans logique aucune ).

    Heureusement, j’avais coché l’option permettant la modération de chaque commentaire avant publication.

    Cependant, c’est assez agaçant et ennuyeux de recevoir et de supprimer tous ces commentaires…

    Une solution ? Merci !

  35. Zirk

    Pas rancunier MavenHosting: ils continuent d’envoyer une reference a cet article a leurs clients (apparemment vous avez migre de serveur!) en cas de faille de securite. Vous avez une faille et vous etes chez Maven? Pas de probleme pour eux: ils vous suspendent le compte sans avertissement, affichent une superbe page ACCOUNT SUSPENDED… et vous le decouvrez vous-meme par hasard quelques temps apres. MavenHosting = experts en securite (ils l’ont tres recemment prouve!) et en service client.

    Merci en tous cas pour votre article, qui m’a permis d’ameliorer la securisation de mon site WP (du moins je l’espere car j’ai ete victime de multiples intrusions ces derniers jours, avec des scripts back door malicieux un peu partout dans le site. J’ai d’ailleurs decouvert un excellent plugin qui m’a bien aide pour identifier tous ces fichiers: Anti-Malware and Brute-Force Security by ELI…). Bonne continuation!

  36. Bryce

    Perso, j’utilise All In One WordPress Security and Firewall Plugin – Et il permet de faire la plupart des Fix proposés dans cet article, plus des options sympa pour bien sécuriser son WordPress

  37. Hébergement site Web

    Bonjour, Bonjour,
    J’aimerai apporter deux petits ajouts vu que l’article est encore bien présent dans les moteurs de recherche.
    Premièrement, le plug-in Better security est maintenant bien connu sous le nom de iTheme Security est offre une bonne protection du WordPress.
    Le deuxième point en est un qui est trop souvent négligé. Trop souvent en tant qu’hébergeur de site web je vois des sites WordPress à jour infecter, car les gens négligent l’importance d’aussi mettre à jour leur tous les plug-ins de WordPress. Dans la majorité des sites WordPress infectés, le problème réside dans un plug-in mal protégé!
    Un des outils simples et efficaces pour nettoyer un site WordPress infecter est de souscrire à un service payant comme SiteLock.
    Merci de m’avoir lu et bonne journée!

  38. Dépannage informatique 76

    Bonjour
    Merci pour cet article très complet
    Les sites worpress hébergé chez OVH rencontre un problème de compatibilité avec l extension de sécurité Acumix …
    Je vous recommande d utiliser soit Itheme sécurité soit Wordfence afin de sécuriser facilement votre site WordPress.
    Certain plugins WordPress comportent des failles de sécurité …et ces extensions sont parfois incompatibles entrent elle…
    Si votre site wordpress plante suite à l installation d un de ces plugin pas de panique …Connectez vous via le ftp …. allez dans le dossier wp-content ….puis plugins et renommez l extension qui pose problème exemple :itheme security deviendra ithemesecurity1 et voila ca remarche !
    Wordfence est une bonne extension de sécurité …vous etes averti par mail a la moindre anomalie (extension pas à jours tentative de connexion ….).
    Je me suis retrouvé avec une cinquantaine d alertes en une seul journée les robots s éclatent …. !

  39. Frédéric Sidler

    Si avec toutes ces précautions, je me fais encore hacker, que puis-je faire? Que dois-je faire? Eh oui, mes fichiers sont encore malmenés, des fichiers sont déposés dans mes répertoires. Même ma base de données est attaquée.

Les commentaires sont fermés.