Информационные технологииStfw.Ru 🔍

BGP Blackhole - средство борьбы с DDOS

C подобным неприятным явлением как DDOS атака, рано или поздно сталкивается любой администратор публичного сайта.
🕛 21.04.2010, 23:35
Нет особого смысла расписывать, что такое DDOS, сейчас об этом явлении знает любой сетевик. К несчастью, нету метода защиты от DDOS подходящего для всех ситуаций. Хотя, максимально действенным и нередко применяемым является null routing - полная фильтрация трафика на атакуемый IP. Затем, как хост зафильтрован, возможно в (сравнительно) спокойной обстановке перенести ресурс на иной IP-адрес (и, вероятно, сменить DNS имя), или просто свыкнуться с временной недоступностью одного сайта, сохранив работоспособность прочих.

Но еще и простая фильтрация также не так проста. Ведь резать траф на своем граничном маршрутизаторе оказывается достаточно накладно. В первую очередь, маршрутизатор класса Cisco 3745 с включенными финтифлюшками, типа ACL и QOS, при SYN Flood начинает показывать признаки смерти уже на смешном потоке в 2-3 мбит/c. Во-вторых, загрузка физического канала мешает нормальной работе легитимных клиентов. Ну и, в-третьих, если у вас не анлим, то ISP непременно выставит вам счет на все залитые вам мусорные гигабайты.

Выход здесь 1 - фильтровать траф как возможно более близко к источнику, то есть, у аплинка. Есть старый добрый метод: снять трубку телефона и объяснить ситуацию техподдержке провайдера с просьбой зафильтровать траф на их стороне. У этого метода есть значительный недостаток: объяснения и переговоры занимают неприемлемо немало времени. А если провайдеров несколько, то это время пропорционально растет.

Подстелить соломки и подготовится к возможному DDOS поможет способ под названием BGP blackhole (RFC3882).
Суть его проста: это "темная дырка" для трафика на стороне ISP, удаленно управляемая клиентом. Технически это выглядит как BGP-анонс префикса /32 помеченного специальным community.

Как нужно из наименования, для работы способа требуется BGP-соседство с провайдером. И конечно, он требует маленький дополнительной конфигурации с обеих сторон.
Посмотрим, как это работает на примере маршрутизаторов Cisco.

Сторона ISP.


! Требуется выбрать произвольный IP и завернуть его в null0.
! Он будет next-hop-ом для мусорного трафика.
ip route 255.255.255.255 Null0
!
router bgp XXX
! Назначим route-map для клиента
neighbor route-map CUSTOMER-IN in
! Разрешаем клиенту анонсировать /32 из собственного блока
neighbor prefix-list in
! Даже если клиент подключен без эксплуатации ebgp multi-hop, эта строчка
! необходима из-за особенностей работы ios. Т.к. для оценки достижимости netxhop-а
! в cisco используется тот же параметр, что и ebgp multi-hop.
neighbor ebgp multi-hop 2
! Тут случается вся магия
route-map CUSTOMER-IN permit 10
match ip community :666
set ip next-hop
set community additive no-export

Сторона клиента.


Здесь все слегка легче:

! Описываем фильтр для редистрибуции.
! На статические маршруты с тэгом 666 устанавливаем community :666
route-map BGP-BLACKHOLE permit 5
match tag 666
set community :666 additive
!
router bgp YYY
! Разрешаем редистрибуцию статических маршрутов по нашему фильтру
redistribute static route-map BGP-BLACKHOLE
! Разрешим отсылку community нашему аплинку
neighbor send-community

Итак, если пришла пора биться с DDOS, клиент просто добавляет маршрут в Null на атакуемый хост и вешает на него тэг 666:
ip route 192.168.66.6 255.255.255.255 Null0 tag 666
Этот маршрут с community 666, анонсируется ISP, который тоже заворачивает траф в null0.
Если ISP также подстелил соломки и настроил BGP Blackhole со собственным аплинком, то цепочка продолжится и "вороная дырка" расширится, избавив провайдера от лишней нагрузки и мусорного трафика.

К несчастью, эта "услуга" пока что редка из отечественных провайдеров. Хотя процесс идет, и многие провайдеры с готовностью идут навстречу клиентам и реализуют этот механизм.

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

Информационная безопасность   Теги: Ddos

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