(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS-атак c помощью Radware

  • Tutorial

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

Не так давно (около 25 мая в Киеве) мне волей судьбы выпала миссия буквально за два дня организовать защиту государственного web-сайта от ожидаемых DDoS-атак.

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

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

Решение для защиты от DDoS-атак


Выбор оборудования против защиты упал на производителя Radware, так как оно себя достаточно хорошо зарекомендовало ранее.
За день перед ожидаемыми атаками меня допустили на площадку провайдера, где стояло зеркало государственного web-сайта, чтобы я настроил систему.

Вкрутив железку в стойку, я назначил менеджмент протоколы и IP-адрес и приступил к её настройке.

Но перед тем, как начать описывать настройку, я опишу сам деплоймент системы.

Система состояла из защищаемого web-сервера, устройства Radware DefensePro и системы управления Radware APSolute Vision, которая была развернута на виртуалке ESX.

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



Настраивать саму железку, непосредственно зайдя на её веб-интерфейс, очень неудобно, да и большой минус в том, что нельзя в режиме реального времени просматривать статистику текущих атак, а также строить отчеты по произошедшим атакам (отчеты делает отдельная фича – Security Reporter). Сам Vision управлят железкой и собирает статистику по протоколу SNMP. Я поставил SNMP версии 3 для безопасности менеджмент траффика.

Установка Vision Client для ПК


Для этого нужно зайти через Web на IP-адрес установленного APSolute Vision, скачать сам клиент и установить его.


Теперь запускаем установленный клиент и видим перед собой такое окошко


Вводим логин, пароль и IP-адрес APSolute Vision сервера и попадаем на его интерфейс.


Давайте посмотрим, как происходит добавление устройства Radware для управления им через APSolute Vision.






Теперь, когда DefensePro добавлен, необходимо его настроить.
Для перехода в режим настройки устройства, необходимо сначала его залочить. Делается это так.


Теперь можно настраивать саму железку.

Настройка


1. Сперва необходимо обновить софт железки:
• Прошивку
• Файл описания атак
• Сигнатуры атак

Прошивка:

Для начала качаем прошивку на модель нашей железки из партнерского портала себе на ПК. Но не спешите покидать портал. Чтобы прошивка удачно принялась устройством, необходимо ещё сгенерировать пароль. На этом же портале ищем “Password Generator”, переходим на него и, выставив из выпадающего списка платформу своей железки, версию прошивки, которую хотим установить, и MAC-адрес, генерируем пароль и сохраняем его (например, в блокнот).

Далее переходим на вкладку “Monitoring” –> “Manage Software Versions”


Вот тут нам и понадобился пароль.


Файл описания атак


Теперь обновим файл описания атак, который железка будет использовать. Грузим его с того же партнерского сайта. Причем я взял файлик для всех устройств Radware.

Переходим на “Asset Management” и внизу находим кнопку обновления файла описания атак.



Сигнатуры


Опять же, файл с сигнатурами скачиваем с партнерского сайта. На домашней страничке есть линк на него.
После скачивания переходим на вкладку ”Monitoring” и обновляем сигнатуры атак на DefensePro.



Политики безопасности



1. Сперва необходимо включить необходимые функции, которые мы хотим использовать для защиты.
Для обеспечения эффективного противостояния атакам на государственный web-сайт я включаю фичи по-максимуму:
• Signature Protection
• DoS Shield
• BDoS Protection (Behavioral DoS)
• BDoS Early Blocking
• Anti-Scanning
• SYN Flood Protection
• HTTP Flood Protection
• Packet Anomaly

Этого будет достаточно, чтобы защитить Web-сервер.

Детально описывать каждую галочку у меня нету никакого желания. Все это можно найти в DefensePro User Guide. А вот сами функции защиты я объясню.

Signature Protection

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

DoS Shield
Данная функция защищает от флудов нулевого дня, включая SYN-флуды, TCP-флуды, UDP-флуды, ICMP- и IGMP-флуды.

BDoS Protection
Очень важная функция. Она отвечает за обучение самой железки и формирование нормального поведения трафика.

Фишка DefensePro в том, что, после обучения, при старте DDoS-атаки (настоящей, никому ещё не известной, на которую нет сигнатуры, не обычные SYN Flood и HTTP Flood), железка отслеживает аномальное возрастание траффика и при превышении заданных границ нормально поведения трафика – начинает анализировать на наличие атаки. Регламентированное обнаружение подозрительного трафика – 10 мсек. Далее устройство начинает анализировать подозрительный трафик и при вынесении вердикта о наличии атаки – в режиме реального времени формирует сигнатуру, блокирующию такой трафик. Регламентированное время формирования сигнатуры и блокировки – 8 мсек. Таким образом, блокировка нового вида DDoS-атаки происходит за 18 мсек.

По-умолчанию время обучения DefensePro составляет неделю. Но, в условиях срочности исполнения задачи, я выставил на 1 день.


BDoS Early Blocking
Данная функция, как часть функции BDoS, является очень хорошим дополнением к решению. Она отвечает за раннее блокирование трафика атаки, ещё до того, как он пометиться устройством, как подозрительный. Блокировка атаки в таком случае произойдет в интервал до 10 мсек (поэтому она и называется Early Blocking).
Суть данной функции состоит в том, что она проверяет пакеты на нормальное форматирование. И если она видит, что заголовки неправильно расставлены в том или ином протоколе, начинает блокировать такой траффик. Более подробно о данной функции можно узнать все в том же User Guide.

Anti-Scanning
Данная функция защищает от самораспространяющихся червей, горизонтальных и вертикальных TCP и UDP сканов и пингов.

SYN Flood Protection
Тут ничего сложного. От SYN флуда спасает Connection Limit.

HTTP Flood Protection
Предотвращает новый, ещё неизвестный HTTP-флуд на сайт.

Packet Anomaly
Защищает от аномально форматированных пакетов.

2. После того, как необходимые функции защиты были активированы, пора приступить к объявлению защищенного сервера и писать политики безопасности.
2.1. Объявление объекта защиты (сервера) происходит в разделе “Classes”-> “Networks”



2.2. Политика безопасности объявляется в разделе Network Protection



И далее начинаем наполнять нашу политику



Задаем имя политики, сеть источника – any, сеть назначения – наш объявленный ранее сервер.

Порт группа – здесь создаем новую порт группу, в которой указываем наш интерфейс, который смотрит в Интернет.
У меня это интерфейс G1.

Direction, то бишь направление, означает в каком направлении трафик будет инспектироваться заданной политикой. Варианты выбора – One Way и Two Way.

One Way – только входящий трафик.

Two Way – и входящий, и исходящий. В терминологии Radware это называется “smart line”.

Теперь приступим непосредственно к наполнению политики.

Политика в DefensePro состоит из профайлов ранее активированных нами функций защиты.

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

Для примера возьмем BDoS, как одну из самых важных.





Для первой установки рекомендуется выставить все галочки.
Также в обязательном порядке выставляем входящую и исходящую скорости канала, который подключен к интерфейсам DefensePro.
И также обязательным параметром является выставление процентного содержания протоколов в объявленных входящей и исходящей скоростях. Так как мы можем только предполагать эти проценты, не зная точно, можно поставить квоту по-умолчанию, которые определяет само устройство.
Также я рекомендую выставить галочку Packet Trace для того, чтобы во время атаки и после устройство запоминало IP-адреса атакующих.



Нажимаем “ОК”.

Для BDoS задается только профайл защиты. А вот другие функции защиты состоят из профайлов, которые складываются из правил.
Например, возьмем функцию защиты Connection Limit.


Теперь нужно профайл наполнить правилами защиты.







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



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

Действие мне пришлось выбрать Block and Report.
Вообще рекомендовано изначально ставить Forward, для того, чтобы не блокировать легитимный трафик. Но, так как времени было у меня мало, я взял сразу блокирование.

После того, как политика готова, необходимо её применить на устройстве



Все, наш сервер защищен от сетевых атак.

3. Теперь необходимо защитить его от атак, направленных на уязвимости 7го уровня
Для этого переходим на вкладку “Server Protection” и точно так же создаем политику безопасности против атак 7го уровня





Все. Активируем политику и наш сервер защищен.

Защита от атак


Вот и наступил день, когда ожидались атаки. Около 00:30 ночи начались первые сканы на наличие уязвимостей в сервере. В средине ночи наблюдались небольшие HTTP-флуды.

Данные атаки успешно отбились политикой защиты сервера от атак 7го уровня.

В 9:00 начался интенсивный TCP SYN и HTTP флуд наряду со сканированием на уязвимости.

Вот какие атаки шли на государственный web-сайт.



Как это выглядит в графическом режиме APSolute Vision



Флуд продолжался до 15:00 и потом все затихло. В период до 19:30 начались шутки со стороны коллег, что атакующие получили первую часть гонорара за атаку и уже выпили.

Но в 19:30 начался тот же TCP SYN и HTTP флуды наряду со сканирование сервера на уязвимости и DDoSа на уязвимости приложений.



В Мегабитах



И в килопакетах в секунду



На графике видно с каких IP-адресовот шли атаки:




Спойлер с личным комментом, который в комментариях попросили скрыть
Ну, собственно, кто бы сомневался. Лично я даже не удивлен, что самые массивные атаки шли с российских IP-адресов.


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





Загрузка процессора при такой атаке:



Где-то с 20:30 атака упала к такому уровню:



И на таком уровне атака оставалась до 23:30.
В 23:30 мы явно видим, как проплаченное время атаки закончилось:





И хомячки ушли спать.
В последующее время, после 23:30 и на протяжении всего следующего дня сохранялись постоянные и небольшие сканирования государственного web-сайта на наличие уязвимостей, которые блокировались на DefensePro.




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



МУК-Сервис — все виды ИТ ремонта: гарантийный, не гарантийный ремонт, продажа запасных частей, контрактное обслуживание
МУК 64,87
Компания
Поделиться публикацией
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 30
    +1
    Лично я даже не удивлен, что самые массивные атаки шли с российских IP-адресов.

    Лично я даже не удивлен, что вы акцентировали на этом внимание. А на самом деле, было интересно прочитать о защите от DDoS.
      0
      Поддерживаю. Я когда увидел, что пост про защиту от DDoS атак 25.05 во время выборов на Украине, то подумал, что интересно, что несмотря на политическую ситуацию, на хабре всё же стараются быть выше политики и рассуждать с нашей ITшной точки зрения.
      Но эта фраза всё испортила.

      ТС, если Вы хотите выразить свою политическую позицию, то Вам за этим не на хабр надо писать. Если хотите рассказать интересный пост про защиту от массированных DDoS атак, тогда исключите всю политику и все будут рады. Даже карту распределения атак по миру, я думаю, можно оставить, это факты. А вот ваше мнение и то, что вы не удивлены, это лично ваше мнение и оно не совсем уместно в вашей статье на этом ресурсе.
        +3
        По-моему, была простая констатация факта — атака из России. И это не вина автора, что эта атака (и ее источник) была предсказана заранее со 100% точностью. О чем он и сказал, что не удивлен. Причем тут политика?..
        +2
        Во всем, достаточно большом, обзоре одно-единственное предложение вы прочитали эмоционально-национально-политически. Это никак не выделенно (ни заголовком, ни как-либо еще), и отнесенно в субъективные аллюзии автора.
          0
          sashaboyko, начал читать ваш пост в большим интересом, но это предложение немного испортило впечатление. Я всегда считал Хабрахабр аполитичным ресурсом и читая его, я отдыхаю от всей информационной ереси, которая сейчас присутствует на многих сайтах. И если я вас как-то задел, то приношу извинения.
            +3
            В обзоре не было ни слова о политике. Указание того факта, что атаки географически «откуда-то шли» никоим образом не политическое заявление. Его при желании и накале страстей так можно истолковать — но это уже другой вопрос.
            +1
            Да уж славяне, раскидали нас!
            Вместо совместного обсуждения технологий бросаемся с претензиями друг на друга!
            За материал спасибо!
            +2
            Ах, какие все обидчивые. Хабр же вне политики. Если это, конечно, касается России. Вот целый пост про то что К.Райс пошла работать в Дропбокс в какой-то отдел по связям никого не смутил—это же не политика, это же айти! Хотя причем тут айти мне никогда не узнать. В любой статье про Маска не вспоминить, что он начал судится с компанией, которая закупила российские двигаиели это же не политика, это же айти! Ну правда, ведь с кем там судится Маск это так информационнотехнологично. Про то как америка спорит с хуавеем, например, запрещает их оборудование—это же тоже айти. Я вот не знал, а оно оказывается айти. А вот одна фраза про Россию на гигантский пост, ох хакая беда! Ох, какая политика.
            +2
            150kpps? и что тут такого?
              +2
              вы меня простите, конечно, но неплохо было бы вывести Radware в заголовок. залез читать про то, как защититься подручными средствами, а тут описание как готовая железка по мануалу конфигурируется.
                0
                Radware выведен в заголовок.
                  0
                  спасибо
                0
                Коллеги. Ваша точка зрения вполне понятна: политика политикой, а технологии технологиями. Но, как ни крути, мы не можем отделять одного от другого. Автор в данной статье просто осветил реальную ситуацию. Я более чем уверен, что все это было прогнозируемо.

                P.S. Прошу не начинать политический холивор. Голова уже болит от него.
                  +6
                  Автору нужно всего лишь убрать одну фразу, и подредактировать заголовок, и больше ни у кого не будет к нему вопросов/претензий.
                    0
                    Заголовок дополнил, личный коммент скрыл дисклеймером.
                  0
                  UDP пакеты — салом не пахнут, так-же как BGP анонсы водкой.
                    +3
                    Начнем с графиков, которые должны были лишить читателя всех сомнений в качестве устройства и прямоте рук администратора. Разница в Inbound и Discarded Inbound говорит о том, что DefencePro больше пропускал чем фильтровал. При том, что трафик любого веб-ресурса характерен бОльшим Outbound чем Inbound, о чем свидельствует последний график показывающий ровно тот момент когда атака закончилась.
                      0
                      Верно, разница в графиках заметная сразу. Это объяснимо просто – железке не было достаточно времени (1 день вместо нормированных 7) обучения и формирования нормального поведения для блокировки распределенной атаки с большого кол-ва источников легитимных запросов.
                      +2
                      SYN Flood Protection
                      Тут ничего сложного. От SYN флуда спасает Connection Limit.

                      Настолько вольное трактование документации позволило TC ошибиться более чем полностью. Connection Limit работает в противомере под названием «Connection PPS Limit». А от spoofed syn-flood спасает syn-cookie/safe-reset/tcp-reset. Radware сюда еще притянули [http/js]- redirect.
                        0
                        поправлюсь, ограничение числа сессий настраивается в Connection Limit, а не в Connection PPS Limit, но сути это не меняет, т.к в любом случае это не механизм продиводействия syn-flood
                          0
                          Более того, много тулов для атаки уже умеют эмулировать поведение браузера и могут отвечать на 302-Redirect и js. Radware для этого внедрило механизм Advanced JS, что по последним данным недоступно ни в одной туле для генерации spoofed SYN Flood.
                            0
                            Вы ведь понимаете что JS, 302 SYN Flood это абсолютно паралельные сущности?
                          –4
                          0din, хорошо что еще tarpit в качестве контр-меры против synflood не предложили. Сколковские инновации;)
                            +1
                            Из статьи непонятно, со скольки разных IP-ов генерировали атаку…
                              +8
                              Вывод про ip адреса = источник атаки достоин эфирного телевидения. Осталось только добавить, что ip адреса Штатов и Франции — это кремлевские хакеры, прикрывающиеся спинами забугорных женщин и детей.

                              ТС стоит почитать что такое ботнет и как он работает.
                                0
                                Да мне по большому счету все равно откуда лететь атакам. Может быть это парагвайский хаккер, который сидит на Мальдивах и запускает ботнет. Факт остается фактом – атаки летели из указанных геолокацией IP-адресов.
                                0
                                Все это хорошо, но полезность таких железок проявляется только тогда, когда размер атаки не превосходит пропускную способность вашего канала. В данном случае, трафик был несущественный.
                                Был ли план что делать, если бы атака превысила 0.5Gbit/s (я так понимаю, такова была пропускная способность канала, по крайней мере из конфигурации)?
                                  0
                                  И к этому мы были готовы. Против такой атаки нас бы спас Radware Defense Pipe. Сервис, который работает следующим образом: от устройства к ближайшему центру чистки строится GRE-тоннель, по которому идет обмен информацией о состоянии загруженности канала. Когда канал забивается «под завязку», центр чистки забират на себя конфиг файл с устройсва и выполняет полную эмуляцию у себя данной железки. Далее, по BGP идет анонс, что теперь центр чистки – это IP-адрес организации и весь траффик заворачивается на центр чистки (с большими каналами и мощностями). В нем трафик чиститься и уже почищенный возвращается в организацию.
                                    0
                                    Интересно, спасибо. Т.е. я правильно понимаю, что Defense Pipe решение требует как минимум отдельной /24 подсети, выдленной под защищаемый ресурс? Иначе, проанонсировав /24 из «центра чистки» — вы «заберете» туда весь трафик к подсети, и другим ресурсам в этой /24 это может не понравится.
                                  +1
                                  Спасибо, было интересно прочитать.
                                  Удивляют хабравчане, которые цепляются за графики и видят там политику. Факт есть факт, автор то тут причем.

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

                                  Самое читаемое