Lutter contre le trafic de robots zombie

1

Nous considérons cet article comme déprécié partiellement, nous avons vu que les robots les plus nocifs ne respectent plus les robots.txt, ainsi nous contrôlons une partie au niveau serveur, les vilains robots sont dorénavant balayés de force ! (nous analysons les logs régulièrement et renforçons le dispositif de filtres). Vous pouvez compléter si besoin par votre fichier local : robots.txt...

Le 30/09/2016, devant la persistance du traffic spam Russe, Chinois /ex et des attaques des sites, nous méttons en place un blocage par IP pays, lire :

https://support.yoorshop.hosting/knowledgebase/2464/Blocage-traffic-par-Pays.html


Prestashop :
https://mypresta.eu/modules/administration-tools/block-ip-free
 
Wordpress :
https://fr.wordpress.org/plugins/iq-block-country/ 

Si votre site est attaqué ou non, nous vous proposons différents outils temporaires, ou permanents :
https://support.yoorshop.hosting/knowledgebase/3077/vous-etes-sous-attaque-ddos.html

Résultat de nos blocages dans awstats de cpanel (mais pas seulement) :

444 Unknown error 4 751 2.9 % 0


Voyez vos visites en temps réel  dans cpanel (thème paper_lantern), section visiteurs, cliquez ALL, puis dans le bouton réglages à droite, cliquez état/status, dé-cliquez URL et URL referrer si nécessaire afin de voir les codes erreur, et si vous voyez 444, 429, 405, 410 sur des pages/URL légitimes, contactez-nous pour qu'on regarde ce qu'on peut faire... Il est tout à fait normal de voir des liste d'erreurs assez importantes dans AWSTATS de cPanel , il y a beaucoup de trafic bloqués pour des raisons très précises.

A savoir, pour limiter la vitesse de tous les robots attentifs, vous pouvez ajouter ceci à votre robots.txt après la ligne contenant User-agent: *, cela indiquera une délai requis de 5 secondes entre chaque page explorée :

User-agent: *

Crawl-delay: 5

Nous utilisons ces codes spécifiques pour nous repérer :

- 206 : contenu partiel affiché, il est une conséquence du code 410 ci-après, contactez-nous. Attention, il est tout à fait normal d'avoir un certain nombre de 206 dans vos logs quand des contenus sont pris de l'extérieur !
- 405 : Concerne des requêtes douteuses de type frame/xss/injection SQL/http.
- 410 : référents web (sites russes, chinois ou autres) ou mot clé bloqués ( au cas ou une de vos pages ne s'affichent pas entièrement, contactez-nous), vous verrez le code 206 augmenter en conséquence...
- 429 : limitation de requêtes sur fichiers sensible wp-login.php /ex, mais pas seulement.
- 444 : pour stopper les bots, et URL de fichier de config.php /ex.
- 499 : le visiteur ou réseau n'a pas transmis la réponse à temps, la connexion est fermée. Les connexions excessives d'une IP peuvent aussi causer ceci.
- 503 : Trop de requêtes, utilisé par les plugin anti-ddos, mais d'autres sécurités chez nous aussi.

Que vous ayez peu ou beaucoup de traffic légitime, le nombre de traffic bloqué par notre système peut ressortir très variable d'un site à un autre, de 10-15% au triple !
Lire : https://support.yoorshop.hosting/knowledgebase/2464/blocage-traffic-par-pays.html


Ensuite, vous devez avoir mis en place un fichier robots.txt qui permet de limiter le trafic concernant les robots du réseau, et une partie d'entre eux n'a pas de bonnes intentions : ils cherchent les failles sur votre site web et/ou squattent votre site web, et donc ses ressources, ceci peut aussi prévenir les Ddos de type doux...

 

Nous avons pris un exemple d'un site sur notre serveur utilisant le CMS spip sur lequel nous avons remarqué un niveau de ressources utilisées élevé, nous avons donc simplement analyser le traffic par awstats du cpanel pour voir si il était normal/légitime. Le problème sur ce site est flagrant comme montré dans la capture, on observe qu'une plage d'IP Russe est responsable de tout cela : ceci révèle bien qu'un robot provenant d'un même éditeur se livre à un trafic zombie sur ce site en particulier. Nous vérifions l'identité de l'une des IP par prudence (si société de hosting = robots) :
https://apps.db.ripe.net/db-web-ui/#/query 


Afin de bloquer toutes visites provenant de cette plage d'IPs (car il s'agit de multiples IPs dans ce cas), dans cpanel, allez à bloqueurs d'IPs, et saisissez la plage d'IP un peu plus large. Ne pas bloquer de manière exagérée ni trop de plages d'IP ni trop d'IP, cela détériorera les performances de votre site, contactez-nous si vous avez des ambitions de bloquer de gros ranges, nous ferons quelque chose au niveau Nginx....

