Веб-серверы могут обрабатывать только ограниченное количество запросов одновременно. Кроме того, есть ограничения на скорость передачи данных между сервером и интернетом. Когда число запросов превышает возможности любого компонента системы, веб-сайт может полностью перестать работать. Это называется отказом в обслуживании или Denial-of-Service (коротко DoS).

DDoS-атака, или Distributed Denial of Service, — это распределенная атака типа «отказ в обслуживании». Максим Филатов, аналитик, работавший в антифрод-команде Яндекса и сейчас занимающий должность в FAANG-компании, расскажет о том, как работают DDoS-атаки и как можно защитить свой бизнес от подобных угроз.

Максим Филатов

Data Scientist с опытом работы более 8 лет
Занимаюсь разработкой решений для обеспечения качества данных и борьбы с мошенничеством
Участвовал в разработке адаптивной аналитики проекта ASAP FP7 EU в Женевском университете

Инструменты DDoS-атак 

На черном рынке есть масса инструментов, которые злоумышленники могут использовать для проведения атак. Одним из самых известных является Mirai — ботнет, который заражает плохо защищенные устройства: маршрутизаторы и камеры наблюдения. 

Популярны также LOIC и HOIC, которые позволяют отправлять множество запросов на серверы и настраивать атаки. В даркнете можно найти и сервисы аренды ботнетов, которые позиционируются как инструменты для тестирования сетей, но иногда используются для DDoS-атак.

LOIC в действии
LOIC в действии

Часто применяются Xerxes и Slowloris. Первый перегружает серверы веб-запросами, а второй отправляет неполные HTTP-запросы и удерживает соединение открытым. Это истощает ресурсы сервера и приводит к отказу в обслуживании.

Большинство инструментов легко найти на форумах и в даркнете, поэтому DDoS-атаку может совершить человек даже без глубоких технических знаний.

Цели DDoS-атак


Главная цель DDoS-атаки — сделать ресурс недоступным для пользователей. Помимо полного отказа системы, в результате атаки могут возникнуть следующие проблемы: существенное замедление времени ответа на запросы и невозможность обработки части запросов.

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

Бывают случаи, когда атаки происходят ненамеренно. Так, бездумный скраппиинг данных или мониторинг изменений веб-сайта может привести к DDoS-атаке или просто создать слишком большую нагрузку. Например, иногда в компаниях появляются проекты динамического ценообразования через автоматическое слежение за ценами конкурентов — в результате может возрасти нагрузка на сервисы конкурентов.

Опасность DDoS-атак

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

Приведем несколько примеров крупнейших атак. В 2012 году американские банки Bank of America и JPMorgan Chase столкнулись с атакой мощностью 60 Гбит/с, что привело к временной недоступности онлайн-сервисов и нанесло огромный ущерб их репутации. 

В 2016 году атаки ботнетом Mirai привели к временной недоступности популярных онлайн-сервисов, включая GitHub, Twitter и Netflix.

Принцип работы Mirai
Принцип работы Mirai

В 2017 году сервисы Google столкнулись с атакой мощностью 2.54 Тбит/с, которая стала самой мощной в истории. Атака длилась около 6 месяцев и нанесла существенный ущерб инфраструктуре компании.

DDoS-атаки также имеют социальное и политическое влияние. Атаки на правительственные сайты или средства массовой информации обычно направлены на подрыв доверия к властям или вмешательство в политические процессы. Например, в марте 2014 года произошла серия DDoS-атак на веб-сайты правительственных учреждений США, включая Белый дом и Министерство обороны.

Виды DDoS-атак

Атаки классифицируются по разным признакам: источник, цель, механизм. Если мы говорим о цели, то атаки могут быть направлены на серверы, сети, веб-сайты или на отдельных пользователей. По источнику атаки делятся на те, что происходят от компьютеров, ботнетов, и других скомпрометированных устройств в сети.

Чтобы быть готовым к DDoS-атаке, важно понимать, с чем предстоит столкнуться. Мы можем классифицировать DDoS-атаки по трем основным механизмам действия: атаки на основе флуда, атаки, которые эксплуатируют уязвимости стека сетевых протоколов и атаки на уровне приложений.

Остановимся подробнее на первой группе — атаках, направленных на переполнение канала связи. Самые распространенные виды атак здесь — это SYN flood, ICMP flood и UDP flood. SYN flood основан на переполнении очереди соединений TCP. ICMP flood посылает большое количество ICMP-запросов, а UDP flood направлен на перегрузку целевой системы за счет большого объема UDP-пакетов.

Как определить наличие DDoS-атаки

Понять, что происходит DDoS-атака, можно без особых технических знаний. Если вы заметили один или несколько из перечисленных ниже симптомов, то, вероятно, сервис стал жертвой DDoS-атаки.

