MITIGATOR v21.04. Обзор версии.

Глеб Хохлов
AntiDDoS Life
Published in
7 min readMar 23, 2021

Доступна для установки v21.04.3

В версию добавлены инциденты, тестовый режим работы политики защиты, именованные списки IP-адресов.

Улучшен опыт использования кластера: добавлен редирект на лидера, отдельные BGP-сессии для каждого экземпляра и VPN-сеть между экземплярами.

Добавлены контрмеры SERB, USF, BPF6, а в GAME защита для TeamSpeak 3, Battlefield 4, GTA V FiveM.

Расширена функциональность для BL, WL, GEO, ACL, RETR, VAL, TCP, ATLS, SCAN

Про эти и другие изменения читайте далее.

Security event. Добавлено событие “Инцидент”

Инцидент — это аномалия трафика, которую можно интерпретировать как атаку.

При обнаружении начала и окончания инцидента формируется событие с рассылкой уведомлений по syslog, email, telegram.

В отчетах добавлена страница со списком инцидентов и детальной информацией по каждому.

Список инцидентов
Детальная информация по инциденту

Policy. Добавлен тестовый режим работы политики защиты

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

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

Политика защиты в теством режиме. Заголовок окрашивается зеленым отенком.

Напомню, что сценарий настройки и проверки влияния можно реализовать через перенаправление трафика тестировщика в отдельную политику защиты. Так можно поиграться с настройками параметров challenge-response контрмер и проверить влияние на защищаемый сервиc:

scr IP_testuser dst IP_service -> policy_test_service

IPList. Добавлены именованные списки IP-адресов

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

Источником списков может быть:

  • Пользовательский ввод
  • Файл, расположенный на HTTP- или HTTPS-ресурсе
  • Файл, примонтированный в контейнер backend
Примеры именованных списков IP-адресов из разных источников

ACL. Добавлена поддержка IPList

В правилах ACL в значениях srс и dst можно указать имя списка IP-адресов.

Правило ACL сбрасывюще пакеты по списку src адресов, остальные правила закомментированны.

Multi. Добавлено перенаправление на устройство лидера

В кластере могут быть десятки и сотни устройств, которые в случае отказа текущего лидера могут принять лидерство. Хоть и администратор определяет порядок принятия лидерства, но в момент отказа может не помнить порядок. Теперь все ведомые устройства перенаправляют пользователя на текущего лидера. Такое поведение позволяет создать одно доменное имя с множеством A-записей с IP-адресами всех экземпляров. Браузер выбрав любой адрес для доменного имени в итоге будет перенаправлен на текущего лидера.

При обновлении нужно не забыть установить в .env MITIGATOR_HOST_ADDRESS

Multi. Каждый экземпляр в кластере является отдельным BGP-speaker

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

Пример установки BGP-сессий с одним маршрутизатором с двух экземпляров

Multi. Виртуальная сеть между экземплярами в кластере

Теперь между всеми узлами в кластере устанавливается взаимодействие поверх WireGuard VPN

SERB. Добавлена контрмера “Блокировка при превышении порогов источником”

В ситуации когда целевая аудитория сервиса и атакующие находится за NAT, то блокировка по src IP может ограничить доступ легитимным пользователям. В этом случае можно использовать контрмеру SERB, которая отслеживает превышение в pps, bps в рамках каждой сессии и блокирует только трафик сессии нарушителя.

USF. Добавлена контрмера “Фильтр неизвестных сессий”

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

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

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

Карточка контрмеры USF

BPF6. Добавлена контрмера “Программируемый фильтр” в общую защиту IPv6

Контрмера позволяет пользователю использовать собственные программы для обработки IPv6 пакетов. Дополнительно программе доступны две таблицы для хранения данных: обычная с 8-байтным ключем и расширенная с 16-байтным ключем (в том числе программам для IPv4).

Карточна контрмеры BPF6

BPF. Добавлена возможность блокировать адрес при превышении порога

Если программа возвращает код RESULT_SORB пакет передается на встроенный аналог SORB, который считает скорости в pps, bps для каждого адреса источника. В случае превышения, трафик с адреса блокируется на время превышения или адрес отправляется в TBL.

Карточка контрмеры BPF

WL. Добавлена поддержка комментариев

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

Комментарии в WL

BL. Добавлена поддержка комментариев

Аналогично WL можно оставить себе пометку, чем провинился адрес в черном списке.

Комментарии в BL

GEO. Добавлено действие по умолчанию “Ограничивать”

Карточка контрмеры GEO

