DDoS-атаки проводят, когда хотят, чтобы сайт временно перестал работать или стал сильно тормозить. Это популярный способ парализовать работу онлайн-бизнеса: пока сайт недоступен, посетители уходят покупать к конкурентам или ждут, чтобы зайти к себе в аккаунт. В результате бизнес теряет деньги и репутацию. Разбираемся, как устроены DDoS-атаки и как от них защититься.
Что такое DDoS-атака
DDoS это частный случай DoS. Кратко введём в курс дела, если вы не знаете, что это.
DoS означает Denial of Service, по-русски — отказ в обслуживании. Это сетевая атака, в ходе которой злоумышленник пытается так сильно нагрузить сайт, чтобы он начал сильно тормозить или стал недоступен для обычных клиентов. Другими словами — атака, во время которой сайт должен «отказать в обслуживании».
А DDoS — это когда сайт атакуют не с одного устройства, а сразу с тысячи. Чем больше устройств, тем больше нагрузка на сервер и выше вероятность сделать сайт недоступным.
Участвовать в атаке могут быть любые устройства, которые подключаются к интернету и умеют отправлять запросы: смартфоны, смарт-часы, бытовая техника, хостинговые серверы.
Но найти и организовать тысячу желающих провести атаку трудно. Гораздо проще превратить компьютеры обычных людей в зомби и управлять ими издалека. Обычно это делают с помощью вирусов.
Такие вирусы не требуют ничего от пользователя и не выдают себя, поэтому владелец устройства может даже не подозревать, что участвует в атаке. Их могут встроить в программу для активации Windows, пиратскую копию игры или программы с торрентов, неофициальную прошивку для смартфона.
Как устроены атаки
Разновидностей DDoS-атак много, но условно они делятся на два типа: атаки на сетевую и программную часть сервера.
Во время атаки на сетевую часть злоумышленник пытается перегрузить канал связи сервера. Канал связи отвечает за объём данных, который сервер способен принять. Когда данных слишком много, сервер не успевает их обрабатывать и для части посетителей сайт перестаёт открываться.
Предположим, канал сервера может принять 1 Гб трафика или 10 000 пользователей одновременно. Задача злоумышленника — преодолеть этот барьер и делать это как можно дольше, чтобы реальные пользователи не могли прорваться на сайт.
Во время атаки на программную часть злоумышленник пытается исчерпать какой-то из ресурсов сервера: мощность процессора, оперативную память, допустимое количество процессов или подключений к базе данных. Когда какой-то из ресурсов заканчивается, сервер начинает тормозить или зависает.
Сервер использует какой-то из ресурсов каждый раз, когда посетитель совершает на сайте какое-то действие. Например, когда посетитель вводит детали входа в аккаунт, сервер проверяет их и отправляет в ответ следующую страницу или показывает ошибку.
Для ответа на разные запросы нужно разное количество ресурсов. Задача злоумышленника — найти запрос, на который сервер тратит максимум ресурсов, а потом закидать его им, пока тот не отключится.
Как устроить DDoS
Теоретически можно попытаться атаковать сайт в одиночку, но заставить сайт отказать в обслуживании будет сложно.
Шансы на успех будут только в случае атаки на программную часть сервера. Но для этого атакующий должен понимать, как устроен хостинг и приложения изнутри. Без этих знаний не получится найти запросы, которые требуют много ресурсов.
Атаку на сетевую часть сервера провести проще, но делать это в одиночку бессмысленно. Каналы связи большинства хостинг-провайдеров выдерживают намного больше трафика, чем способен сгенерировать один компьютер. Плюс грамотный системный администратор легко обнаружит мусорный трафик и отфильтрует его.
Более популярный вариант — заказать атаку в интернете. По запросу «заказать DDoS» Гугл показывает целую кучу сайтов, которые предлагают любые типы атак. Но стоить атака будет дорого. При этом непонятно, будет ли атака эффективной, гарантий никто не даёт.
Стоимость услуг на одном из сайтов
Зачем атакуют сайты
Недоступность сайта приносит онлайн-бизнесу убытки. Большинство людей не станет разбираться, почему сайт не открывается или загружается бесконечно. Проще закрыть его и поискать в другом интернет-магазине. Особенно в дни крупных акций вроде Чёрной пятницы, когда из-за нерасторопности можно остаться без скидки.
Атака может отразиться не только на выручке, но и на SEO. Если в момент недоступности сайта на какую-то из его страниц придёт поисковый бот, он исключит эту страницу из поисковой выдачи. Потому что поисковикам нет смысла показывать страницы, которые не работают.
Это не значит, что страница исчезнет из результатов поиска навсегда. Со временем бот вернётся на неё и проиндексирует снова, если в этот раз она будет доступна. Можно даже найти такие страницы и отправить на переиндексацию вручную, просто на это придётся потратить время. Особенно если на сайте сотни страниц.
Кроме конкурентов атаковать сайт могут вымогатели. Они связываются с владельца и требуют заплатить за прекращение атаки. Лучше, конечно, не платить, а связаться с хостинг-провайдеров и вместе с ними найти способ справиться с атакой.
Иногда случаются ситуации, когда сайт начинает тормозить или становится недоступен, хотя его не атакуют. Такое бывает, если сайт хранится на виртуальном хостинге. У пользователей такого хостинга есть общие ресурсы, поэтому если во время атаки какой-то из них полностью израсходуется, это затронет все сайты.
В таких ситуациях хостинг-провайдер может временно отключить сайт, который атакуют, чтобы не нарушать работу сайтов других клиентов.
Как защититься от DDoS-атаки
На сервере без защиты отразить грамотно спланированный DDoS будет сложно. На поиск решения нужно время, но если атака окажется достаточно мощной, сервер будет тормозить, а может и вообще зависнуть. Поэтому позаботиться о защите лучше заранее.
Защиту предоставляют специальные компании. Принцип её работы напоминает фильтр: сайт подключают к серверам провайдера защиты, после чего весь трафик сначала проходит через них, подозрительные запросы отсеиваются, а на сайт попадают только безопасные.
Базовая защита стоит $20 в месяц. Её можно купить у CloudFlare. Она защитит только от самых распространённых видов атак. Такой вариант подойдёт небольшим сайтам, которых ещё не атаковали или атаки были слабыми.
Минус в том, что при атаке даже средней мощности такой защиты может не хватить и работа сайта всё равно нарушится.
Средняя защита стоит около $200 долларов в месяц. На неё можно перейти, если базовый тариф не подошёл. Такая защита спасёт от большинства видов атак и у вас будет больше возможностей настройки фильтров на стороне провайдера.
Даже если атака окажется мощной, защита возьмёт на себя большую часть нагрузки. Из-за этого сайт может оставаться работоспособным, хотя без защиты давно перестал бы открываться. Это даст системным администраторам возможность принять меры на своей стороне.
Полноценная защита от DDoS-атак любого типа и мощности стоит от $1000 в месяц. Её предоставляют крупные компании вроде DataDome или Sucuri. Стоимость может быть и выше, потому что её часто рассчитывают индивидуально, исходя из размера сайта.
Такая защита подойдёт, если сайт работает на нескольких выделенных серверах и в прошлом его уже доводили до отказа. Главное — оценить убытки от простоя. При регулярной недоступности они могут оказаться больше, чем стоимость защиты.
А какую защиту используете вы? Расскажите о своём опыте борьбы с DDoS-атаками в комментариях.