Dynamicznie blokuje nadmierne wykorzystanie przepustowości HTTP?

24

Byliśmy trochę zaskoczeni, widząc to na naszych wykresach kaktusów dla ruchu sieciowego 4 czerwca:

Uruchomiliśmy Log Parser na naszych logach IIS i okazało się, że była to idealna burza indeksujących nas botów Yahoo i Google .. w ciągu 3 godzin zobaczyliśmy 287 tys. Trafień z 3 różnych adresów IP Google oraz 104 tys. Z Yahoo. ?ه?

Chociaż nie chcemy blokować Google ani Yahoo, stało się to wcześniej. Mamy dostęp do Cisco PIX 515E i zastanawiamy się nad tym, abyśmy mogli dynamicznie radzić sobie z przestępcami w zakresie przepustowości bez bezpośredniego dotykania naszych serwerów internetowych.

Ale czy to najlepsze rozwiązanie? Zastanawiam się, czy istnieje oprogramowanie lub sprzęt, który pomoże nam zidentyfikować i zablokować nadmierne wykorzystanie przepustowości , najlepiej w czasie rzeczywistym? Być może część sprzętu lub oprogramowania typu open source możemy umieścić przed naszymi serwerami WWW?

Jesteśmy głównie sklepem z systemem Windows, ale mamy też pewne umiejętności obsługi Linuksa; jesteśmy również otwarci na zakup sprzętu, jeśli PIX 515E nie jest wystarczający. Co byś polecił?

Jeff Atwood
źródło

Odpowiedzi:

23

Jeśli w systemie PIX działa system operacyjny w wersji 7.2 lub nowszej lub można go uaktualnić, można zaimplementować zasady QOS na poziomie zapory. W szczególności pozwala to kształtować ruch i powinno umożliwiać ograniczenie przepustowości wykorzystywanej przez boty. Cisco mają dobrą Gudie do tego tutaj .

Sam Cogan
źródło
Jedyną kwestią, jaką mam z tą odpowiedzią, jest to, że plakat nie chce ZABLOKOWAĆ (lub degradować) Google ani Yahoo, ale raczej chce, żeby „ładnie się czołgali”.
KPWINC
1
QOS nie polega na blokowaniu. Dlatego Sam Cogan napisał „powinien pozwolić ci ograniczyć przepustowość wykorzystywaną przez boty”.
Piotr Dobrogost
9

Nie jestem pewien co do Yahoo, ale możesz skonfigurować częstotliwość indeksowania bota przez Google. Spójrz na Google Webmasterów . Nie jestem pewien, czy Yahoo ma coś podobnego. W każdym razie zmniejszy to ruch do 50%.

Alternatywnie, niektóre serwery WWW mogą ograniczyć ruch na połączenie, więc możesz spróbować. Osobiście trzymałbym się z dala od rozwiązań sprzętowych, ponieważ najprawdopodobniej będzie to kosztować więcej.

buecking
źródło
Wieśniak! ma Site Explorer.
Amok
9

Aby zmniejszyć obciążenie indeksowania - działa tylko z Microsoftem i Yahoo. W przypadku Google musisz określić wolniejszą prędkość indeksowania za pomocą Narzędzi dla webmasterów ( http://www.google.com/webmasters/ ).

Zachowaj BARDZO ostrożność przy wdrażaniu tego, ponieważ jeśli zbyt mocno spowolnisz indeksowanie, roboty nie będą mogły dostać się do wszystkich witryn i możesz stracić strony z indeksu.

Oto kilka przykładów (te znajdują się w twoim robots.txtpliku):

# Yahoo's Slurp Robot - Please wait 7 seconds in between visits

User-agent: slurp
Crawl-delay: 7

# MSN Robot - Please wait 5 seconds in between visits

User-agent: msnbot
Crawl-delay: 5

Nieco nie na temat, ale możesz również określić mapę witryny lub plik indeksu map witryn.

Jeśli chcesz udostępnić wyszukiwarkom wyczerpującą listę swoich najlepszych adresów URL, możesz także podać jedną lub więcej dyrektyw dotyczących automatycznego wykrywania map witryn. Pamiętaj, że aplikacja kliencka nie ma zastosowania do tej dyrektywy, więc nie możesz jej użyć do określenia mapy witryny dla niektórych, ale nie dla wszystkich wyszukiwarek.

# Please read my sitemap and index everything!

Sitemap: http://yourdomain.com/sitemap.axd
KPWINC
źródło
4

Używamy zapory ogniowej Watchguard (nasza to X1000, która jest już pod koniec życia). Mają wiele cech obracających się wokół blokujących domen lub IP, które są widziane raz za razem lub używają obsesyjnej przepustowości.

To wymagałoby drobnych poprawek, ponieważ oczywiście nie chciałbyś blokować Jona Skeeta podczas stackoverflow :)

Matt
źródło
3

Poleciłbym Microsoft ISA Server 2006. Specjalnie dla tego wymagania będzie on domyślnie ograniczał się do 600 żądań HTTP / min na adres IP i możesz zastosować wyjątek dla Jona Skeeta (przepraszam, zdaję sobie sprawę, że „żart” został już zrobiony! ).

Masz dodatkowe zalety filtrowania na poziomie aplikacji, możliwość równoważenia obciążenia na wielu serwerach (zamiast NLB na tych serwerach), zakończenie VPN itp. Dostępnych jest wiele komercyjnych rozszerzeń, a nawet możesz napisać własny filtr ISAPI, jeśli czujesz się odważny.

Oczywiście nie jest to oprogramowanie typu open source, ale ma zalety dla sklepu Windows i działa na sprzęcie towarowym.

Robin M.
źródło
Jest to najbardziej elastyczne podejście wraz z modyfikowaniem robots.txt
Jim B
Dzięki. Zgadzam się, że robotom należy nadać kierunek!
Robin M
2

Używamy równoważenia obciążenia Foundry (w szczególności SI850), aby poradzić sobie z tego rodzaju problemami z kształtowaniem, obsługuje on także wiele innych „paskudnych” sytuacji, takich jak powodzie SYN itp. Może to być jednak dla was trochę przesada.

Siekacz 3
źródło
2

Produkty Bluecoat (wcześniej Packeteer) PacketShaper mogą dynamicznie ograniczać nadmierne zużycie w zarządzanym ruchu.

Kevin Kuphal
źródło
1

Możesz nawet wykonać podstawowe ograniczenie prędkości za pomocą dowolnego zwykłego routera Cisco o dowolnej pojemności / poziomie. Czy używasz routera Cisco?

Brian Knoblauch
źródło