Что такое ddos атака на сервер. Бортовой журнал. Что такое DDOS атака вы можете узнать и попробовать прямо сейчас

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

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

Правильные ингредиенты

Суровая правда такова, что многие сайты может положить любой желающий, воспользовавшись атакой Slowloris, наглухо убивающей Apache, или устроив так называемый SYN-флуд с помощью фермы виртуальных серверов, поднятых за минуту в облаке Amazon EC2. Все наши дальнейшие советы по защите от DDoS своими силами основываются на следующих важных условиях.

1. Отказаться от Windows Server

Практика подсказывает, что сайт, который работает на винде (2003 или 2008 - неважно), в случае DDoS обречен. Причина неудачи кроется в виндовом сетевом стеке: когда соединений становится очень много, то сервер непременно начинает плохо отвечать. Мы не знаем, почему Windows Server в таких ситуациях работает настолько отвратно, но сталкивались с этим не раз и не два. По этой причине речь в данной статье будет идти о средствах защиты от DDoS-атак в случае, когда сервер крутится на Linux. Если вы счастливый обладатель относительно современного ядра (начиная с 2.6), то в качестве первичного инструментария будут выступать утилиты iptables и ipset (для быстрого добавления IP-адресов), с помощью которых можно оперативно забанить ботов. Еще один ключ к успеху - правильно приготовленный сетевой стек, о чем мы также будем говорить далее.

2. Расстаться с Apache

Второе важное условие - отказ от Apache. Если у вас, не ровен час, стоит Apache, то как минимум поставьте перед ним кеширующий прокси - nginx или lighttpd. Apache"у крайне тяжело отдавать файлы, и, что еще хуже, он на фундаментальном уровне (то есть неисправимо) уязвим для опаснейшей атаки Slowloris, позволяющей завалить сервер чуть ли не с мобильного телефона. Для борьбы с различными видами Slowloris пользователи Apache придумали сначала патч Anti-slowloris.diff, потом mod_noloris, затем mod_antiloris, mod_limitipconn, mod_reqtimeout... Но если вы хотите спокойно спать по ночам, проще взять HTTP-сервер, неуязвимый для Slowloris на уровне архитектуры кода. Поэтому все наши дальнейшие рецепты основываются на предположении, что на фронтенде используется nginx.

Отбиваемся от DDoS

Что делать, если пришел DDoS? Традиционная техника самообороны - почитать лог-файл HTTP-сервера, написать паттерн для grep (отлавливающий запросы ботов) и забанить всех, кто под него подпадет. Эта методика сработает... если повезет. Ботнеты бывают двух типов, оба опасны, но по-разному. Один целиком приходит на сайт моментально, другой - постепенно. Первый убивает все и сразу, зато в логах появляется весь полностью, и если вы их проgrepаете и забаните все IP-адреса, то вы - победитель. Второй ботнет укладывает сайт нежно и осторожно, но банить вам его придется, возможно, на протяжении суток. Любому администратору важно понимать: если планируется бороться grep’ом, то надо быть готовым посвятить борьбе с атакой пару дней. Ниже следуют советы о том, куда можно заранее подложить соломки, чтобы не так больно было падать.

3. Использовать модуль testcookie

Пожалуй, самый главный, действенный и оперативный рецепт этой статьи. Если на ваш сайт приходит DDoS, то максимально действенным способом дать отпор может стать модуль testcookie-nginx , разработанный хабрапользователем @kyprizel. Идея простая. Чаще всего боты, реализующие HTTP-флуд, довольно тупые и не имеют механизмов HTTP cookie и редиректа. Иногда попадаются более продвинутые - такие могут использовать cookies и обрабатывать редиректы, но почти никогда DoS-бот не несет в себе полноценного JavaScript-движка (хотя это встречается все чаще и чаще). Testcookie-nginx работает как быстрый фильтр между ботами и бэкендом во время L7 DDoS-атаки, позволяющий отсеивать мусорные запросы. Что входит в эти проверки? Умеет ли клиент выполнять HTTP Redirect, поддерживает ли JavaScript, тот ли он браузер, за который себя выдает (поскольку JavaScript везде разный и если клиент говорит, что он, скажем, Firefox, то мы можем это проверить). Проверка реализована с помощью кукисов с использованием разных методов:

  • «Set-Cookie» + редирект с помощью 301 HTTP Location;
  • «Set-Cookie» + редирект с помощью HTML meta refresh;
  • произвольным шаблоном, причем можно использовать JavaScript.

Чтобы избежать автоматического парсинга, проверяющая кукиса может быть зашифрована с помощью AES-128 и позже расшифрована на клиентской стороне JavaScript. В новой версии модуля появилась возможность устанавливать кукису через Flash, что также позволяет эффективно отсеять ботов (которые Flash, как правило, не поддерживают), но, правда, и блокирует доступ для многих легитимных пользователей (фактически всех мобильных устройств). Примечательно, что начать использовать testcookie-nginx крайне просто. Разработчик, в частности, приводит несколько понятных примеров использования (на разные случаи атаки) с семплами конфигов для nginx.

Помимо достоинств, у testcookie есть и недостатки:

  • режет всех ботов, в том числе Googlebot. Если вы планируете оставить testcookie на постоянной основе, убедитесь, что вы при этом не пропадете из поисковой выдачи;
  • создает проблемы пользователям с браузерами Links, w3m и им подобными;
  • не спасает от ботов, оснащенных полноценным браузерным движком с JavaScript.

Словом, testcookie_module не универсален. Но от ряда вещей, таких как, например, примитивные инструментарии на Java и C#, он помогает. Таким образом вы отсекаете часть угрозы.

4. Код 444

Целью DDoS’еров часто становится наиболее ресурсоемкая часть сайта. Типичный пример - поиск, который выполняет сложные запросы к базе. Естественно, этим могут воспользоваться злоумышленники, зарядив сразу несколько десятков тысяч запросов к поисковому движку. Что мы можем сделать? Временно отключить поиск. Пускай клиенты не смогут искать нужную информацию встроенными средствами, но зато весь основной сайт будет оставаться в работоспособном состоянии до тех пор, пока вы не найдете корень всех проблем. Nginx поддерживает нестандартный код 444, который позволяет просто закрыть соединение и ничего не отдавать в ответ:

Location /search { return 444; }

Таким образом можно, например, оперативно реализовать фильтрацию по URL. Если вы уверены, что запросы к location /search приходят только от ботов (например, ваша уверенность основана на том, что на вашем сайте вообще нет раздела /search), вы можете установить на сервер пакет ipset и забанить ботов простым shell-скриптом:

Ipset -N ban iphash tail -f access.log | while read LINE; do echo "$LINE" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A ban "${L%% *}"; done

Если формат лог-файлов нестандартный (не combined) или требуется банить по иным признакам, нежели статус ответа, - может потребоваться заменить cut на регулярное выражение.

5. Баним по геопризнаку

Нестандартный код ответа 444 может пригодиться еще и для оперативного бана клиентов по геопризнаку. Вы можете жестко ограничить отдельные страны, от которых испытываете неудобство. Скажем, вряд ли у интернет-магазина фотоаппаратов из Ростова-на-Дону много пользователей в Египте. Это не очень хороший способ (прямо скажем - отвратительный), поскольку данные GeoIP неточны, а ростовчане иногда летают в Египет на отдых. Но если вам терять нечего, то следуйте инструкциям:

  1. Подключите к nginx GeoIP-модуль (wiki.nginx.org/HttpGeoipModule).
  2. Выведите информацию о геопривязке в access log.
  3. Далее, модифицировав приведенный выше шелл-скрипт, проgrepайте accesslog nginx’а и добавьте отфутболенных по географическому признаку клиентов в бан.

Если, к примеру, боты по большей части были из Китая, то это может помочь.

6. Нейронная сеть (PoC)

Наконец, вы можете повторить опыт хабрапользователя @SaveTheRbtz, который взял нейронную сеть PyBrain, запихал в нее лог и проанализировал запросы (habrahabr.ru/post/136237). Метод рабочий, хотя и не универсальный:). Но если вы действительно знаете внутренности своего сайта - а вы, как системный администратор, должны, - то у вас есть шансы, что в наиболее трагических ситуациях такой инструментарий на основе нейронных сетей, обучения и собранной заранее информации вам поможет. В этом случае весьма полезно иметь access.log до начала DDoS"а, так как он описывает практически 100% легитимных клиентов, а следовательно, отличный dataset для тренировки нейронной сети. Тем более глазами в логе боты видны не всегда.

Диагностика проблемы

