Интересный случай произошел со мной на этой неделе. Проснувшись утром, я по привычке сел за компьютер и стал проверять свои сайты (сейчас я выращиваю парочку сателлитов). И к моему немалому удивлению, один из них оказался недоступен.

На ум сразу пришло множество неприятных вещей, которые могли послужить причиной недоступности сайта — упавший http или dns-сервер, умерший жесткий диск, поврежденная база данных и тп. Однако все оказалось куда проще. FTP-сервер исправно работал, а размер access.log свидетельствовал о том, что проблема явно не в Apache и не Bind. Просмотрев последние записи лога, я обнаружил, что к сайту идет неистовое число запросов с одного-единственного хоста — robot04.rambler.ru.

Хосту соответствовал IP 81.19.66.90. Вспомнив добрым словом программистов Рамблера за то, что их пауки не понимают Crawl-delay, я решил запретить роботу обращаться к сайту. Мой хостер не дает никакого доступа к настройкам фаервола, однако ограничить доступ к сайту можно и с помощью записи в .htaccess

Order Allow,Deny
Allow from all
# …
Deny from 81.19.66.

После этого сайт быстро поднялся. Я запретил доступ из всей подсети /24 на случай прихода robot05.rambler.ru и других пауков. В принципе, с тем же успехом можно ограничить доступ по User-agent:

SetEnvIfNoCase User-Agent «^StackRambler» ddos

Order Allow,Deny
Allow from all
# …
Deny from env=ddos

Но мало ли, как может изменится User-agent паука в будущем. К тому же, я слышал, что поисковики в целях борьбы с клоакингом иногда могут обращаться к сайту с User-agent, как у Firefox или Internet Explorer.

Погуглив немного, я нашел информацию о том, что сотрудники Rambler могут настроить паука так, чтобы он забирал страницы с сайта пореже, если написать им письмо. Пусть с Рамблера и не так много переходов, но лишние 3-4 посетителя еще никому не мешали, верно? Контактного e-mail на rambler.ru я не нашел, зато нашел форму обратной связи . Ниже приведена моя переписка с сотрудниками Рамблера:

День добрый.

У меня возникла проблема с вашим поисковым роботом. Страницы моих сайтов запрашиваются слишком часто, что приводит к их DDoS. В robots.txt прописан Crawl-delay, но насколько я знаю, ваша система его не понимает. До выяснения обстоятельств мне пришлось запретить обращение к моим сайтам из всей подсети 81.19.66.

Вот мои сайты:
[CUT]

Если вы заинтересованы в их индексации, прошу настроить вашего поискового робота таким образом, чтобы страницы загружались не чаще одного раза в 30 секунд.

С уважением,
Алексеев Александр.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Подобные жалоба к нам поступают исключительно редко: роботы качают все ресурсы с одинаковой скоростью.

На данный момент робот, к сожалению, не читает директиву Crawl-Delay, однако вы можете поставить задержку на ответ роботу со стороны вашего сервера.


С уважением,
Служба поддержки поиска
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Мне намного проще оставить все как есть — с рамблера не так уж много переходов.

Отсюда два вывода. Во-первых, перед выбором хостинга нелишним будет поискать отзывы, а еще лучше — спросить мнение о нем на каком-нибудь вебмастерском форуме. А во-вторых, разумеется в Рамблере всем плевать на наши, простых сайтостроителей, проблемы. А зачем — у них есть почтовый серис и новостной поротал. Деньги идут, так кому какое дело, что пауки DDoS-ят чужие сайты? Хотя по моим представлениям, не такое уж это затратное дело — просто добавить поддержку Crawl-delay.

Не хотите, чтобы в один прекрасный день ваш сайт оказался недоступным? Тогда действуйте описанным выше образом или хотя бы пропишите в robots.txt:

User-agent: StackRambler
Disallow: /

Дополнение: См также первый пункт моего «пилотного» выпуска мини-заметок .

EnglishRussianUkrainian