Очередь у одной кассы
DDoS (Distributed Denial of Service) — распределённая атака отказа в обслуживании. Представьте магазин, в который одновременно заходят тысячи «покупателей», ничего не покупая: настоящие клиенты не могут пройти. Сервер или канал связи тоже имеет предел: количество соединений, запросов в секунду, ширина канала. Если поток превышает предел, сервис отвечает медленно или не отвечает вообще.
Слово «распределённая» указывает на источник: запросы приходят с множества устройств, чаще всего из ботнета, поэтому простого блокирования одного адреса недостаточно.
Виды атак
Объёмные атаки забивают канал огромным количеством трафика, измеряемым в гигабитах в секунду. Протокольные атаки эксплуатируют особенности протоколов и исчерпывают ресурсы сетевых устройств, например таблицу полуоткрытых соединений при SYN-флуде. Атаки прикладного уровня выглядят как обычные запросы к сайту (поиск, форма входа, дорогая страница), но их слишком много, и они дорого стоят серверу по ресурсам.
Отдельная категория — усиление отражением: атакующий отправляет небольшой запрос с подменённым адресом источника открытому серверу (например, DNS или NTP), а тот отвечает намного большим пакетом на адрес жертвы.
Как отличить DDoS от собственных проблем
Прежде чем искать атакующего, исключите обычные причины. Сначала проверьте, доступен ли сайт из разных сетей: если из мобильной он открывается, а из домашней нет, проблема на стороне вашего провайдера, а не сервиса. Затем посмотрите на график нагрузки сервера: при атаке рост резкий и не связан с рекламой или публикациями. В журналах ищите однотипные запросы с большим числом разных адресов, повторяющиеся заголовки, странные значения User-Agent.
Если нагрузка растёт плавно и совпадает со временем публикации, вероятно, это просто наплыв посетителей. Для владельцев небольших сайтов есть простая практика: держать сайт за сетью доставки содержимого, которая отдаёт статику из кэша и скрывает реальный адрес сервера. Это снижает нагрузку в обоих случаях и не требует сложной настройки.
Как выглядит со стороны цели
Сайт открывается очень медленно или выдаёт ошибки, пинг растёт, канал утилизирован на 100 процентов, в журналах множество однотипных запросов с разных адресов. Иногда лежит не только сайт, но и остальные сервисы на той же площадке, потому что исчерпан общий канал.
Диагностика начинается с разделения: проблемы на стороне приложения, нехватка ресурсов сервера или внешний поток. Графики трафика и число соединений помогают понять характер атаки.
Как защищаются
Основные меры: запас пропускной способности, фильтрация на границе сети, ограничение частоты запросов, кэширование и раздача статики через сеть доставки содержимого, использование специализированных сервисов очистки трафика, которые принимают поток на себя и пропускают только легитимные запросы. Для прикладных атак применяют проверки на человека и анализ поведения.
Внутри инфраструктуры полезны балансировщики нагрузки, автоматическое масштабирование и отдельные ресурсы для критичных функций. Важно заранее иметь план: контакты провайдера и порядок включения защиты.
Что важно знать обычному пользователю
Для домашнего пользователя DDoS чаще всего проявляется в играх и на стримах, где злоумышленник узнаёт IP-адрес и пытается завалить канал. Помогают смена внешнего адреса у провайдера, скрытие адреса при общении и использование защищённых серверов игровых платформ.
Стоит отличать атаку от обычной перегрузки: внезапный наплыв реальных людей после публикации или акции тоже приводит к недоступности, но лечится масштабированием, а не фильтрацией. И не путайте с сетевыми проблемами на вашей стороне, о причинах которых можно почитать на страницах про потери пакетов и пинг.
Отдельно упомянем защиту от усиления: администраторам следует закрывать публичные открытые резолверы и настраивать серверы времени так, чтобы они не отвечали посторонним, иначе их использовали бы для отражённых атак.
Для игр и стримов полезно скрывать своё соединение: не публиковать адрес, использовать сервисы, которые соединяют игроков через сервер посредника, и общаться голосом через платформы, не раскрывающие адреса участников. Если атака всё-таки началась, обратитесь к провайдеру: он может сменить внешний адрес или включить фильтрацию на своей стороне, что нередко сразу решает проблему.