Une fois fait, vous verrez dans la section Erreurs de cPanel que ce trafic est désormais bloqué pour ces IPs.

Lutter contre le traffic zombie
Voici la partie primaire du fichier la plus importante (ca fonctionnera juste avec ceci même si on peut mieux faire), à savoir la liste des robots que vous pouvez d'office ne pas autoriser :

User-agent: 008
User-agent: Alexibot
User-agent: AlvinetSpider
User-agent: Antenne Hatena
User-agent: ApocalXExplorerBot
User-agent: asterias
User-agent: BackDoorBot/1.0
User-agent: BizInformation
User-agent: Black Hole
User-agent: BlowFish/1.0
User-agent: BotALot
User-agent: BuiltBotTough
User-agent: Bullseye/1.0
User-agent: BunnySlippers
User-agent: Cegbfeieh
User-agent: CheeseBot
User-agent: CherryPicker
User-agent: CherryPickerElite/1.0
User-agent: CherryPickerSE/1.0
User-agent: CopyRightCheck
User-agent: cosmos
User-agent: Crescent
User-agent: Crescent Internet ToolPak HTTP OLE Control v.1.0
User-agent: DISCo Pump 3.1
User-agent: DittoSpyder
User-agent: dotbot
User-agent: EmailCollector
User-agent: EmailSiphon
User-agent: EmailWolf
User-agent: EroCrawler
User-agent: ExtractorPro
User-agent: Flamingo_SearchEngine
User-agent: Foobot
User-agent: Harvest/1.5
User-agent: hloader
User-agent: httplib
User-agent: HTTrack
User-agent: HTTrack 3.0
User-agent: humanlinks
User-agent: Igentia
User-agent: InfoNaviRobot
User-agent: JennyBot
User-agent: JikeSpider
User-agent: Kenjin Spider
User-agent: LexiBot
User-agent: libWeb/clsHTTP
User-agent: LinkextractorPro
User-agent: LinkScan/8.1a Unix
User-agent: LinkWalker
User-agent: lwp-trivial
User-agent: lwp-trivial/1.34
User-agent: Mata Hari
User-agent: Microsoft URL Control - 5.01.4511
User-agent: Microsoft URL Control - 6.00.8169
User-agent: MIIxpc
User-agent: MIIxpc/4.2
User-agent: Mister PiX
User-agent: MLBot
User-agent: moget
User-agent: moget/2.1
User-agent: MS Search 4.0 Robot
User-agent: MS Search 5.0 Robot
User-agent: Naverbot
User-agent: NetAnts
User-agent: NetAttache
User-agent: NetMechanic
User-agent: NICErsPRO
User-agent: Offline Explorer
User-agent: Openfind
User-agent: OpenindexSpider
User-agent: ProPowerBot/2.14
User-agent: ProWebWalker
User-agent: psbot
User-agent: QuepasaCreep
User-agent: QueryN Metasearch
User-agent: RepoMonkey
User-agent: RMA
User-agent: SemrushBot
User-agent: SightupBot
User-agent: SiteBot
User-agent: SiteSnagger
User-agent: SiteSucker
User-agent: Sogou web spider
User-agent: sosospider
User-agent: SpankBot
User-agent: spanner
User-agent: Speedy
User-agent: suggybot
User-agent: SuperBot
User-agent: SuperBot/2.6
User-agent: suzuran
User-agent: Szukacz/1.4
User-agent: Teleport
User-agent: Telesoft
User-agent: The Intraformant
User-agent: TheNomad
User-agent: TightTwatBot
User-agent: Titan
User-agent: toCrawl/UrlDispatcher
User-agent: TosCrawler
User-agent: True_Robot
User-agent: True_Robot/1.0
User-agent: turingos
User-agent: TurnitinBot
User-agent: UrlPouls
User-agent: URLy Warning
User-agent: VCI
User-agent: Web Image Collector
User-agent: WebAuto
User-agent: WebBandit
User-agent: WebBandit/3.50
User-agent: WebCopier
User-agent: webcopy
User-agent: WebEnhancer
User-agent: WebmasterWorldForumBot
User-agent: webmirror
User-agent: WebReaper
User-agent: WebSauger
User-agent: website extractor
User-agent: Website Quester
User-agent: Webster Pro
User-agent: WebStripper
User-agent: WebStripper/2.02
User-agent: WebZip
User-agent: wget
User-agent: WikioFeedBot
User-agent: WinHTTrack
User-agent: WWW-Collector-E
User-agent: Xenu Link Sleuth/1.3.8
User-agent: yacy
User-agent: yandex
User-agent: YRSPider
User-agent: Zeus
User-agent: Zookabot
Disallow: /

Voici la partie secondaire en exemple que vous devez personnaliser selon votre site :

User-agent: *
Disallow: /cgi-bin/
Disallow: /temp/ 
Disallow: /client.php
Sitemap: http://www.votresite.fr/sitemap.xml