DDoS

DDoS — Distributed Denial of Service (Распределённый отказ от обслуживания).

Всё началось настолько неожиданно, что я просто отказывался верить в происходящее.

Случилось так, что... — хотя, нет — это другая история.
Был открыт новый аккаунт на бесплатном хостинге (для отработки макета и обкатки идеи). И так как, в дальнейшем предполагалось развитие проекта, то выбор доменного имени был долгим и основательным. (проект для автомобильного бизнеса.)

В последствии оказалось, что доменное имя пару лет назад уже было зарегистрировано. (Признаюсь — это было ошибкой с моей стороны. Обычно, я стараюсь использовать имена доменов без истории, но уж очень оно понравилось, и увлекшись не проверил его историю.)

Аккаунт был зарегистрирован,  установлен WordPress, и по уже отработанному многократно сценарию, сразу же были сняты галочки в настройках об индексировании поисковыми системами (до окончания работ) и в первую очередь установлены плагины Безопасности.

Проект предполагает возможность регистрации на нем пользователей, поэтому такая функция в WordPress также была активирована.

С момента активации аккаунта прошло что-то около 20 минут. Не больше. И когда я перешел во вкладку Пользователи, чтобы более точно настроить и разграничить Права доступа, то с удивлением обнаружил, что у меня уже зарегистрировано 280 пользователей!

Я не верил своим глазам. А уже через 40 минут, я получил уведомление от хостинга, что мой аккаунт заблокирован по причине многократного превышения процессорной нагрузки сервера.

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

Странно было то, что зарегистрированные пользователи никак себя не проявляли. Ни комментариев, ни постов.

Я конечно же понимал, что это боты, но зачем? Почему?
Ведь об этом доменном имени не знал никто. Акт возмездия или наказания? Да — ну, бред. У меня давно не было ни с кем никаких конфликтов. Демонстрация силы или отработка зловредных технологий со случайным выбором жертвы?

Необходимо признать, что поведение ботов и их стратегия были на высоте.

  1. В запросах к несуществующим страницам, использовалось несколько десятков разнообразных уникальных многоуровневых URL. В некоторых запросах присутствовали вложенные скрипты.
  2. С каждого IP адреса делалась только одна попытка. Очень редко (один из ста) IP адрес повторялся.
  3. Каждый IP адрес использовался из уникального диапазона сети. Крайне редко, в течении одного дня диапазон сети использовался снова.

Но так, как никакого контента и даже структуры страниц на сайте еще не было, то ясно было одно, что абсолютно все запросы к сайту — это злонамеренная атака.

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

Первым и естественным шагом было загнать все IP адреса из лог файла непосредственно в файл .htaccess

То — есть, даже не в BlackList системы безопасности. А на прямую, чтобы исключить все подозрения и сомнения на функционал или глюки модулей, ответственных за защиту.

IP адреса были отсортированы и удалив дубликаты, приняли вид:  deny from ***. Данное решение помогло совсем немного и его хватило не на долго. Вместо 40 минут, сайт был заблокирован хостингом через 4 часа. Зато и информации в лог файлах набралось гораздо больше.

Следующим шагом (и это было самое трудное и нудное) было определение для каждого IP адреса его диапазона (маска подсети в формате CIDR). Затем, сгруппировав результаты, в файл .htaccess были записаны все скомпрометировавшиеся маски подсетей, которые встречались более 2х раз. И в добавок, оставшиеся IP адреса, чьи диапазоны были уникальными.

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

Для предотвращения регистрации Ботов, оказалось достаточным установить капчу с 5 символами.

В какой то момент, даже сложилось ощущение, что наверное, просто никто больше не атакует, что атакующий источник отключили. Но как только, был очищен Черный Список, все проблемы сразу же возвращались.

Так и сосуществуем.


Вполне возможно, что большинство владельцев серверов и сайтов никогда не столкнется с этим. Также, как говорил Крокодил Гена — «Может мы обидели кого — то зря!», заблокировав IP адреса добропорядочных пользователей интернета, из числа тех, кто попал в Черные диапазоны под-сетей. Что же, обращайтесь, пишите, внесем исключения. Но лучше уж разбирайтесь с теми, по чьей вине вы пострадали. Особенно, если речь идет о корпоративных диапазонах, а значит, эти люди или люди допустившие это находятся где — то рядом с вами.

Допускаю, что могли быть заблокированы «хорошие боты» от разнообразных поисковых систем. Но — это маловероятно.

Я же, не дожидаясь повторения подобного кошмара, на всех своих сайтах теперь добавляю этот «DDOS black-list». За исключением проекта Fackers — потому, что у него несколько другое назначение, и он сознательно подставляется.

И кстати, совершенно не важно, на какой платформе у вас написан ваш сайт или блог или web приложение. Источник этих атак, может доставить кучу неприятностей и заметно осложнит вам жизнь, если по каким то не известным причинам, ваш проект попадет в список его жертв. Даже, если у вас нет регистрации пользователей. Нагрузка на сервер, вырастает в разы.

Также, как и прочие Черные Списки, актуальная версия «DDOS black-list » доступна для бесплатной загрузки.

Следите за обновлениями.


В этот же раздел имеет смысл добавить полноценные DDoS акции направленные на RDP порт. Подробно об этом написано здесь.




  • 

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *