Динамічно блокує надмірне використання пропускної здатності HTTP?


24

Ми були трохи здивовані, побачивши це на наших графіках кактусів для веб-трафіку 4 червня:

Ми провели Log Parser за нашими журналами IIS, і виявилося, що це була ідеальна буря Yahoo та ботів Google, що індексували нас .. за цей 3-годинний період ми побачили 287k звернень з трьох різних IP-адрес Google, а також 104k від Yahoo. Ой?

Хоча ми не хочемо блокувати Google чи Yahoo, це вже було раніше. У нас є доступ до Cisco PIX 515E , і ми думаємо про те, щоб зробити це попереду, щоб ми могли динамічно боротися з порушниками пропускної здатності, не торкаючись безпосередньо наших веб-серверів.

Але це найкраще рішення? Мені цікаво, чи є якесь програмне чи апаратне обладнання, яке може допомогти нам виявити та заблокувати надмірне використання пропускної здатності , в ідеалі в режимі реального часу? Можливо, якийсь апаратний засіб чи програмне забезпечення з відкритим кодом ми можемо поставити перед нашими веб-серверами?

Ми в основному магазин Windows, але також маємо деякі навички Linux; ми також готові придбати обладнання, якщо PIX 515E недостатньо. Що б ти порадив?

Відповіді:


23

Якщо ваш PIX працює з ОС версії 7.2 або новішої, або його можна оновити, тоді ви можете реалізувати політику QOS на рівні брандмауера. Зокрема, це дозволяє формувати трафік і повинно обмежувати пропускну здатність, яку використовують боти. Cisco має хорошу gudie до цього тут .


Єдине питання, з яким я маю цю відповідь, - це те, що плакат не хоче БЛОКУВАТИ (або деградувати) Google чи Yahoo, а навпаки хоче, щоб вони "добре повзали".
KPWINC

1
QOS - не про блокування. Ось чому Сем Коган написав: "повинно дозволяти вам обмежити пропускну здатність, яку використовують боти".
Пьотр Доброгост

9

Я не впевнений у yahoo, але ви можете налаштувати частоту ботових індексів вашого сайту. Погляньте на веб-майстрів Google . Я не впевнений, чи є у Yahoo щось подібне. На будь-який, що зменшить ваш трафік до 50%.

Крім того, деякі веб-сервери можуть обмежувати трафік на з'єднання, щоб ви могли спробувати це. Я особисто тримався осторонь апаратних рішень, оскільки це, швидше за все, обійдеться дорожче.


Yahoo! має провідник сайту.
Амок

9

Щоб зменшити навантаження сканування - це працює лише з Microsoft та Yahoo. Для Google потрібно вказати більш низьку швидкість сканування через їх Інструменти для веб-майстрів ( http://www.google.com/webmasters/ ).

Будьте ДУЖЕ обережними при здійсненні цього, оскільки якщо ви занадто сильно сповільнить сканування, роботи не зможуть потрапити на весь ваш сайт, і ви можете втратити сторінки з індексу.

Ось кілька прикладів (вони входять у ваш robots.txtфайл):

# 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

Трохи поза темою, але ви також можете вказати файл індексу Sitemap або Sitemap.

Якщо ви хочете надати пошуковим системам вичерпний список найкращих ваших URL-адрес, ви також можете надати одну чи декілька директив щодо автовідкриття Sitemap. Зверніть увагу, що користувальницький агент не застосовується до цієї директиви, тому ви не можете використовувати це для вказівки мапи сайту для деяких, але не всіх пошукових систем.

# Please read my sitemap and index everything!

Sitemap: http://yourdomain.com/sitemap.axd

4

Ми використовуємо брандмауер Guardguard (у нас X1000, який зараз закінчився). У них багато феод, що обертаються навколо блокуючих доменів або ips, які знову і знову бачать або використовують нав'язливу кількість пропускної здатності.

Це потребує певного налаштування, оскільки ви, очевидно, не хотіли б блокувати Джон Скіта на stackoverflow :)


3

Я рекомендую Microsoft ISA Server 2006. Спеціально для цієї вимоги він за замовчуванням обмежиться до 600 запитів HTTP / хв на IP, і ви можете застосувати виняток для Jon Skeet (вибачте, я розумію, що "жарт" уже зроблено! ).

У вас є додаткові переваги фільтрації на рівні додатків, можливість завантажувати баланс через декілька веб-серверів (замість NLB на цих серверах), VPN-припинення тощо. Існує ряд комерційних розширень, і ви навіть можете написати власний фільтр ISAPI, якщо ти відчуваєш себе сміливим.

Це, очевидно, не з відкритим кодом, але має переваги для магазину Windows і працює на товарному обладнання.


Це найскладніший підхід разом із модифікацією robots.txt
Jim B

Спасибі. Я погоджуюсь, що гусеницям потрібно дати певний напрямок!
Робін М

2

Ми використовуємо ливарні балансири навантаження (зокрема SI850) для вирішення подібних питань формування, він також обробляє досить багато інших "nastys", таких як SYN-паводки і т. Д. Можливо, для вас, хлопці, буде трохи зайвим.


2

Продукти Bluecoat (раніше Packeteer) PacketShaper можуть динамічно зменшувати надмірне використання трафіку, яким він управляє.


1

Ви можете навіть виконувати рудиментарний ліміт швидкості за допомогою будь-якого звичайного маршрутизатора Cisco будь-якої пристойної ємності / старовинного. Використовуєте роутер Cisco?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.