J'ai trois trois site ([http://www.linuxcertif.com],[http://iverb.ikipou.com],[http://www.magellan.fpms.ac.be]) hébergé sur le même serveur. Des trois, Linux Certif est le plus populaire, et mon problème est que sa charge venant de bots vient handicaper les deux autres sites.
Cela est vraiment devenu un problème ce week-end car quelqu'un a commencé à télécharger agressivement toute les pages de Linux Certif à l'aide de HTTrack.
Pour résoudre le problème, j'ai envisagé d'utiliser des limites sur le nombre de paquets par IP par seconde. Néanmoins, cela ralentirait tout le monde alors que le problème ne vient clairement pas de la bande passante.
Je suis à la recherche d'une solution qui me permettrait de limiter les visites abusive (comprendre, ralentir les bots un peu trop agressifs), sans pour autant ralentir le trafic normal.
Je pourrais évidemment bloquer les clients en fonction de l'en tête User-Agent, mais il existe peut être une solution plus intelligente basé sur le comportement du client? De plus je ne cherche pas à bloquer complètement les bots mais à les ralentir.
Bref, tout vos conseils et retour d'expérience pour ralentir les bots trop agressif sont les bienvenus.
# Limiter le nombre de requête par IP
Posté par tipmeabout . Évalué à 3.
Ça pourrait être une piste.
Pour la réalisation: un firewall entrant qui loggue tout les paquets TCP syn. Un script qui parcours le fichier log, et qui calcule le nombre de fois qu'une IP est présente (en bash, uniq peut aider, ainsi que wc). Si ce nombre est trop élevé, tu injectes une règle iptable qui limite le nombre d'accès pour cette/ces IPs. Au bout de x minutes, tu enlèves la limitation.
Voilà, si ça peut t'aider
[^] # Re: Limiter le nombre de requête par IP
Posté par Sytoka Modon (site web personnel) . Évalué à 4.
Je met surtout cela sur un serveur ssh. Je n'autorise par exemple que 2 ou 3 nouvelles connections par minutes et du coup, je n'ai quasiment plus d'attaque sur ce port...
[^] # Re: Limiter le nombre de requête par IP
Posté par Benjamin Poulain (site web personnel) . Évalué à 1.
Hors ce n'est clairement pas la bande passante qui est trop petite mais la puissance du serveur.
[^] # Re: Limiter le nombre de requête par IP
Posté par Frederic Bourgeois (site web personnel) . Évalué à 5.
# if (bot) then sleep(10); avant de continuer
Posté par Gniarf . Évalué à 2.
en PHP il existe une fonction idéale pour ce cas : auto_prepend_file, qu'on peut limiter à un seul virtual host si nécessaire (avec php_value auto_prepend_file /tonchemin/calmos_les_bots.php dans le virtual host ou le .htaccess du site)
mais visiblement ton site est en Python.
[^] # Re: if (bot) then sleep(10); avant de continuer
Posté par Benjamin Poulain (site web personnel) . Évalué à 1.
# Google?search=apache+limit+ip
Posté par Prae . Évalué à 2.
http://www.binrev.com/forums/index.php?s=b1685c5d45dad5efae7(...)
[^] # Re: Google?search=apache+limit+ip
Posté par Benjamin Poulain (site web personnel) . Évalué à 1.
La remarque de Frederic Bourgeois est aussi très pertinente pour les limites par IP.
# Belnet
Posté par epot (site web personnel) . Évalué à 1.
Ma suggestion serait de passer chez un vrai hébergeur (pas nécessairement commercial : il y en a des bons en associatif aussi).
[^] # Re: Belnet n'est pas un problème
Posté par Benjamin Poulain (site web personnel) . Évalué à 3.
# Bad Behavior
Posté par ploum (site web personnel, Mastodon) . Évalué à 3.
http://www.bad-behavior.ioerror.us/
C'est un script qui en fonction de l'User-Agent et des actions d'un visiteur décide si oui ou non il peut la laisser passer. Il renvoie un simple 403 ou 412 si l'utilisateur est "à bloquer".
Il existe des plugins pour la majorité des CMS mais tu peux adapter à ta façon.
Perso, il me bloque des dizaines et des dizaines de bots "aspirateurs" tous les jours. Je n'ai jamais eu de plaintes de visiteurs normaux bloqués même si il est possible que ça puisse arriver.
Dans ton cas, c'est la première chose que j'essaierai.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Bad Behavior
Posté par Nicolas Schoonbroodt . Évalué à 3.
[^] # Re: Bad Behavior
Posté par ploum (site web personnel, Mastodon) . Évalué à 3.
Mes livres CC By-SA : https://ploum.net/livres.html
# Alternative : partager
Posté par Julien Damon (site web personnel) . Évalué à 2.
Par exemple faire un export dans une archive, ou mieux générer un fichier pdf ou autre de documentation, que l'on met en ftp et que les visiteurs peuvent télécharger.
[^] # Re: Alternative : partager
Posté par Benjamin Poulain (site web personnel) . Évalué à 2.
En fait ce genre de fonctionnalité est sur la TODO list mais la priorité actuelle est de faire de nouveaux articles.
# User-Agent
Posté par Zenitram (site web personnel) . Évalué à 3.
[^] # Re: User-Agent
Posté par Moonz . Évalué à 8.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.