Сайт не работает - почему? Его DDoS’ят или это баг движка, не замеченный программистом? Неважно. Не ищите ответа на этот вопрос. Если вы считаете, что ваш сайт могут атаковать, обратитесь к компаниям, предоставляющим защиту от атак, - у ряда анти-DDoS-сервисов первые сутки после подключения бесплатны - и не тратьте больше время на поиск симптомов. Сосредоточьтесь на проблеме. Если сайт работает медленно или не открывается вообще, значит, у него что-то не в порядке с производительностью, и - вне зависимости от того, идет ли DDoS-атака или нет, - вы, как профессионал, обязаны понять, чем это вызвано. Мы неоднократно были свидетелями того, как компания, испытывающая сложности с работой своего сайта из-за DDoS-атаки, вместо поиска слабых мест в движке сайта пыталась направлять заявления в МВД, чтобы найти и наказать злоумышленников. Не допускайте таких ошибок. Поиск киберпреступников - это трудный и длительный процесс, осложненный самой структурой и принципами работы сети Интернет, а проблему с работой сайта нужно решать оперативно. Заставьте технических специалистов найти, в чем кроется причина падения производительности сайта, а заявление смогут написать юристы.

7. Юзайте профайлер и отладчик

Для наиболее распространенной платформы создания веб-сайтов - PHP + MySQL - узкое место можно искать с помощью следующих инструментов:

  • профайлер Xdebug покажет, на какие вызовы приложение тратит больше всего времени;
  • встроенный отладчик APD и отладочный вывод в лог ошибок помогут выяснить, какой именно код выполняет эти вызовы;
  • в большинстве случаев собака зарыта в сложности и тяжеловесности запросов к базе данных. Здесь поможет встроенная в движок базы данных SQL-директива explain.

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

Пример приведен для PHP, но идея справедлива для любой платформы. Разработчик, пишущий программные продукты на каком бы то ни было языке программирования, должен уметь оперативно применять и отладчик, и профилировщик. Потренируйтесь заранее!

8. Анализируйте ошибки

Проанализируйте объем трафика, время ответа сервера, количество ошибок. Для этого смотрите логи. В nginx время ответа сервера фиксируется в логе двумя переменными: request_time и upstream_response_time. Первая - это полное время выполнения запроса, включая задержки в сети между пользователем и сервером; вторая сообщает, сколько бэкенд (Apache, php_fpm, uwsgi...) выполнял запрос. Значение upstream_response_time чрезвычайно важно для сайтов с большим количеством динамического контента и активным общением фронтенда с базой данных, им нельзя пренебрегать. В качестве формата лога можно использовать такой конфиг:

Log_format xakep_log "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent " ""$http_referer" "$http_user_agent" $request_time \ $upstream_response_time";

Это combined-формат с добавленными полями тайминга.

9. Отслеживайте количество запросов в секунду

Также посмотрите на число запросов в секунду. В случае nginx вы можете примерно оценить эту величину следующей shell-командой (переменная ACCESS_LOG содержит путь к журналу запросов nginx в combined-формате):

Echo $(($(fgrep -c "$(env LC_ALL=C date --date=@$(($(date \ +%s)-60)) +%d/%b/%Y:%H:%M)" "$ACCESS_LOG")/60))

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

10. Не забывайте про tcpdump

Многие забывают, что tcpdump - это обалденное средство диагностики. Я приведу пару примеров. В декабре 2011-го был обнаружен баг в ядре Linux, когда оно открывало TCP-соединение при выставленных флагах TCP-сегмента SYN и RST. Первым багрепорт отправил именно системный администратор из России, чей ресурс был атакован этим методом, - атакующие узнали об уязвимости раньше, чем весь мир. Ему, очевидно, такая диагностика помогла. Другой пример: у nginx есть одно не очень приятное свойство - он пишет в лог только после полной отработки запроса. Бывают ситуации, когда сайт лежит, ничего не работает и в логах ничего нет. Все потому, что все запросы, которые в данный момент загружают сервер, еще не выполнились. Tcpdump поможет и здесь.

Он настолько хорош, что я советовал людям не использовать бинарные протоколы до того, как они убедятся, что все в порядке, - ведь текстовые протоколы отлаживать tcpdump"ом легко, а бинарные – нет. Однако сниффер хорош как средство диагностики - в качестве средства поддержания production"а он страшен. Он легко может потерять сразу несколько пакетов и испортить вам историю пользователя. Смотреть его вывод удобно, и он пригодится для ручной диагностики и бана, но старайтесь ничего критичного на нем не основывать. Другое любимое многими средство «погрепать запросы» - ngrep - вообще по умолчанию пытается запросить в районе двух гигабайт несвопируемой памяти и только потом начинает уменьшать свои требования.

11. Атака или нет?

Как отличить DDoS-атаку, например, от эффекта рекламной кампании? Этот вопрос может показаться смешным, но эта тема не менее сложная. Бывают довольно курьезные случаи. У одних хороших ребят, когда они напряглись и основательно прикрутили кеширование, сайт слег на пару дней. Выяснилось, что в течение нескольких месяцев этот сайт незаметно датамайнили какие-то немцы и до оптимизации кеширования страницы сайта у этих немцев со всеми картинками грузились довольно долго. Когда страница начала выдаваться из кеша моментально, бот, у которого не было никаких тайм-аутов, тоже начал собирать их моментально. Тяжело пришлось. Случай особенно сложный по той причине, что если вы сами изменили настройку (включили кеширование) и сайт после этого перестал работать, то кто, по вашему и начальственному мнению, виноват? Вот-вот. Если вы наблюдаете резкий рост числа запросов, то посмотрите, например, в Google Analytics, кто приходил на какие страницы.

Тюнинг веб-сервера

Какие еще есть ключевые моменты? Конечно, вы можете поставить «умолчальный» nginx и надеяться, что у вас все будет хорошо. Однако хорошо всегда не бывает. Поэтому администратор любого сервера должен посвятить немало времени тонкой настройке и тюнингу nginx.

12. Лимитируем ресурсы (размеры буферов) в nginx

Про что нужно помнить в первую очередь? Каждый ресурс имеет лимит. Прежде всего это касается оперативной памяти. Поэтому размеры заголовков и всех используемых буферов нужно ограничить адекватными значениями на клиента и на сервер целиком. Их обязательно нужно прописать в конфиге nginx.

  • client_header_buffer_size_ _ Задает размер буфера для чтения заголовка запроса клиента. Если строка запроса или поле заголовка запроса не помещаются полностью в этот буфер, то выделяются буферы большего размера, задаваемые директивой large_client_header_buffers.
  • large_client_header_buffers Задает максимальное число и размер буферов для чтения большого заголовка запроса клиента.
  • client_body_buffer_size Задает размер буфера для чтения тела запроса клиента. Если тело запроса больше заданного буфера, то все тело запроса или только его часть записывается во временный файл.
  • client_max_body_size Задает максимально допустимый размер тела запроса клиента, указываемый в поле «Content-Length» заголовка запроса. Если размер больше заданного, то клиенту возвращается ошибка 413 (Request Entity Too Large).

13. Настраиваем тайм-ауты в nginx

Ресурсом является и время. Поэтому следующим важным шагом должна стать установка всех тайм-аутов, которые опять же очень важно аккуратно прописать в настройках nginx.

  • reset_timedout_connection on; Помогает бороться с сокетами, зависшими в фазе FIN-WAIT.
  • client_header_timeout Задает тайм-аут при чтении заголовка запроса клиента.
  • client_body_timeout Задает тайм-аут при чтении тела запроса клиента.
  • keepalive_timeout Задает тайм-аут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера. Многие боятся задавать здесь крупные значения, но мы не уверены, что этот страх оправдан. Опционально можно выставить значение тайм-аута в HTTP-заголовке Keep-Alive, но Internet Explorer знаменит тем, что игнорирует это значение
  • send_timeout Задает тайм-аут при передаче ответа клиенту. Если по истечении этого времени клиент ничего не примет, соединение будет закрыто.

Сразу вопрос: какие параметры буферов и тайм-аутов правильные? Универсального рецепта тут нет, в каждой ситуации они свои. Но есть проверенный подход. Нужно выставить минимальные значения, при которых сайт остается в работоспособном состоянии (в мирное время), то есть страницы отдаются и запросы обрабатываются. Это определяется только тестированием - как с десктопов, так и с мобильных устройств. Алгоритм поиска значений каждого параметра (размера буфера или тайм-аута):

  1. Выставляем математически минимальное значение параметра.
  2. Запускаем прогон тестов сайта.
  3. Если весь функционал сайта работает без проблем - параметр определен. Если нет - увеличиваем значение параметра и переходим к п. 2.
  4. Если значение параметра превысило даже значение по умолчанию - это повод для обсуждения в команде разработчиков.