RETR. Улучшена точность подсчета трафика с исходящего адреса

RETR. Добавлена поддержка сигнатур в правилах

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

VAL. Добавлена опциональная про проверка для TCP ACK

TCP. Добавлена защита от SYN-ACK Flood методом синхронизации ISN

Данный метод позволяет эффективно защищаться от TCP SYN-ACK, в том числе от TCP SYN-ACK reflection attack даже при асимметрии трафика. Совместно с аналогичным режимом защиты для SYN пакетов получается незаметная для пользователя полноценная защита от всех TCP-атак со спуффингом.

TCP. Добавлено взаимодействие с агентом для синхронизации ISN

Инструкция по установке агента на защищаемом сервере

TCP. Изменена логика работы контрмеры

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

Карточка контрмеры TCP без расширенных настроек

ATLS. Добавлен механизм фильтрации по данным обучения

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

GAME. Добавлена защита для TeamSpeak 3

GAME. Добавлена защита для Battlefield 4

GAME. Добавлена защита для GTA V FiveM

GAME. Добавлена возможность указания токена для GTA SAMP

Для каждого сервера в контрмере можно указать собственный токен.

FRB. Добавлена поддержка сигнатур в правилах.

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

SCAN. Добавлено событие о факте сканирования

При обнаружении сканирования в журнале регистрируется событие и рассылаются уведомления.

Core. Добавлена поддержка Link State Propagation (LSP)

Если какой-то порт из пары ext-int переходит в down, то выключается парный. LSP включается через опцию port_lsp в data-plane.conf:

// Link state propagation of port pairs
port_lsp: true

По умолчанию режим отключен.

Core. Добавлены настройки таймаутов резолвера ARP и NDP при L3 внедрении в сеть

Через API и data-plane.conf можно указать

//MAC resolver request retransmit delay in seconds
//[1, 2³²-1]
mac_retransmit_time: 5
// MAC resolver entry validity period in seconds
// [1, 2³²-1]
mac_reachable_time: 30
// MAC resolver stale entry cleanup time in seconds
// [1, 2³²-1]
mac_stale_time: 60

Core. Обновлён DPDK до 21.02

Users. Добавлена возможность ограничения допустимых IP-адресов пользователя для входа в систему

В настройках профиля пользователя можно указать список адресов, с которых разрешен вход в систему. Например, если учетная запись используется для взаимодействия по API c определенных хостов, либо для разрешения работы только с адресов корпоративной сети.

Карточка пользователя

Detect. Добавлены предикаты по количеству аутентифицированных IP-адресов.

Все контрмеры получили предикаты On, Off, Diff, Low отслеживающие количество записей в таблицах: MCR, RETR, TCP, MINE, HTTP, ATLS, GAME, BPF, DNS, SIP, SPLI

Эти предикаты позволяют активироваться более жестким контрмерам только когда наблюдается аномальная активность на прикладном уровне.

Подробности в документации по автодетектированию.

Detect. Добавлены предикаты <element>.Low.Pass.{B,P}pps

Если заданы пороги <element>.Low.Pass.{B,P}pps, контрмера не включается или немедленно выключается при условии, что пропущенный политикой трафик не превышает порог.

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

Detect. Добавлен предикат ATLS.Protocol.ClientHelloPps

EventLog. Добавлено сокрытие IP-адреса и имени системных пользователей для групповых пользователей

BGP. Добавлена возможность BGP FlowSpec redirect из политики защиты

UX. Добавлена фильтрация списка политик при редактировании правил маршрутизации.

Фильтр списка политик

UX. Добавлено быстрое перемещение правила в списке правил маршрутизации по политикам.

UX. Добавлен график усредненного трафика в политике

Для упрощения определения пороговых значений и характеристики проходящего трафика добавлены графики:

  • pps относительно количества уникальных src IP
  • bps относительно количества уникальных src IP

UX. Добавлен единный список поддерживаемых разделителей в списках

В WL, BL, WL6, BL6, IPLIST, BGP PrefixList содержимое можно указывать используя в качестве разделителя:

  • пробел
  • запятая
  • точка с запятой
  • перевод строки

Комментарий начинается с # и заканчивается переводом строки.

UX. Добавлен график TCP, UDP, ICMP по данным с коллектора

UX. Добавлена визуализация содержимого журнала TBL

Описание предыдущей версии.

Телеграм-канал @mitigator с новостями про MITIGATOR

--

--

Глеб Хохлов
AntiDDoS Life

Эксперт в защите от DDoS-атак. Продакт-менеджер в MITIGATOR.