web-dev-qa-db-fra.com

Dois-je bloquer le Bot Yandex?

J'ai une application Web à laquelle l'araignée Yandex essaie d'accéder plusieurs fois au back-end. Après ces recherches d'araignée, il y a peu d'adresses IP russes qui tentent également d'accéder au back-end et elles n'ont pas réussi à y accéder.

Dois-je bloquer Yandex ou entreprendre une autre action?

Mise à jour:

L'araignée Yandex visite une URL principale environ une fois par 2-3 jours. Nous n'avons publié aucune URL principale au niveau du frontend.

Les significations "back-end": l'interface de l'application web permettant simplement à notre administrateur de gérer l'application

31
user2352577L

Dois-je bloquer Yandex

Pourquoi?
Premièrement, si le bot est un bot de moteur de recherche légitime (et rien d'autre), il ne vous piratera pas. Sinon, le blocage d'un agent utilisateur n'aidera pas, il n'en utilisera qu'un autre.
Si votre mot de passe est bon, fail2ban est configuré, le logiciel est à jour, etc., laissez-les simplement essayer. Sinon, vous devez corriger cela, indépendamment de tous les robots Yandex.

Pour vous assurer que le problème est bien Yandex, essayez de le désactiver dans robots.txt et voyez s'il s'arrête.
Non => pas Yandex.

(A mis en place un nouveau serveur Web il y a quelques semaines. Une heure après avoir été en ligne, n'avait même pas encore de domaine, un "Googlebot" a commencé à essayer les injections SQL pour un Wordpress inexistant. C'était amusant à regarder, car il n'y en avait pas d'autre Requêtes HTTP. Mais je n'ai pas bloqué Google à cause de cela.)

78
deviantfan

En plus d'être d'accord avec @deviantfan's answer et spécifiquement avec ce point

Premièrement, si le bot est un bot de moteur de recherche légitime (et rien d'autre), il ne vous piratera pas. Sinon, le blocage d'un agent utilisateur n'aidera pas, il n'en utilisera qu'un autre.

Je voudrais souligner que, comme Yandex ainsi qu'un autre moteur de recherche, les robots en général pourraient ne pas vouloir intentionnellement accéder à votre backend. N'oubliez pas que les robots explorent les sites en suivant les liens, alors imaginez si les méchants mettraient certaines des URL de votre backend dans les pages d'autres sites Web, et le moteur de recherche a simplement indexé ces pages et essaie maintenant de suivre les liens à partir de là. Ainsi, il semblera que le moteur de recherche essaie d'accéder à votre backend - mais il explore simplement le net: il ne sait pas que c'est votre backend.

Une chose similaire pourrait arriver par accident. Disons qu'un utilisateur non averti de la technologie a posté une URL dans un forum, qui n'est accessible que lorsque vous êtes connecté - en explorant le moteur de recherche, il essaiera de suivre ces liens et vous finirez par voir des journaux comme je suppose que vous l'avez fait.

MISE À JOUR: Je pense que vous voudrez peut-être définir dans votre règle robots.txt pour interdire à yandex d'accéder à des URL spécifiques. Btw, vous feriez mieux de définir une règle spécifique avec son nom, je ne suis pas sûr, mais cela pourrait arriver, que yandexbot puisse ignorer User-agent: *, pour que vous puissiez faire comme ça (selon vos URL backend)

User-agent: Yandex
Disallow: /admin/*

Ainsi, de cette façon, vous ne pourrez pas essayer d'accéder aux URL de backend - correspondant à ce modèle, mais en même temps (yandexbot) sera libre d'explorer d'autres pages de votre site Web.

9
dav

Vous ne devez pas bloquer le bot Yandex légitime, mais vous pouvez vérifier qu'il s'agit bien du bot légitimé, et non de quelqu'un utilisant simplement l'agent utilisateur Yandex.

De: https://yandex.com/support/webmaster/robot-workings/check-yandex-robots.xml

  • Déterminez l'adresse IP de l'agent utilisateur en question à l'aide des journaux de votre serveur. Tous les robots Yandex sont représentés par un agent utilisateur défini.
  • Utilisez une recherche DNS inversée de l'adresse IP reçue pour déterminer le nom de domaine hôte.
  • Après avoir déterminé le nom d'hôte, vous pouvez vérifier s'il appartient ou non à Yandex. Tous les robots Yandex ont des noms se terminant par 'yandex.ru', 'yandex.net' ou 'yandex.com'. Si le nom d'hôte a une fin différente, le robot n'appartient pas à Yandex.
  • Enfin, assurez-vous que le nom est correct. Utilisez une recherche DNS vers l'avant pour obtenir l'adresse IP correspondant au nom d'hôte. Il doit correspondre à l'adresse IP utilisée dans la recherche DNS inversée. Si les adresses IP ne correspondent pas, cela signifie que le nom d'hôte est faux.

En fait, presque tous les grands moteurs de recherche offrent des moyens similaires de vérifier l'agent utilisateur. Cela fonctionne parce que quelqu'un peut usurper la recherche DNS inversée, mais pas le DNS direct de cette adresse usurpée.

3
ontrack

Bien que je sois d'accord avec la réponse de @deviantfan, je voudrais ajouter que - puisque votre question initiale ressemble à la route de l'enfer, j'ai vu quelqu'un descendre il y a quelques années - même si vous essayez de bloquer complètement une araignée au lieu de simplement dire pour disparaître via robots.txt (que vous devriez probablement faire pour les parties admin de toute façon), vous vous retrouverez dans un jeu sans fin de whackamole que vous ne pouvez pas gagner.

Il y a quelques années, quelqu'un sur un autre site que j'ai lu se moquait de la façon dont Google/Microsoft/Yandex/etc. "DDOSaient" tous son site Web. Apparemment, le site était "privé, et seuls quelques-uns de ses amis devraient y avoir accès, et il ne devrait apparaître dans aucun moteur de recherche". Cependant, apparemment, au moins un de ses utilisateurs publiait des liens vers des emplacements internes que les diverses araignées Web trouvaient. (Par opposition à ce qu'ils connaissent simplement www.wwhat.tld à partir des enregistrements DNS.)

La personne qui le dirigeait a décidé qu'avoir un fichier robots.txt pour que les araignées qui y trouvaient des liens lisent le fichier et s'en aillent étaient inacceptables. Ils devaient ignorer son site pour toujours et ne plus jamais y toucher en aucune circonstance. (Il n'a jamais donné d'explication raisonnable de la raison pour laquelle c'était la seule option acceptable. Comme apparemment, il faisait quelque chose à propos de celui qui publiait des liens vers des emplacements internes sur son site que les araignées trouvaient, ou exigeait simplement une authentification pour que les bots soient simplement abandonnés. une page de connexion sans contenu.)

Au lieu de cela, il a juste commencé à mettre sur liste noire toutes les adresses IP de l'araignée Web afin que toutes les tentatives de demande qu'elles aient faites expirent sans réponse. Une fois qu'il a fait cela, il a découvert que, au lieu de suivre un seul lien pour obtenir le fichier robots.txt et de partir pendant un certain temps, les araignées avaient des intervalles de relance beaucoup plus courts lorsqu'elles se sont trompées et ont commencé à frapper son site à partir de nombreuses IP différentes. (vraisemblablement les araignées essayant de contourner ce qu'elles supposaient être une erreur de réseau).

C'était le point que sa liste noire IP a explosé à des milliers d'adresses et il a commencé à se plaindre d'être DDOSed par les moteurs de recherche. Malheureusement, la personne était devenue complètement folle à ce moment-là et avait refusé toute tentative de résoudre son véritable problème au lieu de ce qu'il était convaincu être la bonne solution.