Облачная сигнализация (BGP)
Установленный на периметре сетевой инфраструктуры DosGate способен подавить вредоносный трафик до общей пропускной способности входящих каналов связи и производительности локальной инсталляции. В случае переполнения входящих каналов связи или локального центра очистки, FlowCollector может в автоматическом режиме подать сигнал о подключении фильтрации на вышестоящих операторов связи или MSSP (поставщиков услуг защиты).
FlowCollector реализует механизм облачной сигнализации за счет интеграции с GoBGP.
Настройка сигнализации по BGP
FlowCollector на основании настроенных объектов защиты автоматически определяет начало и конец сетевой аномалии, а также префиксы находящиеся под атакой, которые он направит на вышестоящих операторов связи или MSSP.
Установите GoBGP
sudo apt install gobgpd=3.19.0
Активируйте GoBGP на FlowCollector в файле analyzer.yaml
При детекции сетевой аномалии (DDoS-атаки) - будут активироваться политики указанные в GoBGP
gobgp:
enable: true
# Хост GoBGP API
host: localhost
# Порт GoBGP API
port: 50051
Конфигурация политик маршрутизации
sudo nano /etc/gobgpd.conf
Замените в примере конфигурации следующие данные:
192.0.100.103
- IP-адрес FlowCollector192.0.100.101
- IP первого BGP соседа192.0.100.102
- IP второго BGP соседа65003
- AS FlowCollector65001
и65002
- AS BGP соседей192.0.1.101
- nexthop для первого BGP соседа192.0.1.102
- nexthop для второго BGP соседа
[global.config]
as = 65003
router-id = "192.0.100.103"
port = 179
[global.apply-policy.config]
export-policy-list = ["first-export-policy", "second-export-policy"]
[[neighbors]]
[neighbors.config]
neighbor-address = "192.0.100.101"
peer-as = 65001
[neighbors.ebgp-multihop.config]
enabled = true
[[neighbors.afi-safis]]
[neighbors.afi-safis.config]
afi-safi-name = "ipv4-unicast"
[neighbors.transport.config]
local-address = "192.0.100.103"
[neighbors.apply-policy.config]
default-import-policy = "reject-route"
default-export-policy = "reject-route"
[[neighbors]]
[neighbors.config]
neighbor-address = "192.0.100.102"
peer-as = 65002
[neighbors.ebgp-multihop.config]
enabled = true
[[neighbors.afi-safis]]
[neighbors.afi-safis.config]
afi-safi-name = "ipv4-unicast"
[neighbors.transport.config]
local-address = "192.0.100.103"
[neighbors.apply-policy.config]
default-import-policy = "reject-route"
default-export-policy = "reject-route"
[[defined-sets.neighbor-sets]]
neighbor-set-name = "first-neighbor"
neighbor-info-list = ["192.0.100.101"]
[[defined-sets.neighbor-sets]]
neighbor-set-name = "second-neighbor"
neighbor-info-list = ["192.0.100.102"]
[[defined-sets.prefix-sets]]
prefix-set-name = "allowed-prefixes"
[[defined-sets.prefix-sets.prefix-list]]
ip-prefix = "0.0.0.0/0"
masklength-range = "25..32"
[[policy-definitions]]
name = "first-export-policy"
[[policy-definitions.statements]]
name = "first-statement"
[policy-definitions.statements.conditions.match-prefix-set]
prefix-set = "allowed-prefixes"
[policy-definitions.statements.conditions.match-neighbor-set]
neighbor-set = "first-neighbor"
[policy-definitions.statements.actions]
route-disposition = "accept-route"
[policy-definitions.statements.actions.bgp-actions]
set-next-hop = "192.0.1.101"
[[policy-definitions]]
name = "second-export-policy"
[[policy-definitions.statements]]
name = "second-statement"
[policy-definitions.statements.conditions.match-prefix-set]
prefix-set = "allowed-prefixes"
[policy-definitions.statements.conditions.match-neighbor-set]
neighbor-set = "second-neighbor"
[policy-definitions.statements.actions]
route-disposition = "accept-route"
[policy-definitions.statements.actions.bgp-actions]
set-next-hop = "192.0.1.102"
Перезапустите GoBGP
Перезапустите сервис, убедитесь что запустился демон
sudo systemctl enable --now gobgpd
sudo service gobgpd restart
sudo service gobgpd status
Перезапустите FlowCollector
Перезапуск сервиса нужен для применения изменений к analyzer.yaml
sudo service analyzer restart
sudo service analyzer status
Проверьте активные BGP-сессии
Команда покажет BGP-соседей и статус каждой сессии. Если всё настроено - все сессии должны быть успешно установлены ("Established")
sudo gobgpd nei