Признаки DDoS-атаки:

  • резко увеличился трафик без объективных причин;

  • сайт замедлился или не работает;

  • появились проблемы с доступом к сайту;

  • пользователи сообщают о проблемах с доступом к сайту.

Кроме этих верхнеуровневых симптомов, стоит проанализировать логи и системы мониторинга трафика. Так вы сможете отследить аномалии, которые будут указывать на DDoS-атаку. Например, может обнаружиться большое количество запросов на один и тот же ресурс.

DoS- и DDoS-атака
DoS- и DDoS-атака

Обратите внимание на нагрузки на серверы. Если есть внезапное увеличение и сопутствующие симптомы, вероятно, это DDoS-атака. Анализ логов также поможет выявить аномальное поведение, например, многочисленные запросы с повторяющихся IP-адресов, регионов или типов устройств. 

Методы защиты от DDoS-атак

Теперь поговорим о самом важном: как защитить свой сервис от DDoS-атак.

Фильтрация трафика

Используйте анти-DDoS фильтры, которые анализируют трафик в реальном времени и блокируют подозрительные запросы. Также базовые маршрутизаторы и коммутаторы часто имеют встроенные функции для фильтрации трафика на основе IP-адресов или типов протоколов.

Использование брандмауэров

Брандмауэры и файерволы помогут создать барьер между внутренней сетью компании и внешними угрозами. Их можно настроить так, чтобы они блокировали DDoS-трафик.

VPN 

VPN (Virtual Private Network) создают зашифрованные туннели для передачи данных и помогают скрыть реальное местоположение серверов и затруднить DDoS-атаки. Кроме того, VPN позволяют сотрудникам безопасно подключаться к корпоративным ресурсам из любой точки мира, минимизируя риск атак на публичные IP-адреса.

CDN

CDN (Content Delivery Network) распределяет контент по множеству серверов по всему миру, что помогает снизить нагрузку на один сервер и улучшить защиту от DDoS-атак.

Принцип работы CDN
Принцип работы CDN

Предотвращение перегрузок

Arbor Peakflow и Cisco Ironport — два отличных сервиса для защиты от DDoS-атак. Первый анализирует трафик, используя данные от сетевых потоков, SNMP и обновления BGP с множества маршрутизаторов и интерфейсов, и строит логическую модель сети. Второй автоматически управляет угрозами и сетевыми аномалиями и значительно снижает нагрузку на IT-специалистов.

Выбор надежного хостинг-провайдера

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

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

In-house решения

В дополнение к внешним сервисам, компании могут разрабатывать собственные in-house решения для борьбы с DDoS-атаками. Сюда входят программные инструменты и скрипты, которые можно настроить под уникальные потребности и характеристики своей сетевой инфраструктуры.

Кроме того, даже обычный персонал должен иметь практические навыки, чтобы быстро распознать и отреагировать на подозрительную активность. Регулярные тренировки и симуляции помогут адекватно среагировать в момент реальной угрозы.

Что делать, если вы столкнулись с DDoS-атакой

Если вы столкнулись с DDoS-атакой, следуйте этим шагам, чтобы уменьшить ущерб и быстро восстановить доступность сервисов.

  1. Сообщите администраторам и провайдеру услуг хостинга

  • Как можно скорее уведомите вашу IT-команду и сетевых администраторов о подозрительной активности. Это поможет быстрее оценить ситуацию и принять меры.

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

  1. Активируйте защитные механизмы и временно отключите уязвимые сервисы

  • Включите все доступные защитные механизмы, WAF и сетевые брандмауэры, чтобы фильтровать вредоносный трафик.

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

  • Определите критически важные сервисы и отключите менее важные, чтобы сосредоточить ресурсы на поддержании работы самых важных систем.

  1. Перенаправьте трафик на облачные хранилища

  • Активно мониторьте входящий и исходящий трафик, чтобы лучше понимать характер атаки и ее интенсивность. Используйте инструменты для мониторинга сетевого, например, Arbor Peakflow.

  • Перенаправьте трафик на серверы-защитники или облачные хранилища, которые могут фильтровать большой объем данных.

Материал выпущен совместно с редакцией ProductStar. Спасибо, что остаетесь с нами!

ProductStar — онлайн-школа IT-профессий, часть холдинга РБК с 2023 года. Вы можете подписаться на наш Telegram-канал о разработке, посмотреть на все наши публикации на Хабре и познакомиться со всеми предлагаемыми нами курсами по программированию.

Комментарии (2)


  1. reasoned_critique
    05.06.2024 19:33

    нужная тема. Хорошо бы на каком-нибудь fastapi пример реализации показать


  1. rhiamonlatin
    05.06.2024 19:33

    Неужели настолько закончились идеи у автора , что стоит писать очередную статью , аналогичным тем , которые были написаны еще во времена когда действительно в атаках использовали

    LOIC и HOIC