Взаимодействие по BGP
В MITIGATOR реализована поддержка множества сценариев взаимодействия по BGP. Каждый экземпляр кластера может выступать в качестве независимого BGP-спикера, анонсировать префиксы, а также рассылать и принимать FlowSpec-правила.
- Памятка
- Локальные параметры BGP
- BGP-соседи
- Политика анонса
- Списки префиксов
- Списки FlowSpec
- Списки Community
- Формирование списков
- Типы списков
- Источники метрик, которые могут являться триггером для наполнения списков
- Отслеживаемые метрики
- Данные для наполнения списков
- Подробно о каждом списке
- Системные списки префиксов для направления трафика на очистку
- Системные списки префиксов для анонсирования соседям префиксов, трафик на которые должен сбрасываться
- Системные списки префиксов для сигнализации вышестоящим операторам связи или поставщикам услуг защиты
- Системные списки префиксов для приема префиксов под защиту
- Системные списки FlowSpec-правил для направления трафика на очистку
- Системные списки FlowSpec-правил для анонсирования соседям префиксов, трафик которых должен быть полностью сброшен
- Системные списки FlowSpec-правил для сигнализации вышестоящим операторам связи или поставщикам услуг защиты
- Системные списки FlowSpec-правил для защиты от UDP-амплификаций
- Активация BGP-анонсирования
- Автоматическое снятие BGP-анонсов
- Способы применения
Памятка
Более подробно о всех аспектах настройки взаимодействия ниже.
Локальные параметры BGP
Выполняется определение локальных параметров экземпляров кластера и для каждого экземпляра персонально разрешается установка BGP-соединения с BGP-соседями.
BGP-соседи
Экземпляры MITIGATOR могут устанавливать BGP-соединение с другими устройствами сети, каждое из которых задается в системе как BGP-сосед. Любой из экземпляров может соединяться с одним или несколькими соседями.
При создании в системе BGP-соседа указывается, какой экземпляр взаимодействует с соседом, сетевые параметры соседа, nexthop, сообщаемый при отправке BGP-анонса, и другие параметры. Поддерживается атрибут MED, определяющий приоритет маршрута следования трафика от BGP-соседа на экземпляр MITIGATOR. При наличии нескольких равноправных маршрутов будет выбран маршрут с наименьшим значением MED.
Каждому BGP-соседу может быть присвоено свойство «Источник проверочного списка префиксов». Все префиксы, поступающие от такого BGP-соседа, будут считаться проверочными, что помогает избежать blackhole.
Также экземпляр MITIGATOR может получать от BGP-соседа префиксы, трафик которых должен быть направлен на очистку, если для BGP-соседа активирована функция «Принимать префиксы под защиту». Подробнее о настройке связки по передаче и приему префиксов, трафик на которые должен очищаться, в статье.
BGP-сосед может быть ассоциирован с группой. FlowSpec-правила и префиксы для направления трафика на очистку, проверяются на соответствие префиксам получателей данной группы. Такое поведение позволяет не оказывать влияния на трафик, не относящийся к указанной группе.
Также для каждого BGP-соседа предусмотрена персональная политика анонса.
Политика анонса
Политика анонса это параметры рассылки, адресованной конкретному BGP-соседу. Значения в политику анонса добавляются из списков, которые пользователь заранее задает в карточках «Списки префиксов», «Списки FlowSpec» и «Списки Community».
Также в политике анонса может быть задан персональный nexthop для конкретного списка префиксов.
Если экземпляр MITIGATOR, с которого устанавливается BGP-соединение с соседом, работает в режиме интеграции в сеть «L3-роутер», то для работы анонсирования требуется каждому списку указать обслуживаемую зону – пару VLAN ID. MITIGATOR будет анонсировать списки BGP-соседу только если внешний и внутренний роутеры данной зоны отвечают на ARP-запросы.
Списки префиксов
Если список префиксов занесен в политику анонса BGP-соседа, этот сосед будет получать актуальные значения префиксов, принадлежащих списку. Список префиксов может быть помечен как сверяемый, в этом случае BGP-соседу будут передаваться не все префиксы списка, а только те из них, что остались после сравнения с проверочным списком.
Списки префиксов могут формироваться вручную или автоматически.
Списки FlowSpec
Если список FlowSpec-правил занесен в политику анонса BGP-соседа, то сосед будет получать актуальные правила для осуществления фильтрации трафика или его перенаправления. Поддерживаются действия над трафиком:
- redirect – перенаправление;
- drop – сброс;
- pass – пропускание;
- rate-limit – ограничение.
Списки FlowSpec-правил могут формироваться вручную или автоматически.
Списки Community
Списки Community существуют для управления распространением BGP-анонсов.
Значения из списка Community могут быть добавлены в политику анонса BGP-соседа
для списков префиксов и FlowSpec-правил как дополнительное свойство.
Механизм поддерживает Well-known Community: internet
, planned-shut
, accept-own
,
route-filter-translated-v4
, route-filter-v4
, route-filter-translated-v6
,
route-filter-v6
, llgr-stale
, no-llgr
, blackhole
, no-export
, no-advertise
,
no-export-subconfed
и no-peer
.
Значения Community могут записываться в виде:
- ключевого слова – названия Well-known Community;
- 32-битного числа;
- пары 16 битных чисел в формате
ASN:VALUE
, гдеASN
– номер автономной системы, аVALUE
– номер Community в данной системе; - трех 32 битных чисел в формате
ASN:LOCAL_DATA_PART1:LOCAL_DATA_PART2
, гдеASN
– номер автономной системы, аLOCAL_DATA_PART1
иLOCAL_DATA_PART2
– значения, определяемые пользователем.
Формирование списков
Списки префиксов и списки FlowSpec-правил могут быть заданы вручную или формироваться системой автоматически.
В MITIGATOR всегда присутствуют системные списки, имеющие в названии system
,
они наполняются при определенных условиях, зависящих от типа списка.
Типы списков
Системные списки бывают стандартные и специальные.
К специальным относятся .blackhole.
, .signaling.
и .amplification.
.
Все остальные списки — стандартные.
Наполнение стандартных списков
Для того, чтобы активировать наполнение стандартных списков требуется либо
вручную включить переключатель BGP-анонсирования в политике защиты, либо
должен сработать любой из порогов автодетектирования, имеющий .Announce.
в названии.
Наполнение специальных списков
Для каждого вида специальных списков есть собственные пороги активации наполнения:
.blackhole.
— наполнение активируется только порогами автодетектирования с.Blackhole.
в названии. Списки применяются для анонсирования соседям префиксов, трафик на которые должен быть полностью сброшен..signaling.
— наполнение активируется только порогами автодетектирования с.Signaling.
в названии. Списки применяются для анонсирования соседям префиксов, трафик на которые должен быть очищен вышестоящим оператором связи или поставщиком услуги защиты по данным MITIGATOR..amplification.
— наполнение активируется только порогами автодетектирования с.Amplification.
в названии. Списки применяются для анонсирования соседям flowspec-правил фильтрации трафика определенного типа, связанного с конкретным видом UDP-амплификации.
Наполнение никаких специальных списков нельзя активировать вручную.
Важно: не следует путать .Announce.
и .Amplification.
пороги, даже если они
ведут подсчет по одной и той же метрике.
Например:
Порог Policy.BGP.Announce.Flow.Arms.InputPps.On = 1
наполнит стандартные списки значениями
IP-адресов, на которые по данным Collector поступает трафик, соответствующий типу амплификации,
выше порога.
Применение стандартного списка, наполненного таким образом, повлияет на весь трафик префиксов,
попавших в список.
Порог Policy.BGP.Amplification.Flow.Arms.InputPps.On = 1
наполнит только один из списков
flowspec-правил system.policy.flowspec.amplification.arms.prefixes
или
system.policy.flowspec.amplification.arms.ips
, в зависимости от настроек в политике защиты.
Применение этих списков означает использование с шаблоном правила drop udp sport 3283 $prefixes
,
поэтому они повлияют только на трафик с порта 3283.
Источники метрик, которые могут являться триггером для наполнения списков
Списки могут наполняться по метрикам MITIGATOR, или по метрикам Collector.
Все пороги автодетектирования, которые содержат в названии .Flow.
активируют
наполнение списков по метрикам с Collector.
Все остальные — по метрикам MITIGATOR.
Отслеживаемые метрики
В MITIGATOR предусмотрено множество разнообразных метрик, по которым могут срабатывать пороги автодетектирования. Среди них:
- по уровню входящего трафика в политику защиты по метрикам обработчика пакетов или по метрикам с Collector, общему или определенного протокола;
- по уровню сброса конкретными контрмерами на основе счетчиков обработчика пакетов;
- по уровню сброса конкретными контрмерами на основе метрик Collector, в случае когда с MITIGATOR на Collector отправляется sFlow по сбросам;
- по количеству уникальных IP-адресов отправителей по метрикам обработчика пакетов или по метрикам с Collector:
- по уровню тестового сброса в политике защиты и другие.
Набор метрик для порогов автодетектирования постоянно расширяется, актуальную информацию можно получить во встроенной документации MITIGATOR в разделе «Настройка параметров автодетектирования».
Данные для наполнения списков
В названии списка также указано, чем конкретно он будет наполнен:
.rules
— значениями 5-tuple из правил маршрутизации на политику защиты;.prefixes
— префиксами получателя из правил маршрутизации на политику защиты;.ips.
— IP-адресами получателя, для которых замечено превышение установленных порогов на Collector или в HPD.
Возможны комбинации.
Например, если в названии списка указно .rules.hpd.ips
, это означает,
что он формируется из значений четырех параметров в правилах маршрутизации, ведущих
на политику защиты: протокол, префикс отправителя, порт отправителя и порт получателя.
В качестве префикса получателя используются IP-адреса, для которых HPD зафиксировал
превышение установленного порога.
Списки c .checked
в названии сравниваются с проверочным списком.
Списки c .protected
в названии применяются для того, чтобы переанонсировать от себя
префиксы, полученные от BGP-соседа. Подробнее.
Подробно о каждом списке
Ниже перечислены все системные списки и их описания.
Системные списки префиксов для направления трафика на очистку
-
system.policy.prefixes
формируется из префиксов получателя в правилах маршрутизации, ведущих на политику защиты. Список не наполняется, если включено наполнение спискаsystem.policy.ips
. -
system.policy.prefixes.checked
равен по содержанию спискуsystem.policy.prefixes
, но сравнивается с проверочным списком. -
system.policy.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог. Должен быть задан флаг «Наполнять листы IP-адресами на основе данных коллектора» на вкладке «Настройка политики» страницы «Политика защиты» и пороги скорости в пакетах и битах. -
system.policy.ips.checked
равен по содержанию спискуsystem.policy.ips
, но сравнивается с проверочным списком.
Системные списки префиксов для анонсирования соседям префиксов, трафик на которые должен сбрасываться
-
system.policy.blackhole.prefixes
формируется из префиксов получателя в правилах маршрутизации, ведущих на политику защиты. -
system.policy.blackhole.prefixes.checked
равен по содержанию спискуsystem.policy.blackhole.prefixes
, но сравнивается с проверочным списком. -
system.policy.blackhole.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог для направления в blackhole. На вкладке «Настройка политики» страницы «Политика защиты» должны быть заданы пороги скорости в пакетах и битах. -
system.policy.blackhole.ips.checked
равен по содержанию спискуsystem.policy.blackhole.ips
, но сравнивается с проверочным списком. -
system.policy.blackhole.hpd.ips
формируется из IP-адресов, скорость поступления трафика на которые превышает порог, заданный в HPD. -
system.policy.blackhole.hpd.ips.checked
равен по содержанию спискуsystem.policy.blackhole.hpd.ips
, но сравнивается с проверочным списком.
Системные списки префиксов для сигнализации вышестоящим операторам связи или поставщикам услуг защиты
-
system.policy.signaling.prefixes
формируется из префиксов получателя в правилах маршрутизации, ведущих на политику защиты. -
system.policy.signaling.prefixes.checked
равен по содержанию спискуsystem.policy.signaling.prefixes
, но сравнивается с проверочным списком. -
system.policy.signaling.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог для сигнализации. На вкладке «Настройка политики» страницы «Политика защиты» должны быть заданы пороги скорости в пакетах и битах. -
system.policy.signaling.ips.checked
равен по содержанию спискуsystem.policy.signaling.ips
, но сравнивается с проверочным списком. -
system.policy.signaling.hpd.ips
формируется из IP-адресов политики защиты, скорость поступления трафика на которые превышает установленный порог для сигнализации, по данным HPD. -
system.policy.signaling.hpd.ips.checked
равен по содержанию спискуsystem.policy.signaling.hpd.ips
, но сравнивается с проверочным списком.
Системные списки префиксов для приема префиксов под защиту
-
system.protected.prefixes
формируется из префиксов, полученных от BGP-соседа, в настройках которого задан флаг «Принимать префиксы под защиту». Если BGP-сосед ассоциирован с группой, то сообщенные им префиксы будут включены в список только если принадлежат группе. -
system.protected.prefixes.checked
равен по содержанию спискуsystem.protected.prefixes
, но сравнивается с проверочным списком.
Системные списки FlowSpec-правил для направления трафика на очистку
Для работы системных списков FlowSpec-правил требуется задать шаблоны правил, в которые будут подставляться префиксы или адреса. Если шаблоны не заданы, правила не формируются. При внесении изменений в шаблоны или в правила маршрутизации FlowSpec-правила обновляются.
-
system.policy.flowspec.prefixes
формируется из префиксов получателя в правилах маршрутизации, ведущих на политику защиты. Список не наполняется, если включено наполнение спискаsystem.policy.flowspec.ips
на основе данных Collector. -
system.policy.flowspec.rules
формируется из полного набора параметров в правилах маршрутизации, ведущих на политику защиты. Список не наполняется, если включено наполнение спискаsystem.policy.ips.rules
на основе данных Collector. -
system.policy.flowspec.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог. Должен быть задан флаг «Наполнять листы IP-адресами на основе данных коллектора» на вкладке «Настройка политики» страницы «Политика защиты» и пороги скорости в пакетах и битах. -
system.policy.flowspec.ips.rules
формируется из значений четырех параметров в правилах маршрутизации, ведущих на политику защиты: протокол, префикс отправителя, порт отправителя и порт получателя. В качестве префикса получателя используются IP-адреса, полученные от Collector, скорость поступления трафика на которые превышает установленный порог. Должен быть задан флаг «Наполнять листы IP-адресами на основе данных коллектора» на вкладке «Настройка политики» страницы «Политика защиты» и пороги скорости в пакетах и битах.
Системные списки FlowSpec-правил для анонсирования соседям префиксов, трафик которых должен быть полностью сброшен
-
system.policy.flowspec.blackhole.prefixes
формируется из префиксов получателя в правилах маршрутизации, ведущих на политику защиты. -
system.policy.flowspec.blackhole.rules
формируется из полного набора параметров в правилах маршрутизации, ведущих на политику защиты. -
system.policy.flowspec.blackhole.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог для направления в blackhole. На вкладке «Настройка политики» страницы «Политика защиты» должны быть заданы пороги скорости в пакетах и битах. -
system.policy.flowspec.blackhole.rules.ips
формируется из значений четырех параметров в правилах маршрутизации, ведущих на политику защиты: протокол, префикс отправителя, порт отправителя и порт получателя. В качестве префикса получателя используются IP-адреса, полученные от Collector, скорость поступления трафика на которые превышает установленный порог. На вкладке «Настройка политики» страницы «Политика защиты» должны быть заданы пороги скорости в пакетах и битах. -
system.policy.flowspec.blackhole.hpd.ips
формируется из IP-адресов политики защиты, скорость поступления трафика на которые превышает установленный порог для направления в blackhole, по данным HPD. -
system.policy.flowspec.blackhole.rules.hpd.ips
формируется из значений четырех параметров из правил маршрутизации, ведущих на эту политику: протокол, префикс отправителя, порт отправителя и порт получателя. В префикс получателя подставляются IP-адреса, полученные от HPD, скорости поступления трафика на которые превышают установленные пороги для направления в blackhole.
Системные списки FlowSpec-правил для сигнализации вышестоящим операторам связи или поставщикам услуг защиты
-
system.policy.flowspec.signaling.prefixes
формируется из префиксов получателя в правилах маршрутизации, ведущих на политику защиты. -
system.policy.flowspec.signaling.rules
формируется из полного набора параметров в правилах маршрутизации, ведущих на политику защиты. -
system.policy.flowspec.signaling.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог для сигнализации. На вкладке «Настройка политики» страницы «Политика защиты» должны быть заданы пороги скорости в пакетах и битах. -
system.policy.flowspec.signaling.rules.ips
формируется из IP-адресов, полученных от Collector, скорость поступления трафика на которые превышает установленный порог для сигнализации. На вкладке «Настройка политики» страницы «Политика защиты» должны быть заданы пороги скорости в пакетах и битах. -
system.policy.flowspec.signaling.hpd.ips
формируется из IP-адресов политики защиты, скорость поступления трафика на которые превышает установленный порог для сигнализации, по данным HPD. -
system.policy.flowspec.signaling.rules.hpd.ips
формируется из значений четырех параметров из правил маршрутизации, ведущих на эту политику: протокол, префикс отправителя, порт отправителя и порт получателя. В префикс получателя подставляются IP-адреса, полученные от HPD, скорости поступления трафика на которые превышают установленные пороги для сигнализации.
Системные списки FlowSpec-правил для защиты от UDP-амплификаций
Все списки для борьбы с амплификациями работают одинаково, но каждый предназначен для
отдельного вида амплификации.
*
в названии списка и порога автодетектирования, отвечающего за его наполнение указывает
на тип амплификации.
Они бывают: Udp
, Dns
, IpFragment
, Chargen
, Cldap
, Spss
, Arms
, Coap
, WS
,
L2tp
, mDns
, Memcached
, MsSqlRs
, NetBios
, Ntp
, RipV1
, RpcBind
, Snmp
, Ssdp
.
-
system.policy.flowspec.amplification.*.prefixes
формируется из IP-адресов получателя в правилах маршрутизации на политику защиты, если на Collector зафиксировано превышение порога по трафику, соответствующему типу амплификации. -
system.policy.flowspec.amplification.*.ips
формируется из IP-адресов получателя, для которых на Collector зафиксировано превышение порога по трафику, соответствующему типу амплификации.
Активация BGP-анонсирования
BGP-анонсирование для заворота трафика на фильтрацию может быть активировано вручную или автоматически.
Ручная активация из политики защиты
BGP-анонсирование может быть активировано вручную с помощью переключателя «Отправлять BGP-анонсы» на странице «Политика защиты». Если анонсирование включено, то рядом с переключателем появляется иконка , нажатие на которую покажет список префиксов политики, выбранных для анонса.
Автоматическая активация
Автоматическая активация BGP-анонсирования выполняется по превышению порогов автодетектирования.
- по данным MITIGATOR;
- по данным Collector.
Вариативность списков и порогов для активации их наполнения подробно описана выше.
Автоматическое снятие BGP-анонсов
BGP-анонсы могут автоматически сниматься по следующим причинам:
- по срабатыванию предикатов механизма автодетектирования;
- из-за остановки обработчика пакетов;
- из-за остановки gobgp;
- если анонсируемый префикс исключен из проверочного списка;
- если IP-адреса внешнего или внутреннего роутеров не отвечают на ARP-запросы.
Отключение механизмом автодетектирования
При падении уровня трафика ниже порога, заданной предикатами на отключение BGP-анонсирования, анонсы снимутся автоматически. BGP-сессия продолжает работать.
Остановка обработчика пакетов
В случае остановки обработчика пакетов на конкретном экземпляре MITIGATOR, все анонсы BGP-соседям с этого экземпляра автоматически снимаются. BGP-сессия прерывается.
Остановка gobgp
В случае остановки gobgp на конкретном экземпляре MITIGATOR, все анонсы BGP-соседям с этого экземпляра автоматически снимаются. BGP-сессия прерывается.
Анонсируемый префикс исключен из проверочного списка
Если BGP-соседу анонсируется префикс лист с установленным свойством «Сверять», то в случае если источник проверочного списка перестал сообщать префикс, этот префикс автоматически исключается из анонса BGP-соседу. BGP-сессия продолжает работать.
IP-адреса внешнего или внутреннего роутеров не отвечают на ARP-запросы
Если в политике анонса BGP-соседа анонсируемому списку указана зона, и эта зона не разрешается на экземпляре MITIGATOR, то такой список перестает анонсироваться. BGP-сессия продолжает работать. При необходимости данная проверка может быть отключена.
Способы применения
Перенаправление трафика на очистку по BGP-анонсу
Рассмотрим схему сети, в которой несколько экземпляров MITIGATOR работают в режиме «On-demand».
При отсутствии необходимости защиты трафик на защищаемый ресурс может поступать
напрямую от R1 к R2, минуя MITIGATOR. В настройках BGP-соседа R1 указан список
префиксов system.policy.prefixes
. При активации BGP-анонсирования он наполняется
значениями dst_prefix
из правил маршрутизации, ведущих на данную политику. Этим
экземпляры MITIGATOR сообщают, что защищаемый префикс 192.0.2.1/32
доступен через
IPm1 и IPm2. Трафик начинает поступать на очистку. После окончания атаки BGP-анонс
снимается и трафик идет прежним маршрутом.
Таким образом, применение схемы с перенаправлением трафика на очистку по BGP-анонсу позволяет:
- повысить отказоустойчивость;
- горизонтально масштабировать кластер для повышения производительности;
- защищать ресурсы адресно;
- по необходимости пускать трафик на MITIGATOR в режиме «On-demand», либо снимать трафик с защиты в режиме «Always-on»;
- упростить процедуру обслуживания и поиска неисправностей.
Для минимизации времени обновления маршрутов в случае нештатного отключения сервера с MITIGATOR можно использовать протокол BFD.
Проверочные списки
Во избежание blackhole, когда с MITIGATOR анонсируются префиксы до которых нет связности у нижестоящего роутера, предусмотрен механизм анонсирования только гарантированно доступных префиксов. Для работы механизма нужно, чтобы экземпляр MITIGATOR получал информацию о состоянии ресурсов в защищаемой сети, поэтому требуется установить еще одно BGP-соединение с роутером R2.
Содержимое списков префиксов, для которых задано свойство «Сверять», сверяются
с проверочным списком, полученным от BGP-соседа. У системных списков сверяемыми
являются те, в названии которых указано .checked
, свойство «Сверять» с них не
снимается.
Рассмотрим на примере, как изменяется состав анонсируемых префиксов в зависимости от того, что сообщает BGP-сосед R2:
У экземпляров MITIGATOR1
и MITIGATOR2
по два BGP-соседа: Сосед 1
и Сосед 2
.
Сосед 1
– BGP-сосед, которому экземпляр MITIGATOR анонсирует сверяемый системный
список префиксов system.policy.prefixes.checked
. В списке system.policy.prefixes.checked
присутствует префикс 192.0.2.0/24
, добавленный из правила маршрутизации на политику
защиты.
Сосед 2
– BGP-сосед, помеченный как источник проверочного списка.
Пример 1:
Сосед 2
сообщает экземплярам MITIGATOR, что через него доступен префикс 192.0.0.0/16
.
В этом случае экземпляры MITIGATOR анонсирует Соседу 1
префикс 192.0.2.0/24
,
так как проверочный список это разрешает.
Пример 2:
Сосед 2
сообщает экземплярам MITIGATOR, что через него доступен префикс 192.0.2.1/32
.
В этом случае экземпляры MITIGATOR не анонсируют Соседу 1
никакие префиксы, так
как маска анонсируемого префикса меньше чем у префикса в проверочном списке.
Более специфичные префиксы
В локальных параметрах экземпляра MITIGATOR можно разрешить анонсировать более специфичные префиксы, чем указано в анонсируемом списке.
Пример 3:
В локальных параметрах BGP-соединения экземпляров MITIGATOR1
и MITIGATOR2
установлен
флаг «Более специфичные».
Сосед 2
сообщает экземплярам MITIGATOR, что через него доступен префикс 192.0.2.1/32
.
В этом случае экземпляры MITIGATOR анонсируют Соседу 1
префикс 192.0.2.1/32
,
так как разрешено анонсирование более специфичных префиксов, чем указано в
списке system.policy.prefixes.checked
.
Перенаправление трафика на очистку по FlowSpec
Похожим образом происходит перенаправление трафика анонсированием FlowSpec-правил.
Во время работы механизма BGP-анонсирования наполняются системные списки FlowSpec-правил
system.policy.flowspec.prefixes
и system.policy.flowspec.rules
. Эти списки
содержат в себе шаблон с действием, RD и переменной. В список system.policy.flowspec.prefixes
подставляются значения из dst_prefix
, а в список system.policy.flowspec.rules
полный
набор параметров из правил маршрутизации.
Например, в MITIGATOR задано правило маршрутизации, ведущее на политику Policy1
:
Занесем в политику анонса для BGP-соседа R1 системный список
system.policy.flowspec.prefixes
и зададим для него шаблон:
redirect 123:321 $prefixes
В этом случае BGP-соседу R1 будет отправлен список FlowSpec-правил со значением
# Policy1 (ID 4) redirect 123:321 dst 192.0.2.1/32
. Здесь Policy1 (ID 4)
–
название и ID политики защиты.
Аналогичный шаблон для списка system.policy.flowspec.rules
redirect 123:321 $rules
сформирует правило # Policy1 (ID 4) redirect 123:321 protocol 6 dst 192.0.2.1/32 sport 8080 dport 8080
с полным набором параметров из правила маршрутизации.
Получив правила вышестоящий роутер R1 перенаправит трафик, соответствующий данным правилам на очистку.
Blackhole трафика по BGP-анонсу
При превышении порогов трафика в политике защиты или по данным Collector наполняются
соответствующие системные списки .blackhole.
. Community при анонсировании этих списков указывается
в политике анонса BGP-соседу.
Таким образом весь трафик, адресованный IP-адресу 192.0.2.1/32
будет полностью
сброшен еще до MITIGATOR. При данном способе будет сбрасываться
также и легитимный трафик, что приведет к недоступности защищаемого ресурса, однако,
исключит повреждение защищаемой сетевой инфраструктуры на время атаки. После
окончания атаки анонс будет снят и трафик снова будет поступать на защищаемый сервер.
О наполнении blackhole-списков префиксами политики сигнализирует индикатор, появляющийся рядом с переключателем «Отправлять BGP-анонсы» на странице «Политика защиты».
Прием префиксов под защиту
В MITIGATOR предусмотрена возможность получения от BGP-соседа префиксов, трафик которых следует направить на очистку, что позволяет реализовать сценарий сигнализации между клиентским и операторским MITIGATOR без использования дополнительных route reflector.
Например, у оператора связи настроен MITIGATOR. Клиентский MITIGATOR добавлен как
BGP-сосед, для которого активирована функция «Принимать префиксы под защиту».
MITIGATOR клиента детектирует атаку и передает signaling
списки атакуемых префиксов.
Подробнее.
На MITIGATOR оператора связи получаемые от BGP-соседа префиксы заносятся в системный
список префиксов system.protected.prefixes
, после чего этот список анонсируется
всем BGP-соседям, для которых список указан в политике анонса. Таким образом происходит
направление трафика данных префиксов на очистку на более высоком эшелоне защиты.
Рассылка FlowSpec-правил для фильтрации
Сформировав список FlowSpec-правил с действием DROP и передав его BGP-соседу R1, можно дополнительно осуществлять фильтрацию трафика на вышестоящем маршрутизаторе. Также можно ограничивать поступление трафика, соответствующего правилу, на MITIGATOR действием rate-limit.
Blackhole трафика по FlowSpec
По FlowSpec возможна автоматическая отправка правил для сброса трафика.
При срабатывании условий автодетектирования для blackhole наполняются списки
FlowSpec-правил system.policy.flowspec.blackhole.rules
,
system.policy.flowspec.blackhole.rules.ips
и
system.policy.flowspec.blackhole.rules.hpd.ips
. Эти списки содержат в себе шаблон
с действием drop dst $PREFIX
или drop $RULES
.
Например, в MITIGATOR задано правило маршрутизации, ведущее на политику Policy1
:
Занесем в политику анонса для BGP-соседа R1 системный список
system.policy.flowspec.blackhole.rules
и зададим для него шаблон:
drop $RULES
В этом случае BGP-соседу R1 будет отправлен список FlowSpec-правил со значением
# Policy1 (ID 4) drop protocol 6 dst 192.0.2.1/32 sport 8080 dport 8080
. Здесь Policy1 (ID 4)
–
название и ID политики защиты.
Получив правила вышестоящий роутер R1 сбросит трафик, соответствующий данным правилам.
Прием правил фильтрации
MITIGATOR также может принимать FlowSpec-правила от других устройств. Для этого в настройках BGP-соседа нужно разрешить получение FlowSpec.
Здесь же задается принадлежность соседа группе и указывается максимальное количество
правил, которое сосед может сообщить. В FlowSpec-правилах, получаемых от групповых
соседей обязательно наличие dst_prefix
, принадлежащих защищаемым префиксам группы.
Полученные от соседа правила заносятся в контрмеру FACL общей защиты для фильтрации
трафика, при этом проверяется принадлежность правил к группе по префиксу получателя
и в контрмеру FACL будут записаны только не противоречащие проверке правила.
Collector
Активировав наполнение системных списков ips
по данным из Collector, можно анонсировать
не префиксы, а конкретные IP-адреса. При этом, если на Collector замечено превышение
установленного порога трафика, адресованного IP-адресу, только этот адрес будет добавлен в
список и передан BGP-соседям. Таким образом можно направлять на очистку только трафик
IP-адресов под атакой, в то время как весь остальной трафик защищаемого префикса будет
направляться по прямому маршруту от R1 к R2.
Сигнализация
MITIGATOR может использовать взаимодействие по BGP в сценарии сигнализации вышестоящим операторам связи или поставщикам услуг защиты.