7,1K подписчиков

Как защититься от DDoS-атак?

Распределенные атаки типа «отказ в обслуживании» (DDoS - Distributed Denial of Service) направлены на то, чтобы «отключить» организацию или службу, и сделать это из нескольких распределенных хостов.

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

Существует большое количество различных типов DDoS-атак, но их можно разделить на три категории: объемные атаки, атаки на уровне протокола и атаки на уровне приложения.

Что такое объемные DDoS-атаки?

Цель объемных DDoS-атак – превышение пропускной способности канала своей жертвы (например, атака с отражением UDP-пакетов).

Атака с отражением UDP-пакетов направляет пакеты с IP-адресом цели, который указан в качестве поддельного адреса источника. В таком случае ответы на эти поддельные пакеты будут отправляться на адрес жертвы, а не на адрес злоумышленника.

Факт использования промежуточного сервера имеет свои преимущества (в сравнении с прямой атакой на цель). Как правило, пакеты, которые содержат ответы, весят намного больше, чем отправленные пакеты. Например, ответ на DNS-запрос может превышать вес исходного запроса в 28-54 раза.

Получается, что злоумышленник может отправить большое количество пакетов, размеры которых не так велики, а вот пакеты, которые содержат ответы, будут потреблять ресурсы цели.

Что такое DDoS-атаки на уровне протокола?

DDoS-атаки на уровне протокола ищут слабые места в работе протокола (например, синхронная атака (SYN flood)). Синхронная атака использует в своих интересах принцип работы метода трехстороннего рукопожатия.

Когда злоумышленник отправляет на компьютер огромное количество синхронных пакетов (SYN-пакетов), сервер начинает выделять ресурсы для этого запроса и отвечает SYN/ACK, полагая, что это начало запроса на подключение.

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

Что такое DDoS-атаки на уровне приложения?

Цель DDoS-атак на уровне приложения – слабые места в работе приложения (например, Slowloris).

Slowloris похожа на синхронную атаку, но ее цель – веб-серверы. Злоумышленник отправляет HTTP-запросы (при этом он их не завершает) и продолжает отправлять дополнительные заголовки, дабы соединение оставалось открытым.

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

Прочие типы DDoS-атак

Как вариант, DDoS-атаки можно сгруппировать, взяв за основу уровни модели OSI, на которые они направлены. Как правило, они делятся на атаки на инфраструктуру (например, атаки с отражением UDP-пакетов или синхронные атаки) и атаки на приложение (например, HTTP-флуд или отключение кэширования).

HTTP-флуд – это атака, которая заключается в том, что злоумышленник отправляет поток настоящих HTTP-запросов на сервер или приложение, расходуя все его ресурсы.

Атаки с использование отключения кэширования – это разновидность HTTP-флуда. Эти атаки предназначены для того, чтобы не допустить кэширование CDN посредством изменения строки запроса. В связи с этим у CDN появляется необходимость обращаться к серверу-источнику с каждым запросом, что приводит к его перегрузке.

Меры по смягчению последствий от DDoS-атак

Самая важная часть организации защиты от DDoS-атак – подготовка. Довольно сложно бороться с попыткой DDoS-атаки после того, как она уже была совершена.

Увеличение пропускной способности

Один с способов борьбы с объемными атаками – увеличить со своей стороны пропускную способность. Увы, но это может быть довольно сложно; все зависит от масштаба атаки и от того, насколько сильно злоумышленник может масштабировать атаку в ответ.

Маловероятно, что такое можно реализовать на практике, только если атакуемая организация не является поставщиком услуг или очень крупной организацией.

Ответы на стороне

Небольшие организации могут передать право ответа другим специализированным компаниям или своему поставщику Интернет-услуг (или и тому, и другому).

Такого рода связи должны быть налажены еще до того, как произойдет атака. А когда она произойдет, смягчить последствия будет довольно просто – вам нужно будет обратиться к поставщику Интернет-услуг или обслуживающей компании для того, чтобы они задействовали средства защиты (или же средства защиты могут работать на постоянной основе).

Зачастую поставщики услуг защиты от DDoS-атак направляют трафик в свою среду (если, конечно, он уже не проходит через нее). Это можно сделать через DNS, посредством обновления A-записи для того, чтобы она указывала на IP-адрес, который выделил поставщик (правда, вам потребуется небольшое значение TTL для того, чтобы все получилось быстро), или через BGP, объявив более конкретное правило маршрутизации, нежели то, которое было объявлено ранее.

Наличие плана реагирования на DDoS-атаки

Даже если организация передала ответственность за защиту от DDoS-атак третьей стороне, все еще важно иметь план реагирования на инциденты, связанными с DDoS-атаками.

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

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

Перед атакой:

  • Коммутационные схемы: создайте как можно более точные коммутационные схемы, в том числе это касается контактов телекоммуникационной компании.

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

  • Передача рассмотрения вопросов на более высокий уровень: определите, когда (и каким образом) необходимо вмешивать вашего поставщика Интернет-услуг или организацию, ответственную за предотвращение DDoS-атак (указав актуальные контактные данные и копию контракта).
  • Доведение до сведения: составьте список тех, кого и когда нужно будет уведомить (контактные данные службы безопасности, контакты соответствующей сетевой группы и т.д.).

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

Лучше всего распечатать эти списки и раздать их сотрудникам, чтобы у них был доступ к этим контактам, даже если системы недоступны.

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

  • Проверка актуальности: все эти документы и списки контактов необходимо периодически пересматривать (минимум раз в квартал).

В процессе атаки:

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

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

После атаки:

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

Создание отказоустойчивой архитектуры

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

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

Сети доставки содержимого (CDN - Content distribution network) – это один из способов, как вы можете усовершенствовать план реагирования на DDoS-атаки, так как это территориально распределённая сеть прокси-серверов, которая может существенно улучшить отказоустойчивость.

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

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

Обновите свое аппаратное обеспечение

Некоторые типы DDoS-атак сами по себе довольно старые, и последствия от них можно смягчить, просто обновив аппаратное обеспечение. Например, вы можете защититься от большинства атак на уровне протокола (например, синхронные атаки) и атак на уровне приложения (например, Slowloris), воспользовавшись соответствующими сетевыми брандмауэрами и балансировщиками нагрузки.

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