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

в 10:45, , рубрики: Без рубрики

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

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

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

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

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

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

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

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

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

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

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

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

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

Для этого нужно зайти через Web на IP-адрес установленного APSolute Vision, скачать сам клиент и установить его.
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

Теперь запускаем установленный клиент и видим перед собой такое окошко
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

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

Давайте посмотрим, как происходит добавление устройства Radware для управления им через APSolute Vision.
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

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

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

Теперь, когда DefensePro добавлен, необходимо его настроить.
Для перехода в режим настройки устройства, необходимо сначала его залочить. Делается это так.
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

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

Настройка

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

Прошивка:

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

Далее переходим на вкладку “Monitoring” –> “Manage Software Versions”
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

Вот тут нам и понадобился пароль.
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

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

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

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

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

Сигнатуры

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

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

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

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 день.
(25 мая, Киев) Бойцы невидимого фронта или повесть о том, как в сжатые сроки защититься от DDoS атак

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”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В Мегабитах

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

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

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

Откуда летели атаки:

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Автор: sashaboyko

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js