Aseara am avut o surpriza oarecum neplacuta din partea „botului 80legs”, cu load-ul pe un server mai mare de 20 de ori decat in mod obisnuit. Nu era vorba de vreun spike, era o situatie care tindea sa se permanentizeze si website-urile raspundeau greu.
In loguri am observat repetat obstinant:
77.120.37.242 – – [27/Oct/2013:20:40:54 +0200] „GET /robots.txt HTTP/1.1” 200 72 „-” „Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcraw$
Daca va ganditi ca blocarea IP-ului in firewall va rezova problema, va inselati. Iata ce scrie pe site-ul mizerabililor (care par de nationalitate pakistaneza):
Blocking us by IP address
Blocking our web crawler by IP address will not work. Due to the distributed nature of our infrastructure, we have thousands of constantly changing IP addresses. We strongly recommend you don’t try to block our web crawler by IP address, as you’ll most likely spend several hours of futile effort and be in a very bad mood at the end of it. You really should just include us in your robots.txt or contact us directly.
(sursa: http://www.80legs.com/)
In concluzie, arata ca un atac DDOS (Distributed Denial Of Service), visul oricarui administrator de server. 🙂
Probabil va e deja clar ca un simplu disallow in robots.txt nu functioneaza (user agent 008), chestia asta fiind pentru robotii „buni”, nu pentru crawlere pakistaneze.
Rezolvare atac DDOS 80legs bot
Salvarea vine instantaneu daca aveti server Linux cu Haproxy instalat (ceea ce va recomand calduros, e foarte util pentru „securizarea” serverului).
Introduceri in haproxy.cfg, in blocul frontend public/HTTP, linia:
reqitarpit ^User-Agent:.*80legs*
Salvati si restartati Haproxy. Acum webcrawler-ul 80legs.com va fi blocat si load-ul pe server va reveni la normal.
Daca vrei sa apara:
- semneaza cu numele tau, nu al firmei
- nu alerga dupa link
- scrie romaneste, nu kum apucy
- daca tii sa ataci, ataci ideea, nu persoana
Primul comentariu e moderat.