Взаимодействие по 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 в сценарии сигнализации вышестоящим операторам связи или поставщикам услуг защиты.