Как справиться с DDoS атака на поисковик? [дубликат]

На этот вопрос уже есть ответ здесь:

Мы запускаем поисковую систему и видим огромное количество поддельных поисковых запросов, поступающих за последние дни с тысяч IP-адресов. Не существует реальной закономерности с точки зрения текста запроса или диапазона IP-адресов. Похоже, что существует бот-сеть, пытающаяся нас вывести из строя. В настоящее время мы наблюдаем около 30 ложных запросов в секунду, и их количество растет.

Мы пытались настроить облачную вспышку, но это не помогло. Мы могли бы попытаться заблокировать плохой трафик с помощью Captchas, но это может снизить удобство использования для наших реальных пользователей.

Есть ли у кого-нибудь идеи, как с этим справиться? Мы работаем на AWS с Route53.

0
задан 25 August 2013 в 11:12
3 ответа

Это сложный вопрос, поскольку они, по сути, используют легитимную функцию вашего сайта.

У вас есть несколько основных вариантов:

  • Выполните дополнительную работу, чтобы попытаться идентифицировать атаки и заблокировать их. Первое, что мне нужно было сделать в таком случае, - это создать инструменты, чтобы вы могли видеть, что происходит, и искать закономерности. Я смог сделать это довольно легко, просто используя несколько сценариев awk и делая подсчеты в различных полях для поиска общих вещей. У запросов один и тот же пользовательский агент? Может реферер? Может, длина поисковой строки? Все ли IP-адреса поступают из одной страны? Возможно, у них есть несколько странный способ использования URL, например, добавление "?" - все, что вы можете зафиксировать, что могло бы идентифицировать трафик. Эта часть обычно представляет собой игру в кошки-мышки и зависит от того, насколько внимательно вы можете или готовы делать со своей стороны и насколько прилежны злоумышленники.

  • Вы также можете отключить эту функцию своего сайта и оставить все остальное вверх. Т.е. было бы наиболее практично просто заменить вашу поисковую систему статическим сообщением «временно недоступен, мы вносим некоторые изменения», пока атака не прекратится.

  • Вы также можете оптимизировать поисковую систему, чтобы она лучше работала под нагрузкой . В зависимости от того, какой движок вы используете - некоторые поисковые системы довольно неэффективны (на ум приходит Drupal). Правильно оптимизированный, вы сможете справиться с трафиком. Пока вы не вычислите числа, не стоит недооценивать, сколько ЦП, памяти и т. Д. Теряется из-за неэффективности кода.

1
ответ дан 4 December 2019 в 18:04

Я бы просто сделал

ssh root@$srv 'rpm -qa' | xargs yum -y install

и пошел бы выпить кофе или что-то в этом роде, потому что найти решение, которое

  1. быстрее
  2. , работает с учетом индивидуальных пакетов каждой машины

вам все равно придется сделать что-то вроде сравнения обеих машин rpm -qa и отсортировать их, запустить трюк comm , как предлагал SvW, и, наконец, использовать этот список для установки yum .. .

почему бы просто не дать yum понять это?

Или еще лучше, почему бы не иметь замороженное репо, к которому подключены все ящики, а затем запускать новые установки (используя cobbler / foreman / spacewalk / what-have- ты)? Тогда вы будете знать, что каждый пакет установлен с самого начала, и каждая система будет выглядеть одинаково (или достаточно похоже)? Чтобы синхронизировать системы, я бы использовал марионетку и указывал список пакетов, которые должны быть там установлены ... - Тогда эта ситуация вообще не появится; поскольку вы хотите сэкономить время, используя это, я полагаю, вы делаете это много ...

измените значение на хэш IP-адреса + секретный ключ

  • Следующее обновление добавит что-то, что требует некоторого тривиального JavaScript (например, дайте клиенту два числа и потребуйте их сумму, например).

  • Следующее update получить параметры javascript из файла cookie.

  • и т. д. и т. д.

  • Дело в том, что каждый раз, когда они обновляют свою атаку, у вас есть готовое решение, и вы заставляете их обновляться снова, в какой-то момент они будут, надеюсь, просто сдайтесь и ищите более легкую цель.

    надеюсь, просто сдайтесь и ищите более легкую цель.

    надеюсь, просто сдайтесь и ищите более легкую цель.

    0
    ответ дан 4 December 2019 в 18:04

    Это кажется устаревшим и неясным, как установить CentOS через SuperMicro IPMI, поэтому я подумал, что отвечу сам.

    Во-первых, вам нужно проверить, есть ли у вашего сервера совместим с операционной системой, так как лично мне пришлось отказаться от Debian 7 до 6 из-за проблем с драйвером Ethernet. Вы можете проверить совместимость вашего SM-сервера с помощью SuperMicro OS Charts или связавшись с вашим хостом.

    Если да, продолжайте ниже, если нет, проверьте, что есть, и используйте его.

    Вам необходимо загрузить CentOS ISO, перейдя на веб-сайт и загрузив его прямо в папку на вашем компьютере. После завершения входа в панель управления IPMI, нажмите под кнопкой «Обновить предварительный просмотр», и откроется Java-апплет.

    Теперь вам нужно перейти в виртуальное хранилище, выбрать вкладку «Устройство 1» (по умолчанию). Также ISO из списка и выберите файл ISO на вашем компьютере. После этого нажмите Plug In, затем OK.

    Перезагрузите сервер, выбрав Power -> Powerdown, а затем Powerup через минуту. Постоянно нажимайте F11 (или все, что вам нужно, чтобы нажать на свой экран в BIOS) и выберите ВИРТУАЛЬНЫЙ ДИСК, мой называется ATEN VIRTUAL DISC, и он должен загрузиться в вашу установку ОС. Это может занять больше времени, чем обычно, поскольку связь между вашим компьютером и сервером может занять больше времени, поскольку ISO находится на вашем ПК.

    Вы также можете ожидать некоторых зависаний, если вы это сделаете, не волнуйтесь, это займет некоторое время, возможно, два часов в зависимости от выбранных вами опций.

    После завершения НЕ ЗАБЫВАЕТЕ отключить виртуальное хранилище, если вы не хотите переустановить заново.

    Общие проблемы:

    • Ошибка: неверный IP-адрес.

    0
    ответ дан 4 December 2019 в 18:04

    Теги

    Похожие вопросы