DDoS-атака: что такое,
типы и способы защиты
Distributed Denial of Service (DDoS) — перегрузка информационной системы из-за поступления избыточного количества запросов, в результате чего возникает блокировка обработки обращений. Разбираемся подробно, что такое DDoS-атаки, каких видов и типов они бывают, в чем причины и самое главное — какие способы защиты от DDoS-атак существуют.
Что такое DDoS-атака
Любое оборудование имеет определенные ограничения по количеству обрабатываемых запросов и пропускной способности. Во время DDoS-атаки «отказ в обслуживании» случается перегрузка сети флудом или паразитным трафиком из-за того, что на атакуемый ресурс одновременно направляется огромное количество запросов. В результате все каналы сервиса или полоса пропускания входного маршрутизатора «забиваются». В случае DDoS-атаки передача легитимного трафика на сервер становится невозможной. Запросов поступает настолько много, что сервер не успевает их обрабатывать и переходит в режим «отказ в обслуживании».
Во время DDoS-атаки действия злоумышленников направлены на том, чтобы вывести инфраструктуру компании и клиентский сервис из рабочего состояния, создав лавинообразный рост запросов. В некоторых случаях может происходить естественный DDoS, к примеру, во время сезонных распродаж в магазине, когда сайт сталкивается с большим наплывом покупателей и сервис не справляется с нагрузкой.
Если говорить не о естественном сбое, а об атаке, то ей может быть подвержена любая организация, работая которой связана с прямым взаимодействием с пользователями через веб-ресурсы, маркетплейсы, онлайн-ретейлы.
При атаке, идущей одновременно с нескольких компьютеров, говорят Distributed DoS, то есть, распределенной атаке. Из-за массовых запросов к серверу и превышения допустимого объема, сервер становится недоступным для пользователей. Признаки массовой DDoS-атаки:
- операционная система и серверное программное обеспечение работают некорректно — происходят произвольные завершения сессий, зависания;
- пиковая нагрузка на сервер превышает средние значения — повышена нагрузка на ЦП, диск, оперативную память и другие компоненты серверы;
- резко увеличивается количество запросов на порты;
- однотипная модель поведения — маскировка вредоносного трафика, в алгоритмы закладывается симуляция действия пользователей (использование поиска, скачивание файлов и т.д.);
- одинаковые массовые запросы к портам и сервисам, сгенерированные пользователями, не похожими на типичную аудиторию, — основной показатель при атаке.
Жертвы организации DDoS-атак
Для любой организации и компаний при DDoS-атаке могут быть серьезные потери от простоя — это может быть трафик, клиенты, доход, ухудшение позиций в поисковых выдачах, репутация.
Потенциальные жертвы, которые могут подвергнуться DDoS-атаке:
- финансовые учреждения — управляющие и инвестиционные фонды, порталы и сайты банков, бирж;
- государственные и корпоративные учреждения — порталы крупных компаний, маркетплейсы, площадки отраслевых министерств;
- медицинские организации — порталы и сайты крупных клиник и медцентров;
- IoT устройства — например, система «Умный дом».
Причины DDOS-атак
- Вымогательство. Распространенная проблема, когда хакеры вынуждают владельцев ресурса заплатить выкуп, угрожая масштабной DDoS-атакой.
- Конкуренция. Не исключено, что инфраструктуру крупной компании могут атаковать конкурирующие фирмы.
- Личная неприязнь. Пример — IT-специалисты могут спровоцировать обвал серверов определенной организации по личным мотивам, например, из-за желания отомстить или чтобы пресечь преследование со стороны правительственных структур.
- Политические мотивы. Нередко хакеры могут выражать через DDoS-атаку свои протесты по отношению к действиям правительства.
- Развлечение. Не всегда DDoS-атаку можно объяснить серьезными мотивами, иногда так могут развлекаться новички в IT-сообществе.
- Отвлекающий маневр. Иногда атаку могут инициировать для того, чтобы отвлечь внимание и внедрить вирусы-шифровальщики или же украсть важную корпоративную информацию.
Виды DDoS-атак
Эксперты говорят о DDoS-атаках двух видов:
- Атакой 3-4 уровня OSI называют атаку, происходящую на транспортном и сетевом уровнях. Из-за большого количества передаваемых пакетов забиваются каналы передачи данных, не справляются с нагрузкой и сервер выдает ошибку «отказ в доступе». Нередко злоумышленники используются недостатки сетевых протоколов, намеренно перегружая сервер, после чего он просто перестает отвечать на запросы.
- Атакой 7 уровня OSI называют атаку на уровне приложений, потребляют не только сетевые ресурсы, но и ресурсы самого сервера. Продолжаться могут несколько часов и дней. В результате сервер не выдерживает нагрузку и становится недоступным. Атакуют непосредственно приложение или операционную систему, чтобы спровоцировать превышение лимита вычислительной мощности сервера. Часто такого рода атакам подвергаются конкретные службы, приложения и сервисы.
Также в зависимости от того, как действуют злоумышленники, можно понадобиться защита от DDoS-атак следующих типов:
- HTTP-флуд — при такой атаке, когда злоумышленники используют разные HTTP-заголовки пакетов, придавая им нужные свойства и делая труднораспозраваемыми. Часто HTTP-запросы передают по защищенному протоколу HTTPS, из-за чего все пересылаемые от злоумышленника данные шифруются. Такая «защищенность» только на руку тем, кто организует атаку, так как серверу вначале приходится расшифровать большой поток запросов, что уже создает дополнительную нагрузку и приводит к исчерпанию вычислительной мощности.
- NTP-усиление — при этой атаке задействуются серверы Network Time Protocol (протокола сетевого времени), применяемого для синхронизации часов в сети. При этой атаке злоумышленники стремятся перегрузить сервер трафиком UDP. Объем ответного трафика от атакуемого сервера превышает запрос, поэтому сеть сильно перегружается.
- Pulse Wave — при пульсирующей атаке суть действия злоумышленников сводится к провоцированию периодического всплеска трафика. Если обычно атака DDoS выглядит как нарастающий поток трафика, то при пульсирующей атаке происходят серии коротких, но мощных импульсов, повторяющихся с точной периодичностью.
- Ping of Death — такая атака, при которой происходит рассылка пинг-запросов через Ping of Death. Сервер перегружается и «ложится». Сейчас пропускная способность сетей намного выше, поэтому с этой атакой сталкиваются все реже. Чтобы провести полноценную Ping of Death требуется много зараженных ботов.
- SYN-флуд — такая атака, когда устанавливается полуоткрытое соединение с узлом. Через открытый порт сервер принимает SYN-пакет, в ответ он должен отправить пакет подтверждения SYN-ACK и открыть соединение. После этого сервер-источник должен отправить пакет АСК, но при атаке этого не случается и до завершения тайм-аута соединение остается полуоткрытым. Из-за этого на сервере, подвергшемся атаке, растет очередь на подключение и другие клиенты не могут установить с ним связь.
- MAC-флуд — такая атака, при которой злоумышленник отправляет поток пустых фреймов с различными МАС-адресами. Сетевые коммутаторы устроены так, что каждый МАС-адрес рассматривают отдельно и под каждый резервируют ресурс. В результате память коммутатора быстро переполняется и он перестает отвечать. Иногда этот вид DDoS-атаки может привести к удалению таблиц маршрутизации, нарушая работу не только одного сервера, а всей сети.
- Fraggle Attack — при этой атаке используют огромные объемы трафика UDP на вещательной сети маршрутизатора.
- Slowloris — эту атаку направляют на веб-сервер. Атакующий сервер производит подключение к атакуемому и оставляет подключение насколько возможно долго полуоткрытым.
- APDoS — эту атаку можно назвать усовершенствованной. Она повторяется с определенной периодичностью, использует механизмы HTTP- и SYN-флуда, а также инструменты других видов атак. При APDoS-атаке за одну секунду на сервер поступает миллион запросов, длиться она может неделями, при этом тактика, которую используют мошенники при атаке, может меняться.
Защита от DDoS-атак
Самый эффективный способ вовремя пресечь DDoS-атаку — фильтровать подозрительную сетевую активность на уровне интернет-провайдера или хостинга. Для этой цели можно использовать специальное оборудование или сетевые маршрутизаторы.
Один из важнейших методов нейтрализации DDoS-атаки — минимизация размеров зоны, которая может быть атакована. Этот прием позволяет создать централизованную защиту. Важно убедиться, что доступ к ресурсам/приложению не открыт для протоколов, портов или приложений, взаимодействие с которыми не предусмотрено. То есть, чем меньше количество точек, открытых к атакам, тем проще нейтрализовать DDoS-атаку, если она все же случится. В некоторых случаях могут быть эффективны списки контроля доступа или брандмауэры, которые позволяют контролировать поступающий в приложение трафик. Дальше мы рассмотрим, что можно сделать при атаке более подробно, а также обсудим, какие превентивные меры, чтобы остановить DDoS-атаку, могут быть эффективны.
Что еще может помочь при атаке:
- Цель №1 — как можно быстрее идентифицировать DDoS-атаку и ее источник. Для этого нужен профиль входящего трафика, чтобы отслеживать, какой объем и какого трафика откуда идет. Важно понимать, что при атаках начинается с кратковременных всплесков трафика.
- Чтобы сервер мог выдерживать резкие всплески трафика, необходимо выделить серверу полосу пропускания с запасом — чем шире, тем лучше. Конечно, даже, если заложить запас до 100%, от DDoS-атаки это не спасет, но даст время на распознавание источника, какой атаке подвергся сервер и определить, какие меры нужно предпринять, чтобы не положить сервер.
- Организовать защиту периметра сети — комплекс технических мер, которые позволяют частично уменьшить вред, вызванный атакой. Для этого необходимо провести следующие сетевые настройки:
- установить на маршрутизаторе фильтры для сброса пакетов от определенного источника, спровоцировавшего атаку;
- снизить скорость маршрутизатора, чтобы не допустить остановки сервера;
- настроить тайм-аут на полуоткрытые соединения;
- пакеты с необычной структурой или с подменными IP-адресами сбрасывать;
- снизить пороги сброса для SYN-, ICMP-, и UDP-флуда.
4. Контратака. В случае поступления вредоносного трафика его можно перенаправить на сеть атакующего. Это временно выведет злоумышленника из игры и сохранит доступность сервера.Предотвращение DDoS-атак
Уменьшить последствия DDoS-атаки или даже предупредить ее можно, если разместить сервер в специализированном дата-центре с широкой входной полосой, мощными маршрутизаторами и опытным персоналом. Со своей стороны владелец сайта может обследовать логику своего продукта и на этапе разработки и тестирования исключить ошибки, а также минимизировать уязвимость ресурса.
Вот, что можно сделать, чтобы предупредить DDoS-атаку:
- Регулярно контролировать обновления версий программного обеспечения и сетевых служб. Поддерживать код продукта в стабильном и актуальном состоянии, по возможности разворачивать проект на нескольких серверах (тестовом, продуктовом, бэкап-сервере). Использовать системы контроля Git, которые в случае чего, позволят откатить проект к предыдущей стабильной версии.
- Следить за доступом к сетевым службам. Важно обеспечить несколько уровней доступа для разных сотрудников, при любом подозрении на компрометацию сбрасывать пароли и учетные записи.
- Контролировать административную панель, ограничить доступ VPN-сетью.
- Регулярно проводить сканирование на предмет уязвимостей.
- Автоматизировать проверку сетевого трафика и валидации запросов к портам/службам сервера.
- Использовать CDN для распределения трафика — это позволит оптимизировать нагрузку на серверы, ускорить обработку запросов.
- Регулярно очищать кэш DNS.
- Использовать защиту от спама, например, для форм обратной связи использовать капчи, JS-компоненты или другие инструменты проверки.
- Заранее установить аппаратные средства защиты от DDoS, как Impletec iCore, DefensePro.
- Использовать бэкапирование, чтобы в случае отказа одного сервера, можно было возобновить работу на другом.
Эксперты объясняют, что любые системы предотвращения при DDoS-атаке не гарантируют 100% защиты, так как сами по себе уязвимы. Вот, что можно сделать для защиты DNS:
- Проводить мониторинг DNS (отслеживать сетевую активность). Для этой цели подойдут коммерческие DNS-решения или бесплатные продукты, например, BIND. Отслеживать трафик и запросы к DNS можно в режиме реального времени. Также рекомендуется построить базовый профиль инфраструктуры, а обновлять его в случае масштабирования бизнеса.
- Расширять аппаратные ресурсы DNS. Такие решения помогают при мелкомасштабных атаках, но закупка мощностей требует вложений.
- Использовать DNS Response Rate Limiting для снижения вероятности встречи с атакой за счет замедления скорости обработки повторных запросов.
- Выстраивать конфигурации высокой доступности, например, развернуть DNS на НА-сервере. Такой подход позволяет восстановить работу сервиса на резервной машине.
- Чтобы не допустить DDoS-атаку можно географически распределить сеть. Сделать это можно двумя способами:
- Anycast. При этом методе разные серверы используют общий IP-адрес, а запросы направляющий на ближайший сервер. Это оптимальный вариант, так как трафик и нагрузки равномерно распределяются между несколькими машинами. Такая структура устойчива к атакам.
- Unicast. При этом методе за каждым сервером закрепляют свой IP-адрес. Обработка запросов осуществляется следующим образом — для уравновешивания трафика и нагрузки IP-адрес выбирается в случайном порядке. В реализации такой метод проще, чем первый, но устойчивость инфраструктуры не такая надежная.
- Резервировать ИТ-инфраструктуру. Для этого виртуальную серверную и инфраструктуру распределяют по нескольким дата-центрам, используют одну систему балансировки для распределения трафика. Лучше, если дата-центры будут подключены к разным транспортным сетям без «узких мест» в одной точке. В результате атака может быть эффективной только для части серверной инфраструктуры, а трафик можно будет перенаправить на остальные части.
- Для противодействия атакам можно провести конфигурацию сетевого оборудования. Например, сконфигурировать маршрутизатор и файрволл так, чтобы ответы от DNS-сервера вне корпоративной сети блокировались, а входные пакеты с протоколом ICMP сбрасывались.
- Важно защищать серверы при помощи сетевых фаерволов и использовать балансировщики нагрузки, например, SYN-flood для сбрасывания незакрытых соединений при превышении порога. Также можно установить специальное программное обеспечение, которое предупреждает атаку на 7-м уровне OSI.
- Использовать для защиты средства NetScout Arbor, Fortinet, Check Point, Cisco, Radware. В некоторых из них реализован искусственный интеллект, распознающий сигнатуры во входящем трафика. Инструменты неплохие, но имеют ограничения по объему пропускаемого трафика — не более 80 Гб/сек.
Подведем итоги. К сожалению, универсального решения, которое на 100% гарантирует защиту при DDoS-атаке, пока не существует. Хакеры постоянно изобретают новые способы и средства, которые можно использовать в атаках, оттачивая свое «мастерство». Но применяя вышеперечисленные рекомендации можно в разы минимизировать возможный ущерб при DDoS-атаках.
Также опыт многих компаний показывает, что важно тщательно выбирать хостинг-провайдера — поставщика, который дает надежные гарантии защиты от DDoS и других современных угроз. Важно убедиться в том, что линия поддержки отзывчивая и работает круглосуточно, а административная панель имеет достаточно аналитических инструментов. Арендуя сервер в ЦОД StoreData, вы снижаете издержки на обслуживание оборудования, избавляетесь от необходимости оплачивать работу профильных специалистов для поддержания безопасности ИТ-инфраструктуры и получаете доступ к надежной защите от DDoS-атак и их последствий.