web-dev-qa-db-fra.com

Impossible d'empêcher un pirate informatique d'essayer d'obtenir un accès administrateur dans un blog WordPress après plusieurs tentatives

J'ai un blog WordPress auto-hébergé et depuis des semaines, quelqu'un essaie de se connecter en tant qu'administrateur. Je cherche un moyen de l'arrêter. Depuis que j'ai commencé à bloquer l'adresse IP d'origine, les tentatives ont commencé à provenir de nombreuses adresses IP, mais par lots de trois ou quatre tentatives toutes les 10 minutes. Il est donc évident qu'une personne utilise un réseau de robots.

J'utilise plusieurs étapes de sécurité et garde tous les plugins à jour. Wordpress est lui-même automatiquement mis à jour de nos jours, bien sûr.

Ce ne sont pas toutes mes actions de sécurité, mais j'ai ... - Le plug-in "Limit Login Attempts", mais le basculement de l'adresse IP par le pirate informatique signifiait que cela n'avait pas beaucoup d'effet.

  • Je protège le répertoire wp-admin avec mot de passe avec htaccess et htpasswd. Comme cela était en place depuis longtemps, je viens de changer le nom d'utilisateur et le mot de passe d'accès au répertoire, mais cela ne faisait aucune différence, il accédait tout de même à la boîte de dialogue de connexion.

  • Bien sûr, mon compte WP admin ne s'appelle pas "admin" et j'ai supprimé l'admin a/c d'origine.

  • Pendant un certain temps, j'ai même essayé de renommer wp-login.php et de déplacer wp-admin en dehors du répertoire du blog. Il est rapide et facile pour moi d’inverser la situation lorsque je souhaite bloguer ou apporter des modifications. Mais les tentatives de connexion limitées ont toujours signalé des tentatives - 21 depuis que j'ai renommé/déplacé ces tentatives. Comment est-ce possible? Je les ai maintenant remis à la place normale.

  • J'ai ajouté ceci à .htaccess dans le répertoire principal du blog (où nnn etc est mon adresse IP fixe et substitue par exemple.com le domaine réel):

    RewriteCond %{REMOTE_ADDR} !^nnn\.nnn\.nnn\.nnn$
    RewriteRule ^wp-(login|register)\.php http://www.example.com/blog/ [R,L]
    
  • et j'ai ajouté une variante de cela à .htaccess dans le répertoire wp-admin du blog:

    RewriteCond %{REMOTE_ADDR} !^nnn\.nnn\.nnn\.nnn$
    RewriteRule ^wp-admin.*?$ http://www.example.com/blog/ [R,L]
    

Lorsque j'essaie de me connecter depuis une adresse IP différente via wp-login.php, le premier htaccess me renvoie correctement à la page d'accueil du blog. De même, lorsque j'essaie d'accéder à wp-admin à partir de cette adresse IP différente, le second htaccess me conduit directement à la page d'accueil du blog, comme il se doit. Ce n'est que lorsque j'essaie de me connecter à partir de mon adresse IP fixe que je vois la demande d'accès au répertoire passwd, puis la page de connexion WP.

Et pourtant, le pirate informatique peut accéder à la boîte de dialogue de connexion. Il n'a pas encore réussi à se connecter, j'exécute WordPress File Monitor et je ne vois aucune modification inattendue dans un fichier, et il n'a pas encore découvert le nom d'utilisateur admin réel, mais je ne peux pas être complaisant.

Alors, quelqu'un peut-il m'aider à comprendre:

  1. Comment se fait-il que le pirate informatique puisse toujours accéder à la page de connexion? Même quand wp-login.php et wp-admin ont été temporairement renommés/déplacés? J'ai vidé le cache et désactivé le supercache il y a quelques jours (et renommé wp-super-cache) au cas où les pages en cache leur permettaient de l'atteindre.

  2. Que puis-je faire pour arrêter ça? J'ai un accès complet au site parent (hébergement partagé) et à la base de données MySQL.

1
Roy Grubb

Une chose que vous pouvez faire est que si vous n'avez pas de site Web d'adhésion, assurez-vous que wp-admin/wp-login peut être ouvert via votre adresse IP et bloquer toute autre adresse IP. Mais assurez-vous de ne pas avoir de site Web pour les membres (aucun autre abonné/éditeur pouvant se connecter. Vous seul êtes la personne à laquelle vous vous connectez.)

Vous pouvez également utiliser "CDN" comme cloudflare, qui filtrera les adresses IP avant d’atteindre votre serveur. Cela rend votre site rapide aussi bien.

J'espère que cela t'aides.

1
Neeraj Kumar Jha

Vous pouvez courir, mais vous ne pouvez pas cacher - Taylor Wagner

Vous ne pouvez empêcher personne d'essayer de pirater votre site. Les pirates utilisent de nombreux logiciels/robots/techniques pour trouver votre site et le pirater ( son fonctionnement est franchement supérieur à moi ), et vous ne pouvez pas "vous en cacher". Ces logiciels/robots "devinent" les URL sur votre site. Ils ne savent donc pas exactement où votre page de connexion est la bonne. Il s’agit essentiellement de deviner un jeu qui se poursuit jusqu’à ce que la conjecture soit correcte.

Que cela vous plaise ou non, sciemment ou inconsciemment, vous êtes bombardé de nombreuses tentatives de piratage informatique chaque jour et vous ne pouvez pas l'arrêter. Vous pouvez seulement espérer que vos mesures actuelles ( aiment utiliser de bons plugins de sécurité, des mots de passe forts, garder PHP et WordPress à jour, écrire du code "sécurisé" et ne jamais faire confiance aux entrées de l'utilisateur , vous incluez vous-même ) êtes assez bon contre l’attaque. N'oubliez pas qu'aucun code sur aucune plate-forme ni aucune langue n'est jamais protégé contre le piratage, chaque élément de code peut être piraté, vous pouvez uniquement rendre aussi difficile que possible l'accès des pirates à votre site via votre code ou votre identifiant pages.

Arrêtez de vous inquiéter d'essayer de vous cacher des pirates, ce que vous avez fait jusqu'à présent, c'est à peu près tout ce que vous pouvez faire pour empêcher d'être "retrouvé". Passez plutôt votre temps à rendre aussi difficile que possible l'accès de votre site à quelqu'un ou à quelque chose.

3
Pieter Goosen