В ряде случаев ревизия данных параметров должна приводить к рефакторингу/редизайну сайта. Например, если сайт не работает без трехминутных AJAX long polling запросов, то нужно не тайм-аут повышать, а long polling заменять на что-то другое - ботнет в 20 тысяч машин, висящий на запросах по три минуты, легко убьет среднестатистический дешевый сервер.

14. Лимитируем соединия в nginx (limit_conn и limit_req)

В nginx также есть возможность лимитировать соединения, запросы и так далее. Если вы не уверены в том, как поведет себя определенная часть вашего сайта, то в идеале вам нужно протестировать ее, понять, сколько запросов она выдержит, и прописать это в конфигурации nginx. Одно дело, когда сайт лежит и вы способны прийти и поднять его. И совсем другое дело - когда он лег до такой степени, что сервер ушел в swap. В этом случае зачастую проще перезагрузиться, чем дождаться его триумфального возвращения.

Предположим, что на сайте есть разделы с говорящими названиями /download и /search. При этом мы:

  • не хотим, чтобы боты (или люди с чересчур ретивыми рекурсивными download-менеджерами) забили нам таблицу TCP-соединений своими закачками;
  • не хотим, чтобы боты (или залетные краулеры поисковых систем) исчерпали вычислительные ресурсы СУБД множеством поисковых запросов.

Для этих целей сгодится конфигурация следующего вида:

Http { limit_conn_zone $binary_remote_addr zone=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; server { location /download/ { limit_conn download_c 1; # Прочая конфигурация location } location /search/ { limit_req zone=search_r burst=5; # Прочая конфигурация location } } }

Обычно имеет прямой смысл установить ограничения limit_conn и limit_req для locations, в которых находятся дорогостоящие к выполнению скрипты (в примере указан поиск, и это неспроста). Ограничения необходимо выбирать, руководствуясь результатами нагрузочного и регрессионного тестирования, а также здравым смыслом.

Обратите внимание на параметр 10m в примере. Он означает, что на расчет данного лимита будет выделен словарь с буфером в 10 мегабайт и ни мегабайтом более. В данной конфигурации это позволит отслеживать 320 000 TCP-сессий. Для оптимизации занимаемой памяти в качестве ключа в словаре используется переменная $binary_remote_addr, которая содержит IP-адрес пользователя в бинарном виде и занимает меньше памяти, чем обычная строковая переменная $remote_addr. Нужно заметить, что вторым параметром к директиве limit_req_zone может быть не только IP, но и любая другая переменная nginx, доступная в данном контексте, - например, в случае, когда вы не хотите обеспечить более щадящий режим для прокси, можно использовать $binary_remote_addr$http_user_agent или $binary_remote_addr$http_cookie_myc00kiez - но использовать такие конструкции нужно с осторожностью, поскольку, в отличие от 32-битного $binary_remote_addr, эти переменные могут быть существенно большей длины и декларированные вами «10m» могут скоропостижно закончиться.

Тренды в DDoS

  1. Непрерывно растет мощность атак сетевого и транспортного уровня. Потенциал среднестатистической атаки типа SYN-флуд достиг уже 10 миллионов пакетов в секунду.
  2. Особым спросом в последнее время пользуются атаки на DNS. UDP-флуд валидными DNS-запросами со spoof’ленными IP-адресами источника - это одна из наиболее простых в реализации и сложных в плане противодействия атак. Многие крупные российские компании (в том числе хостинги) испытывали в последнее время проблемы в результате атак на их DNS-серверы. Чем дальше, тем таких атак будет больше, а их мощность будет расти.
  3. Судя по внешним признакам, большинство ботнетов управляется не централизованно, а посредством пиринговой сети. Это дает злоумышленникам возможность синхронизировать действия ботнета во времени - если раньше управляющие команды распространялись по ботнету в 5 тысяч машин за десятки минут, то теперь счет идет на секунды, а ваш сайт может неожиданно испытать мгновенный стократный рост числа запросов.
  4. Доля ботов, оснащенных полноценным браузерным движком с JavaScript, все еще невелика, но непрерывно растет. Такую атаку сложнее отбить встроенными подручными средствами, поэтому Самоделкины должны с опасением следить за этим трендом.

готовим ОС

Помимо тонкой настройки nginx, нужно позаботиться о настройках сетевого стека системы. По меньшей мере - сразу включить net.ipv4.tcp_syncookies в sysctl, чтобы разом защитить себя от атаки SYN-flood небольшого размера.

15. Тюним ядро

Обратите внимание на более продвинутые настройки сетевой части (ядра) опять же по тайм-аутам и памяти. Есть более важные и менее важные. В первую очередь надо обратить внимание на:

  • net.ipv4.tcp_fin_timeout Время, которое сокет проведет в TCP-фазе FIN-WAIT-2 (ожидание FIN/ACK-сегмента).
  • net.ipv4.tcp_{,r,w}mem Размер приемного буфера сокетов TCP. Три значения: минимум, значение по умолчанию и максимум.
  • net.core.{r,w}mem_max То же самое для не TCP буферов.

При канале в 100 Мбит/с значения по умолчанию еще как-то годятся; но если у вас в наличии хотя бы гигабит в cекунду, то лучше использовать что-то вроде:

Sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w net.ipv4.tcp_wmem="4096 65536 8388608" sysctl -w net.ipv4.tcp_fin_timeout=10

16. Ревизия /proc/sys/net/**

Идеально изучить все параметры /proc/sys/net/**. Надо посмотреть, насколько они отличаются от дефолтных, и понять, насколько они адекватно выставлены. Linux-разработчик (или системный администратор), разбирающийся в работе подвластного ему интернет-сервиса и желающий его оптимизировать, должен с интересом прочитать документацию всех параметров сетевого стека ядра. Возможно, он найдет там специфические для своего сайта переменные, которые помогут не только защитить сайт от злоумышленников, но и ускорить его работу.

Не бояться!

Успешные DDoS-атаки изо дня в день гасят e-commerce, сотрясают СМИ, c одного удара отправляют в нокаут крупнейшие платежные системы. Миллионы интернет-пользователей теряют доступ к критичной информации. Угроза насущна, поэтому нужно встречать ее во всеоружии. Выполните домашнюю работу, не бойтесь и держите голову холодной. Вы не первый и не последний, кто столкнется с DDoS-атакой на свой сайт, и в ваших силах, руководствуясь своими знаниями и здравым смыслом, свести последствия атаки к минимуму.

Введение

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

Что такое DDoS?

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

DDoS-атаки (Distributed Denial of Service - распределённые атаки класса "отказ в обслуживании") - это атаки на вычислительные системы (сетевые ресурсы или каналы связи), имеющие целью сделать их недоступными для легитимных пользователей. DDoS-атаки заключаются в одновременной отправке в сторону определенного ресурса большого количества запросов с одного или многих компьютеров, расположенных в сети Интернет. Если тысячи, десятки тысяч или миллионы компьютеров одновременно начнут посылать запросы в адрес определенного сервера (или сетевого сервиса), то либо не выдержит сервер, либо не хватит полосы пропускания канала связи к этому серверу. В обоих случаях, пользователи сети Интернет не смогут получить доступ к атакуемому серверу, или даже ко всем серверам и другим ресурсам, подключенным через заблокированный канал связи.

Некоторые особенности DDoS-атак

Против кого и с какой целью запускаются DDoS-атаки?

DDoS-атаки могут быть запущены против любого ресурса, представленного в сети Интернет. Наибольший ущерб от DDoS-атак получают организации, чей бизнес непосредственно связан с присутствием в Интернет - банки (предоставляющие услуги Интернет-банкинга), интернет-магазины, торговые площадки, аукционы, а также другие виды деятельности, активность и эффективность которых существенно зависит от представительства в Интернет (турфирмы, авиакомпании, производители оборудования и программного обеспечения, и т.д.) DDoS-атаки регулярно запускаются против ресурсов таких гигантов мировой IT-индустрии, как IBM, Cisco Systems, Microsoft и других. Наблюдались массированные DDoS-атаки против eBay.com, Amazon.com, многих известных банков и организаций.

Очень часто DDoS-атаки запускаются против web-представительств политических организаций, институтов или отдельных известных личностей. Многим известно про массированные и длительные DDoS-атаки, которые запускались против web-сайта президента Грузии во время грузино-осетинской войны 2008 года (web-сайт был недоступен в течение нескольких месяцев, начиная с августа 2008 года), против серверов правительства Эстонии (весной 2007 года, во время беспорядков, связанных с переносом Бронзового солдата), про периодические атаки со стороны северокорейского сегмента сети Интернет против американских сайтов.

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

Каковы механизмы запуска DDoS-атак?

Наиболее популярным и опасным способом запуска DDoS-атак является использование ботнетов (BotNets). Ботнет - это множество компьютеров, на которых установлены специальные программные закладки (боты), в переводе с английского ботнет - это сеть ботов. Боты как правило разрабатываются хакерами индивидуально для каждого ботнета, и имеют основной целью отправку запросов в сторону определенного ресурса в Интернет по команде, получаемой с сервера управления ботнетом - Botnet Command and Control Server. Сервером управления ботнетом управляет хакер, либо лицо, купившее у хакера данный ботнет и возможность запускать DDoS-атаку. Боты распространяются в сети Интернет различными способами, как правило - путем атак на компьютеры, имеющие уязвимые сервисы, и установки на них программных закладок, либо путем обмана пользователей и принуждения их к установке ботов под видом предоставления других услуг или программного обеспечения, выполняющего вполне безобидную или даже полезную функцию. Способов распространения ботов много, новые способы изобретаются регулярно.

Если ботнет достаточно большой - десятки или сотни тысяч компьютеров - то одновременная отправка со всех этих компьютеров даже вполне легитимных запросов в сторону определённого сетевого сервиса (например, web-сервиса на конкретном сайте) приведет к исчерпанию ресурсов либо самого сервиса или сервера, либо к исчерпанию возможностей канала связи. В любом случае, сервис будет недоступен пользователям, и владелец сервиса понесет прямые, косвенные и репутационные убытки. А если каждый из компьютеров отправляет не один запрос, а десятки, сотни или тысячи запросов в секунду, то ударная сила атаки увеличивается многократно, что позволяет вывести из строя даже самые производительные ресурсы или каналы связи.

Некоторые атаки запускаются более "безобидными" способами. Например, флэш-моб пользователей определенных форумов, которые по договоренности запускают в определенное время "пинги" или другие запросы со своих компьютеров в сторону конкретного сервера. Другой пример - размещение ссылки на web-сайт на популярных Интернет-ресурсах, что вызывает наплыв пользователей на целевой сервер. Если "фейковая" ссылка (внешне выглядит как ссылка на один ресурс, а на самом деле ссылается на совершенно другой сервер) ссылается на web-сайт небольшой организации, но размещена на популярных серверах или форумах, такая атака может вызвать нежелательный для данного сайта наплыв посетителей. Атаки последних двух типов редко приводят к прекращению доступности серверов на правильно организованных хостинг-площадках, однако такие примеры были, и даже в России в 2009 году.

Помогут ли традиционные технические средства защиты от DDoS-атак?

Особенностью DDoS-атак является то, что они состоят из множества одновременных запросов, из которых каждый в отдельности вполне "легален", более того - эти запросы посылают компьютеры (зараженные ботами), которые вполне себе могут принадлежать самым обычным реальным или потенциальным пользователям атакуемого сервиса или ресурса. Поэтому правильно идентифицировать и отфильтровать именно те запросы, которые составляют DDoS-атаку, стандартными средствами очень сложно. Стандартные системы класса IDS/IPS (Intrusion Detection / Prevention System - система обнаружения / предотвращения сетевых атак) не найдут в этих запросах "состава преступления", не поймут, что они являются частью атаки, если только они не выполняют качественный анализ аномалий трафика. А если даже и найдут, то отфильтровать ненужные запросы тоже не так просто - стандартные межсетевые экраны и маршрутизаторы фильтруют трафик на основании четко определяемых списков доступа (правил контроля), и не умеют "динамически" подстраиваться под профиль конкретной атаки. Межсетевые экраны могут регулировать потоки трафика, основываясь на таких критериях, как адреса отправителя, используемые сетевые сервисы, порты и протоколы. Но в DDoS-атаке принимают участие обычные пользователи Интернет, которые отправляют запросы по наиболее распространенным протоколам - не будет же оператор связи запрещать всем и всё подряд? Тогда он просто прекратит оказывать услуги связи своим абонентам, и прекратит обеспечивать доступ к обслуживаемым им сетевым ресурсам, чего, собственно, и добивается инициатор атаки.

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

Защита от DDoS-атак имеющимися средствами

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

Начнем с рекомендаций Cisco Systems. Специалисты этой компании рекомендуют обеспечить защиту фундамента сети (Network Foundation Protection), которая включает защиту уровня администрирования сетью (Control Plane), уровня управления сетью (Management Plane), и защиту уровня данных в сети (Data Plane).

Защита уровня администрирования (Management Plane)

Термин "уровень администрирования" охватывает весь трафик, который обеспечивает управление или мониторинг маршрутизаторов и другого сетевого оборудования. Этот трафик направляется в сторону маршрутизатора, или исходит от маршрутизатора. Примерами такого трафика являются Telnet, SSH и http(s) сессии, syslog-сообщения, SNMP-трапы. Общие best practices включают:

Обеспечение максимальной защищенности протоколов управления и мониторинга, использование шифрования и аутентификации:

  • протокол SNMP v3 предусматривает средства защиты, в то время как SNMP v1 практически не предусматривает, а SNMP v2 предусматривает лишь частично--установленные по умолчанию значения Community всегда нужно менять;
  • должны использоваться различные значения для public и private community;
  • протокол telnet передает все данные, в том числе логин и пароль, в открытом виде (если трафик перехватывается, эта информация легко может быть извлечена и использована), вместо него рекомендуется всегда использовать протокол ssh v2;
  • аналогично, вместо http используйте https для доступа к оборудованию;строгий контроль доступа к оборудованию, включая адекватную парольную политику, централизованные аутентификацию, авторизацию и аккаунтинг (модель AAA) и локальной аутентификации с целью резервирования;

Реализацию ролевой модели доступа;

Контроль разрешенных подключений по адресу источника с помощью списков контроля доступа;

Отключение неиспользуемых сервисов, многие из которых включены по-умолчанию (либо их забыли отключить после диагностики или настройки системы);

Мониторинг использования ресурсов оборудования.

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

  • PAD (packet assembler/disassembler);

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

Желательно осуществлять мониторинг использования ресурсов оборудования. Это позволит, во первых, вовремя заметить перегруженность отдельных элементов сети и принять меры по предотвращению аварии, и во вторых, обнаружить DDoS-атаки и аномалии, если их обнаружение не предусмотрено специальными средствами. Как минимум, рекомендуется осуществлять мониторинг:

  • загрузки процессора
  • использования памяти
  • загруженности интерфейсов маршрутизаторов.

Мониторинг можно осуществлять "вручную" (периодически отслеживая состояние оборудования), но лучше конечно это делать специальными системами мониторинга сети или мониторинга информационной безопасности (к последним относится Cisco MARS).

Защита уровня управления (Control Plane)

Уровень управления сетью включает весь служебный трафик, который обеспечивает функционирование и связность сети в соответствии с заданной топологией и параметрами. Примерами трафика уровня управления являются: весь трафик, генерируемый или предназначенный для процессора маршрутизации (route processor - RR), в том числе все протоколы маршрутизации, в некоторых случаях - протоколы SSH и SNMP, а также ICMP. Любая атака на функционирование процессора маршрутизации, а особенно - DDoS-атаки, могут повлечь существенные проблемы и перерывы в функционировании сети. Ниже описаны best practices для защиты уровня управления.

Control Plane Policing

Заключается в использовании механизмов QoS (Quality of Service - качество обслуживания) для предоставления более высокого приоритета трафику уровня управления, чем пользовательскому трафику (частью которого являются и атаки). Это позволит обеспечить работу служебных протоколов и процессора маршрутизации, то есть сохранить топологию и связность сети, а также собственно маршрутизацию и коммутацию пакетов.

IP Receive ACL

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

  • применяются уже непосредственно на маршрутизирующем оборудовании перед тем, как трафик достигает процессора маршрутизации, обеспечивая "персональную" защиту оборудования;
  • применяются уже после того, как трафик прошел обычные списки контроля доступа - являются последним уровнем защиты на пути к процессору маршрутизации;
  • применяются ко всему трафику (и внутреннему, и внешнему, и транзитному по отношению к сети оператора связи).

Infrastructure ACL

Обычно, доступ к собственным адресам маршрутизирующего оборудования необходим только для хостов собственной сети оператора связи, однако бывают и исключения (например, eBGP, GRE, туннели IPv6 over IPv4, и ICMP). Инфраструктурные списки контроля доступа:

  • обычно устанавливаются на границе сети оператора связи ("на входе в сеть");
  • имеют целью предотвратить доступ внешних хостов к адресам инфраструктуры оператора;
  • обеспечивают беспрепятственный транзит трафика через границу операторской сети;
  • обеспечивают базовые механизмы защиты от несанкционированной сетевой активности, описанные в RFC 1918, RFC 3330, в частности, защиту от спуфинга (spoofing, использование поддельных IP адресов источника с целью маскировки при запуске атаки).

Neighbour Authentication

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

Настройка BGP

  • фильтрация префиксов BGP (BGP prefix filters) - используется для того, чтобы информация о маршрутах внутренней сети оператора связи не распространялась в Интернет (иногда эта информация может оказаться очень полезной для злоумышленника);
  • ограничение количества префиксов, которые могут быть приняты от другого маршрутизатора (prefix limiting) - используется для защиты от DDoS атак, аномалий и сбоев в сетях пиринг-партнеров;
  • использование параметров BGP Community и фильтрация по ним также могут использоваться для ограничения распространения маршрутной информации;
  • мониторинг BGP и сопоставление данных BGP с наблюдаемым трафиком является одним из механизмов раннего обнаружения DDoS-атак и аномалий;
  • фильтрация по параметру TTL (Time-to-Live) - используется для проверки BGP-партнёров.

Если атака по протоколу BGP запускается не из сети пиринг-партнера, а из более удаленной сети, то параметр TTL у BGP-пакетов будет меньшим, чем 255. Можно сконфигурировать граничные маршрутизаторы оператора связи так, чтобы они отбрасывали все BGP пакеты со значением TTL < 255, а маршрутизаторы пиринг-партнеров наоборот - чтобы они генерировали только BGP-пакеты с параметром TTL=255. Так как TTL при каждом хопе маршрутизации уменьшается на 1, данный нехитрый приём позволит легко избежать атак из-за границ вашего пиринг-партнера.

Защита уровня данных в сети (Data Plane)

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

Unicast Reverse Path Forwarding (uRPF)

Нередко атаки запускаются с использованием технологии спуфинга (spoofing) - IP-адреса источника фальсифицируются с тем, чтобы источник атаки невозможно было отследить. Фальсифицированные IP-адреса могут быть:

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

Реализация на маршрутизаторах механизма uRPF позволит предотвратить маршрутизацию пакетов с адресами источника, несовместимыми или неиспользуемыми в сегменте сети, из которого они поступили на интерфейс маршрутизатора. Данная технология позволяет иногда достаточно эффективно отфильтровать нежелательный трафик наиболее близко к его источнику, то есть наиболее эффективно. Многие DDoS-атаки (включая известные Smurf и Tribal Flood Network) используют механизм спуфинга и постоянной смены адресов источника для того, обмануть стандартные средства защиты и фильтрации трафика.

Использование механизма uRPF операторами связи, предоставляющим абонентам доступ в Интернет, позволит эффективно предотвратить DDoS-атаки с применением технологии спуфинга, направленные со стороны собственных абонентов против Интернет-ресурсов. Таким образом, DDoS-атака подавляется наиболее близко к её источнику, то есть наиболее эффективно.

Remotely Triggered Blackholes (RTBH)

Управляемые черные дыры (Remotely Triggered Blackholes) используются для "сбрасывания" (уничтожения, отправления "в никуда") трафика, поступающего в сеть, путем маршрутизации данного трафика на специальные интерфейсы Null 0. Данную технологию рекомендуется использовать на границе сети для сброса содержащего DDoS-атаку трафика при его поступлении в сеть. Ограничением (причем существенным) данного метода является то, что он применяется ко всему трафику, предназначенному для определенного хоста или хостов, являющимися целью атаки. Таким образом, данный метод может использоваться в случаях, когда массированной атаке подвергается один или несколько хостов, что вызывает проблемы не только для атакуемых хостов, но также и для других абонентов и сети оператора связи в целом.

Управление черными дырами может осуществляться как вручную, так и посредством протокола BGP.

QoS Policy Propagation Through BGP (QPPB)

Управление QoS через BGP (QPPB) полволяет управлять политиками приоритета для трафика, предназначенного определенной автономной системе либо блоку IP-адресов. Данный механизм может оказаться очень полезен для операторов связи и крупных предприятий, в том числе и для управления уровнем приоритета для нежелательного трафика или трафика, содержащего DDoS-атаку.

Sink Holes

В некоторых случаях требуется не полностью удалять трафик с использованием черных дыр, а отводить его в сторону от основных каналов или ресурсов для последующего мониторинга и анализа. Именно для этого и предназначены "отводные каналы" или Sink Holes.

Sink Holes используются чаще всего в следующих случаях:

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

Защита от DDoS с использованием специальных средств

Концепция Cisco Clean Pipes - родоначальник отрасли

Современную концепцию защиты от DDoS-атак разработала (да, да, вы не удивитесь! :)) компания Cisco Systems. Разработанная Cisco концепция получила название Cisco Clean Pipes ("очищенные каналы"). В детально разработанной уже почти 10 лет назад концепции довольно подробно описывались основные принципы и технологии защиты от аномалий в трафике, большая часть которых используется и сегодня, в том числе другими производителями.

Концепция Cisco Clean Pipes предполагает следующие принципы обнаружения и подавления DDoS-атак.

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

Специальные детекторы анализируют трафик в этих точках, строят (изучают) профиль трафика в его нормальном состоянии, при появлении DDoS-атаки или аномалии - обнаруживают её, изучают и динамически формируют её характеристики. Далее, информация анализируется оператором системы, и в полуавтоматическом или автоматическом режиме запускается процесс подавления атаки. Подавление заключается в том, что трафик, предназначенный "жертве", динамически перенаправляется через устройство фильтрации, на котором к этому трафику применяются фильтры, сформированные детектором и отражающие индивидуальный характер этой атаки. Очищенный трафик вводится в сеть и отправляется получателю (потому и возникло название Clean Pipes - абонент получает "чистый канал", не содержащий атаку).

Таким образом, весь цикл защиты от DDoS-атак включает следующие основные стадии:

  • Обучение контрольным характеристикам трафика (профилирование, Baseline Learning)
  • Обнаружение атак и аномалий (Detection)
  • Перенаправление трафика с целью его пропуска через устройство очистки (Diversion)
  • Фильтрация трафика с целью подавления атак (Mitigation)
  • Ввод трафика обратно в сеть и отправка адресату (Injection).

Н есколько особенностей.
В качестве детекторов могут использоваться два типа устройств:

  • Детекторы производства Cisco Systems - сервисные модули Cisco Traffic Anomaly Detector Services Module, предназначенные для установки в шасси Cisco 6500/7600.
  • Детекторы производства Arbor Networks - устройства Arbor Peakflow SP CP.

Ниже приведена таблица сравнения детекторов Cisco и Arbor.

Параметр

Cisco Traffic Anomaly Detector

Arbor Peakflow SP CP

Получение информации о трафике для анализа

Используется копия трафика, выделяемая на шасси Cisco 6500/7600

Используется Netflow-данные о трафике, получаемые с маршрутизаторов, допускается регулировать выборку (1: 1, 1: 1 000, 1: 10 000 и т.д.)

Используемые принципы выявления

Сигнатурный анализ (misuse detection) и выявление аномалий (dynamic profiling )

Преимущественно выявление аномалий; сигнатурный анализ используется, но сигнатуры имеют общий характер

Форм-фактор

сервисные модули в шасси Cisco 6500/7600

отдельные устройства (сервера)

Производительность

Анализируется трафик до 2 Гбит/с

Практически неограниченна (можно уменьшать частоту выборки)

Масштабируемость

Установка до 4 модулей Cisco Detector SM в одно шасси (однако модули действуют независимо друг от друга)

Возможность использования нескольких устройств в рамках единой системы анализа, одному из которых присваивается статус Leader

Мониторинг трафика и маршрутизации в сети

Функционал практически отсутствует

Функционал очень развит. Многие операторы связи покупают Arbor Peakflow SP из-за глубокого и проработанного функционала по мониторингу трафика и маршрутизации в сети

Предоставление портала (индивидуального интерфейса для абонента, позволяющего мониторить только относящуюся непосредственно к нему часть сети)

Не предусмотрено

Предусмотрено. Является серьезным преимуществом данного решения, так как оператор связи может продавать индивидуальные сервисы по защите от DDoS своим абонентам.

Совместимые устройства очистки трафика (подавления атак)

Cisco Guard Services Module

Arbor Peakflow SP TMS; Cisco Guard Services Module.
Защита центров обработки данных (Data Centre) при их подключении к Интернет Мониторинг downstream-подключений абонентских сетей к сети оператора связи Обнаружение атак на upstream -подключениях сети оператора связи к сетям вышестоящих провайдеров Мониторинг магистрали оператора связи
В последней строке таблицы приведены сценарии использования детекторов от Cisco и от Arbor, которые рекомендовались Cisco Systems. Данные сценарии отражены на приведенной ниже схеме.

В качестве устройства очистки трафика Cisco рекомендует использовать сервисный модуль Cisco Guard, который устанавливается в шасси Cisco 6500/7600 и по команде, получаемой с детектора Cisco Detector либо с Arbor Peakflow SP CP осуществляется динамическое перенаправление, очистка и обратный ввод трафика в сеть. Механизмы перенаправления - это либо BGP апдейты в сторону вышестоящих маршрутизаторов, либо непосредственные управляющие команды в сторону супервизора с использованием проприетарного протокола. При использовании BGP-апдейтов, вышестоящему маршрутизатору указывается новое значение nex-hop для трафика, содержащего атаку - так, что этот трафик попадает на сервер очистки. При этом необходимо позаботиться о том, чтобы эта информация не повлекла организацию петли (чтобы нижестоящий маршрутизатор при вводе на него очищенного трафика не пробовал снова завернуть этот трафик на устройство очистки). Для этого могут использоваться механизмы контроля распространения BGP-апдейтов по параметру community, либо использование GRE-туннелей при вводе очищенного трафика.

Такое положение дел существовало до тех пор, пока Arbor Networks существенно не расширил линейку продуктов Peakflow SP и не стал выходить на рынок с полностью самостоятельным решением по защите от DDoS-атак.

Появление Arbor Peakflow SP TMS

Несколько лет назад, компания Arbor Networks решила развивать свою линейку продуктов по защите от DDoS-атак самостоятельно и вне зависимости от темпов и политики развития данного направления у Cisco. Решения Peakflow SP CP имели принципиальные преимущества перед Cisco Detector, так как они анализировали flow-информацию с возможностью регулирования частоты выборки, а значит не имели ограничений по использованию в сетях операторов связи и на магистральных каналах (в отличие от Cisco Detector, которые анализируют копию трафика). Кроме того, серьезным преимуществом Peakflow SP явилась возможность для операторов продавать абонентам индивидуальный сервис по мониторингу и защите их сегментов сети.

Ввиду этих или других соображений, Arbor существенно расширил линейку продуктов Peakflow SP. Появился целый ряд новых устройств:

Peakflow SP TMS (Threat Management System) - осуществляет подавление DDoS-атак путем многоступенчатой фильтрации на основе данных, полученных от Peakflow SP CP и от лаборатории ASERT, принадлежащей Arbor Networks и осуществляющей мониторинг и анализ DDoS-атак в Интернете;

Peakflow SP BI (Business Intelligence) - устройства, обеспечивающие масштабирование системы, увеличивая число подлежащих мониторингу логических объектов и обеспечивая резервирование собираемых и анализируемых данных;

Peakflow SP PI (Portal Interface) - устройства, обеспечивающие увеличение абонентов, которым предоставляется индивидуальный интерфейс для управления собственной безопасностью;

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

Принципы работы системы Arbor Peakflow SP остались в основном такими же, как и Cisco Clean Pipes, однако Arbor регулярно производит развитие и улучшение своих систем, так что на данный момент функциональность продуктов Arbor по многим параметрам лучше, чем у Cisco, в том числе и по производительности.

На сегодняшний день, максимальная производительность Cisco Guard модет быть достигнута путем создания кластера из 4-х модулей Guard в одной шасси Cisco 6500/7600, при этом полноценная кластеризация этих устройств не реализована. В то же время, верхние модели Arbor Peakflow SP TMS имеют производительность до 10 Гбит/с, и в свою очередь могут кластеризоваться.

После того, как Arbor стал позиционировать себя в качестве самостоятельного игрока на рынке систем обнаружения и подавления DDoS-атак, Cisco стала искать партнера, который бы обеспечил ей так необходимый мониторинг flow-данных о сетевом трафике, но при этом не являлся бы прямым конкурентом. Такой компанией стала Narus, производящая системы мониторинга трафика на базе flow-данных (NarusInsight), и заключившая партнерство с Cisco Systems. Однако серьезного развития и присутствия на рынке это партнерство не получило. Более того, по некоторым сообщениям, Cisco не планирует инвестиции в свои решения Cisco Detector и Cisco Guard, фактически, оставляя данную нишу на откуп компании Arbor Networks.

Некоторые особенности решений Cisco и Arbor

Стоит отметить некоторые особенности решений Cisco и Arbor.

  1. Cisco Guard можно использовать как совместно с детектором, так и самостоятельно. В последнем случае он устанавливается в режим in-line и выполняет функции детектора анализируя трафик, а при необходимости включает фильтры и осуществляет очистку трафика. Минус этого режима заключается в том, что, во первых, добавляется дополнительная точка потенциально отказа, и во-вторых, дополнительная задержка трафика (хотя она и небольшая до тех пор, пока не включается механизм фильтрации). Рекомендуемый для Cisco Guard режим - ожидания команды на перенаправление трафика, содержащего атаку, его фильтрации и ввода обратно в сеть.
  2. Устройства Arbor Peakflow SP TMS также могут работать как в режиме off-ramp, так и в режиме in-line. В первом случае устройство пассивно ожидает команды на перенаправление содержащего атаку трафика с целью его очистки и ввода обратно в сеть. Во втором пропускает через себя весь трафик, вырабатывает на его основе данные в формате Arborflow и передает их на Peakflow SP CP для анализа и обнаружения атак. Arborflow - это формат, похожий на Netflow, но доработанный компанией Arbor для своих систем Peakflow SP. Мониторинг трафика и выявление атак осуществляет Peakflow SP CP на основании получаемых от TMS данных Arborflow. При обнаружении атаки, оператор Peakflow SP CP дает команду на её подавление, после чего TMS включает фильтры и очищает трафик от атаки. В отличие от Cisco, сервер Peakflow SP TMS не может работать самостоятельно, для его работы требуется наличие сервера Peakflow SP CP, который производит анализ трафика.
  3. Сегодня большинство специалистов сходятся во мнении, что задачи защиты локальных участков сети (например, подключение ЦОДов или подключение downstream-сетей) эффек

Как происходит DDoS-атака и какие ее виды существуют? Понимание проблемы это уже половина ее решения. Поэтому рассмотрим основные типы DDoS и с какой целью их осуществляют на сайты.

DDoS (Distributed Denial of Service attack) – это целенаправленный комплекс действий для выведения из строя, сбоя работы интернет-ресурса. Жертвой может стать любой ресурс, в том числе интернет-магазин, государственный сайт или игровой сервер. В большинстве подобных случаев злоумышленник использует для таких целей сеть компьютеров, которые заражены вирусом. Такая сеть называется ботнет. В нем присутствует координирующий главный сервер. Для запуска атаки хакер отправляет команду такому серверу, который в свою очередь дает сигнал каждому боту начать выполнение вредоносных сетевых запросов.

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

  • для развлечения . Примитивную атаку может организовать каждый, кто хоть немного разбирается в данной области. Правда, такая атака не анонимна и не эффективна, а те, кто ее совершают могут даже не догадываться об этом. Часто такие ситуации практикуют школьники для развлечения. Целью такой “забавы” может стать практически любой сайт в Интернете.
  • из-за личной неприязни . DDoS-атака на Ваш сайт может быть и по такой причине. Мало ли кому Вы перешли дорогу, это могут сделать и конкуренты, и любые другие люди, которым Ваш интернет-ресурс “не по душе”.
  • ради шантажа или вымогательства . Мошенники шантажируют в большинстве случаев крупные компании. Они требуют плату за то, чтобы прекратить атаку на сервера или за ее несовершение.
  • недобросовестная конкуренция . Часто такие атаки создаются для разрушения репутации сайта и потери клиентопотока.

Первые DDoS-атаки появились в 1996 году. Правда, особое внимание такое явление привлекло к себе в 1999 году, когда из рабочего строя были выведены мировые гиганты – Amazon, Yahoo, CNN, eBay, E-Trade. А принимать срочные меры по решению проблемы стали только в 2000 году, когда вновь были совершены воздействия на сервера ключевых компаний.

Типы DDoS.

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

HTTP GET

  • HTTP(S) GET-запрос - способ, запрашивающий данные на сервере. Этот запрос может “попросить” у сервера передать какой-то файл, изображение, страницу или скрипт, для отображения в веб-браузере.
  • HTTP(S) GET-флуд - DDoS атака прикладного уровня (7) модели OSI. Злоумышленник посылает мощный поток запросов на сервер для переполнения его ресурсов. В этом случае сервер перестает отвечать на запросы реальных посетителей.

HTTP POST

  • HTTP(S) POST-запрос - метод, суть которого лежит в том, что данные помещаются в тело запроса для последующей обработки на сервере. HTTP POST-запрос кодирует передаваемую информацию и помещает на форму, а затем отправляет этот контент на сервер. Этот метод используют, когда необходимо передавать большие объемы данных.
  • HTTP(S) POST-флуд - тип DDoS-атаки, при котором количество POST-запросов переполняют сервер, в итоге он не может ответить на них. Это влечет за собой аварийную остановку сервера с вытекающими последствиями.

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

ICMP-флуд (или Smurf-атака) . Довольно опасный тип атаки. Хакер отправляет поддельный ICMP-пакет, в котором адрес атакующего меняется на адрес жертвы. Все узлы присылают ответ на данный ping-запрос. Для этого в большинстве случает используют большую сеть, чтобы у компьютера-жертвы не было никаких шансов.

UDP флуд (или атака Fraggle) . По своему типу аналогичен ICMP флуду, правда в данном случае применяются UDP пакеты. Из-за насыщения полос пропускания происходит отказ в обслуживании сервера жертвы.

SYN-флуд . В основе такой атаки лежит запуск большого количества одновременных TCP-соединений через посылку SYN-пакета с несуществующим обратным адресом.

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

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

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

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

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

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

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

Использование специализированного программного и аппаратного обеспечение .

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

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

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

Устранение уязвимостей – тип защиты нацелен на устранение ошибок в системах или службах. К сожалению, такой способ защиты не работает против флуд-атак.

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

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

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

Как реагировать на угрозы мошенников, которые DDoS-сят Ваш онлайн-ресурс? Подробнее в следующей.

Только комплекс выше описанных мер поможет Вам защитить сайт от DDoS и уберечь свой сервис.

О DDoS-атаках. Базовые правила защиты ресурса в Сети, подробнее по .

9109 раз(а) 11 Сегодня просмотрено раз(а)

Заголовки новостей сегодня пестрят сообщениями о DDoS-атаках (Distributed Denial of Service). Распределенным атакам «отказ в обслуживании» подвержены любые организации, присутствующие в интернете. Вопрос не в том, атакуют вас, или нет, а в том, когда это случится. Государственные учреждения, сайты СМИ и электронной коммерции, сайты компаний, коммерческих и некоммерческих организаций – все они являются потенциальными целями DDoS-атак .

Кого атакуют?

По данным ЦБ, в 2016 году количество DDoS-атак на российские финансовые организации увеличилось почти вдвое. В ноябре DDoS-атаки были направлены на пять крупных российских банков. В конце прошлого года ЦБ сообщал о DDoS-атаках на финансовые организации, в том числе Центральный банк. «Целью атак было нарушение работы сервисов и, как следствие, подрыв доверия к этим организациям. Данные атаки были примечательны тем, что это было первое масштабное использование в России интернета вещей. В основном в атаке были задействованы интернет-видеокамеры и бытовые роутеры», - отмечали в службах безопасности крупных банков.

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

В феврале 2017 года технические службы Минздрава России отразили самую масштабную за последние годы DDoS-атаку, которая в пиковом режиме достигала 4 миллионов запросов в минуту. Предпринимались и DDoS-атаки на государственные реестры, но они также были безуспешны и не привели к каким-либо изменениям данных.

Однако жертвами DDoS-атак становятся как многочисленные организации и компании, на обладающие столь мощной «обороной». В 2017 году ожидается рост ущерба от киберугроз – программ-вымогателей, DDoS и атак на устройства интернета вещей.


Устройства IoT приобретают все большую популярность в качестве инструментов для осуществления DDoS-атак. Знаменательным событием стала предпринятая в сентябре 2016 года DDoS-атака с помощью вредоносного кода Mirai. В ней в роли средств нападения выступили сотни тысяч камер и других устройств из систем видеонаблюдения.

Она была осуществлена против французского хостинг-провайдера OVH. Это была мощнейшая DDoS-атака – почти 1 Тбит/с. Хакеры с помощью ботнета задействовали 150 тыс. устройств IoT, в основном камеры видеонаблюдения. Атаки с использованием ботнета Mirai положили начало появлению множества ботнетов из устройств IoT. По мнению экспертов, в 2017 году IoT-ботнеты по-прежнему будут одной из главных угроз в киберпространстве.


По данным отчета «2016 Verizon data breach incident report» (DBIR), в прошлом году количество DDoS-атак заметно выросло. В мире больше всего страдает индустрия развлечений, профессиональные организации, сфера образования, ИТ, ритейл.

Примечательная тенденция DDoS-атак – расширения «списка жертв». Он включает теперь представителей практически всех отраслей. Кроме того, совершенствуются методы нападения.
По данным Nexusguard, в конце 2016 года заметно выросло число DDoS-атак смешанного типа - с использованием сразу нескольких уязвимостей. Чаще всего им подвергались финансовые и государственные организации. Основной мотив кибепреступников (70% случаев) – кража данных или угроза их уничтожения с целью выкупа. Реже – политические или социальные цели. Вот почему важна стратегия защиты. Она может подготовиться к атаке и минимизировать ее последствия, снизить финансовые и репутационные риски.

Последствия атак

Каковы последствия DDoS-атаки? Во время атаки жертва теряет клиентов из-за медленной работы или полной недоступности сайта, страдает репутация бизнеса. Сервис-провайдер может заблокировать IP-адрес жертвы, чтобы минимизировать ущерб для других клиентов. Чтобы все восстановить, потребуется время, а возможно и деньги.


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

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


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


По данным опроса компании HaltDos , количество DDoS-атак растет ежегодно на 200%, ежедневно в мире сообщают о 2 тыс. атаках такого типа. Стоимость организации DDoS-атаки недельной продолжительности – всего порядка 150 долларов, а потери жертвы в среднем превышают 40 тыс. долларов в час.

Типы DDoS-атак

Основные типы DDoS-атак: массированные атаки, атаки на протокольном уровне и атаки на уровне приложений. В любом случае цель состоит в том, чтобы вывести сайт из строя или же украсть данные. Другой вид киберпреступлений – угроза совершения DDoS-атаки для получения выкупа. Этим славятся такие хакерские группировки как Armada Collective, Lizard Squad, RedDoor и ezBTC.

Организация DDoS-атак заметно упростилась: сейчас есть широко доступные автоматизированные инструменты, практически не требующие от киберпреступников специальных знаний. Существуют и платные сервисы DDoS для анонимной атаки цели. Например, сервис vDOS предлагает свои услуги, не проверяя, является ли заказчик владельцем сайта, желающим протестировать его «под нагрузкой», или это делается с целью атаки.


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

Ежегодный рост количества DDoS-атак оценивается в 50% (по сведениям www.leaseweb.com), но данные разных источников расходятся, на и не все инциденты становятся известными. Средняя мощность DDoS-атак Layer 3/4 выросла в последние годы с 20 до нескольких сотен Гбайт/с. Хотя массовые DDoS-атаки и атаки на уровне протоколов уже сами по себе – штука неприятная, киберпреступники все чаще комбинируют их с DDoS-атаками Layer 7, то есть на уровне приложений, которые нацелены на изменение или кражу данных. Такие «многовекторные» атаки могут быть очень эффективными.


Многовекторные атаки составляют порядка 27% от общего числа атак DDoS.

В случае массовой DDoS-атаки (volume based) используется большое количество запросов, нередко направляемых с легитимных IP-адресов, чтобы сайт «захлебнулся» в трафике. Цель таких атак – «забить» всю доступную полосу пропускания и перекрыть легитимный трафик.

В случае атаки на уровне протокола (например, UDP или ICMP) целью является исчерпание ресурсов системы. Для этого посылаются открытые запросы, например, запросы TCP/IP c поддельными IP, и в результате исчерпания сетевых ресурсов становится невозможной обработка легитимных запросов. Типичные представители - DDoS-атаки, известные в узких кругах как Smurf DDos, Ping of Death и SYN flood. Другой вид DDoS-атак протокольного уровня состоит в отправке большого числа фрагментированных пакетов, с которыми система не справляется.

DDoS-атаки Layer 7 – это отправка безобидных на вид запросов, которые выглядят как результат обычных действий пользователей. Обычно для их осуществления используют ботнеты и автоматизированные инструменты. Известные примеры - Slowloris, Apache Killer, Cross-site scripting, SQL-injection, Remote file injection.

В 2012–2014 годах большинство массированных DDoS-атак были атаками типа Stateless (без запоминания состояний и отслеживания сессий) – они использовали протокол UDP. В случае Stateless в одной сессии (например, открытие страницы) циркулирует много пакетов. Кто начал сессию (запросил страницу), Stateless-устройства, как правило, не знают.

Протокол UDP подвержен спуфингу – замене адреса. Например, если нужно атаковать сервер DNS по адресу 56.26.56.26, используя атаку DNS Amplification, то можно создать набор пакетов с адресом отправителя 56.26.56.26 и отправить их DNS-серверам по всему миру. Эти серверы пришлют ответ по адресу 56.26.56.26.

Тот же метод работает для серверов NTP, устройств с поддержкой SSDP. Протокол NTP – едва ли не самый популярный метод: во второй половине 2016 года он использовался в 97,5% DDoS-атак.
Правило Best Current Practice (BCP) 38 рекомендует провайдерам конфигурировать шлюзы для предотвращения спуфинга – контролируется адрес отправителя, исходная сеть. Но такой практике следуют не все страны. Кроме того, атакующие обходят контроль BCP 38, переходя на атаки типа Stateful, на уровне TCP. По данным F5 Security Operations Center (SOC), в последние пять лет такие атаки доминируют. В 2016 году TCP-атак было вдвое больше, чем атак с использованием UDP.

К атакам Layer 7 прибегают в основном профессиональные хакеры. Принцип следующий: берется «тяжелый» URL (с файлом PDF или запросом к крупной БД) и повторяется десятки или сотни раз в секунду. Атаки Layer 7 имеют тяжелые последствия и трудно распознаются. Сейчас они составляют около 10% DDoS-атак.


Соотношение разных типов DDoS-атак по данным отчета Verizon Data Breach Investigations Report (DBIR) (2016 год).

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

DDoS-атаки на DNS

Доменная система имен (Domain Name System, DNS) играет фундаментальную роль в производительности и доступности сайта. В конечном счете – в успехе вашего бизнеса. К сожалению, инфраструктура DNS часто становится целью DDoS-атак. Подавляя инфраструктуру DNS, злоумышленники могут нанести ущерб вашему сайту, репутации вашей компании и повлиять ее финансовые показатели. Чтобы противостоять современным угрозам, инфраструктура DNS должна быть весьма устойчивой и масштабируемой.


По существу DNS – распределенная база данных, которая, кроме всего прочего, ставит в соответствие удобные для чтения имена сайтов IP-адресам, что позволяет пользователю попасть на нужный сайт после ввода URL. Первое взаимодействие пользователя с сайтом начинается с DNS-запросов, отправляемых на сервер DNS с адресом интернет-домена вашего сайта. На их обработку может приходиться до 50% времени загрузки веб-страницы. Таким образом, снижение производительности DNS может приводить к уходу пользователей с сайта и потерям для бизнеса. Если ваш сервер DNS перестает отвечать в результате DDoS-атаки, то на сайт никто попасть не сможет.

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


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

При этом достигается двойной эффект. Целевую систему бомбардируют тысячи и миллионы ответов DNS, а DNS-сервер может «лечь», не справившись с нагрузкой. Сам запрос DNS – это обычно менее 50 байт, ответ же раз в десять длиннее. Кроме того, сообщения DNS могут содержать немало другой информации.

Предположим, атакующий выдал 100 000 коротких запросов DNS по 50 байт (всего 5 Мбайт). Если каждый ответ содержит 1 Кбайт, то в сумме это уже 100 Мбайт. Отсюда и название – Amplification (усиление). Комбинация атак DNS Reflection и Amplification может иметь очень серьезные последствия.


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

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

Как же защититься от DDoS-атак, какие шаги предпринять? Прежде всего, не стоит откладывать это «на потом». Какие-то меры следует принимать во внимание при конфигурировании сети, запуске серверов и развертывании ПО. И каждое последующее изменение не должно увеличивать уязвимость от DDoS-атак.

  1. Безопасность программного кода. При написании ПО должны приниматься во внимание соображения безопасности. Рекомендуется следовать стандартам «безопасного кодирования» и тщательно тестировать программное обеспечение, чтобы избежать типовых ошибок и уязвимостей, таких как межсайтовые скрипты и SQL-инъекции.
  2. Разработайте план действий при обновлении программного обеспечения. Всегда должна быть возможность «отката» в том случае, если что-то пойдет не так.
  3. Своевременно обновляйте ПО. Если накатить апдейты удалось, но при этом появились проблемы, см. п.2.
  4. Не забывайте про ограничение доступа. Аккаунты admin и/или должны быть защищены сильными и регулярно сменяемыми паролями. Необходим также периодический аудит прав доступа, своевременное удаление аккаунтов уволившихся сотрудников.
  5. Интерфейс админа должен быть доступен только из внутренней сети или через VPN. Своевременно закрывайте VPN-доступ для уволившихся и тем более уволенных сотрудников.
  6. Включите устранение последствий DDoS-атак в план аварийного восстановления. План должен предусматривать способы выявления факта такой атаки, контакты для связи с интернет- или хостинг-провайдером, дерево «эскалации проблемы» для каждого департамента.
  7. Сканирование на наличие уязвимостей поможет выявить проблемы в вашей инфраструктуре и программном обеспечении, снизить риски. Простой тест OWASP Top 10 Vulnerability выявит наиболее критичные проблемы. Полезными также будут тесты на проникновение – они помогут найти слабые места.
  8. Аппаратные средства защиты от DDoS-атак могут быть недешевы. Если ваш бюджет такого не предусматривает, то есть хорошая альтернатива – защита от DDoS «по требованию». Такую услугу можно включать простым изменением схемы маршрутизации трафика в экстренной ситуации, либо находится под защитой постоянно.
  9. Используйте CDN-партнера. Сети доставки контента (Content Delivery Network) позволяют доставлять контент сайта посредством распределенной сети. Трафик распределяется по множеству серверов, уменьшается задержка при доступе пользователей, в том числе географически удаленных. Таким образом, хотя основное преимущество CDN – это скорость, она служит также барьером между основным сервером и пользователями.
  10. Используйте Web Application Firewall – файрвол для веб-приложений. Он мониторит трафик между сайтом или приложением и браузером, проверяя легитимность запросов. Работая на уровне приложений, WAF может выявлять атаки по хранимым шаблонам и выявлять необычное поведение. Атаки на уровне приложений нередки в электронной коммерции. Как и в случае CDN, можно воспользоваться сервисами WAF в облаке. Однако конфигурирование правил требует некоторого опыта. В идеале защитой WAF должны быть обеспечены все основные приложения.

Защита DNS

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


На выручку могут прийти облачные сервисы очистки трафика: он направляется в некий центр, где проверяется и перенаправляется обратно по назначению. Эти услуги полезны для TCP-трафика. Те, кто сами управляют своей инфраструктурой DNS, могут для ослабления последствий DDoS-атак принять следующие меры.
  1. Мониторинг DNS-серверов на предмет подозрительной деятельности является первым шагом в деле защиты инфраструктуры DNS. Коммерческие решения DNS и продукты с открытым исходным кодом, такие как BIND, предоставляют статистику в реальном времени, которую можно использоваться для обнаружения атак DDoS. Мониторинг DDoS-атак может быть ресурсоемкой задачей. Лучше всего создать базовый профиль инфраструктуры при нормальных условиях функционирования и затем обновлять его время от времени по мере развития инфраструктуры и изменения шаблонов трафика.
  2. Дополнительные ресурсы DNS-сервера помогут справиться с мелкомасштабными атаками за счет избыточности инфраструктуры DNS. Ресурсов сервера и сетевых ресурсов должно хватать не обработку большего объема запросов. Конечно, избыточность стоит денег. Вы платите за серверные и сетевые ресурсы, которые обычно не используются в нормальных условиях. И при значительном «запасе» мощности этот подход вряд ли будет эффективным.
  3. Включение DNS Response Rate Limiting (RRL) снизит вероятность того, что сервер будет задействован в атаке DDoS Reflection – уменьшится скорость его реакции на повторные запросы. RRL поддерживают многие реализации DNS.
  4. Используйте конфигурации высокой доступности. Можно защититься от DDoS-атак путем развертывания службы DNS на сервере высокой доступности (HA). Если в результате атаки «упадет» один физический сервер, DNS-служба может быть восстановлена на резервном сервере.
Лучшим способом защиты DNS от DDoS-атак будет использование географически распределенной сети Anycast. Распределенные сети DNS могут быть реализованы с помощью двух различных подходов: адресации Unicast или Anycast. Первый подход намного проще реализовать, но второй гораздо более устойчив к DDoS-атакам.

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

При схеме адресации Anycast разные серверы DNS используют общий IP-адрес. При вводе пользователем URL возвращается коллективный адрес серверов DNS. IP-сеть маршрутизирует запрос на ближайший сервер.

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

Средства защиты от DDoS-атак, предоставляемые провайдером

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

Поставщики услуг Managed DNS эксплуатируют крупномасштабные Anycast-сети и имеют точки присутствия по всему миру. Эксперты по безопасности сети осуществляют мониторинг сети в режиме 24/7/365 и применяют специальные средства для смягчения последствий DDoS-атак.


Услуги защиты от DDoS-атак предлагают и некоторые поставщики услуг хостинга: анализ сетевого трафика производится в режиме 24/7, поэтому ваш сайт будет в относительной безопасности. Такая защита способна выдержать мощные атаки - до 1500 Гбит/сек. Оплачивается при этом трафик.

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

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

Статьи по теме