Протокол BGP
В 90-х интернет начал развиваться в ускоренном темпе. Появлялись новые технологии, эволюционировали интернет-провайдеры, а вместе с ними и сайты. Главными двигателями этого прогресса были люди, и одни из ключевых — программисты Яков Рехтер (IBM) и Кирк Лугхид (Cisco). В январе 1989 года они придумали способ динамической маршрутизации — протокол BGP, который сегодня стал одним из основных в интернете. Его первая версия родилась буквально на салфетке, потому что по стечению обстоятельств под рукой не оказалось листка бумаги. Так появился BGP, без которого пользователи не смогли бы смотреть видео в YouTube или загуглить нужную им информацию. Можно смело утверждать, что BGP-протокол является одним из самых важных для сети Интернет.
Протокол BGP был создан для того, чтобы обеспечивать передачу данных между различными AS.
AS — система взаимосвязанных IP-сетей и маршрутизаторов, которые находятся под управлением одного или нескольких операторов с единой политикой маршрутизации в Интернете. Из таких автономных систем состоит весь интернет в целом. Если представить AS в виде городов, то протокол BGP — это магистрали, благодаря которым города связаны между собой.
Что такое BGP-маршрутизация
BGP-маршрутизация основана на принципе передачи информации о сетевых маршрутах между различными автономными системами или сетями, а также внутри них.
Чтобы обмениваться данными о маршрутах, протокол использует TCP-сессии между BGP-соседями или BGP-пирами. Для поддержания связи BGP-соседи отправляют друг другу сообщения о доступности. Этот период называется keep-alive. Другой период — hold time — время, в течение которого будет поддерживаться TCP-сессия. Этот период нужен для того, чтобы определить неактивного BGP-соседа. Если за этот промежуток времени от роутера не поступает ни одного сообщения, он исключается из маршрутизации.
При обмене маршрутов из одной AS в другую всегда записывается номер каждой системы, через которую прошел пакет. При этом BGP-соседи делятся информацией об адресе сети, а также о других характеристиках маршрутов. Эти данные помогают пограничным шлюзам направлять потоки данных по наиболее оптимальному пути от отправителя к получателю.
BGP широко используется провайдерами интернет-услуг, большими корпоративными сетями и другими организациями для оптимизации маршрутизации в глобальной сети. Он позволяет гибко манипулировать трафиком, учитывая такие факторы, как пропускная способность, задержки и другие.
Зачем использовать BGP для защиты от DDoS
Сам по себе протокол BGP никак не защищает от DDoS-атак. Однако, крупные провайдеры используют его для подключения защиты. Помимо этого, есть ряд сторонних решений и сенсоров, которые помогают анализировать трафик, а также устанавливать настройки на оборудование для помощи в обнаружении вредоносной активности и защиты от DDoS-атак.
Как BGP-протокол помогает защитить от DDoS
1. Самое простое и эффективное решение — с помощью протокола BGP перенаправить трафик на оператора защиты. В таком случае создается сессия между автономной системой клиента и провайдером защиты. Клиент анонсирует провайдеру защищаемые сети, а провайдер принимает и реанонсирует их в интернет. Трафик проходит через точки фильтрации провайдера защиты, а клиент получает только очищенный трафик.
2. Сторонний софт — этот способ подходит для компаний, у которых есть команда специалистов с достаточным опытом и техническими знаниями. Он схож с тем, что мы рассмотрели выше, но вместо оператора защиты выступает программа. Сценариев здесь может быть несколько. Например, использование программного обеспечения типа flow-sensor. При таком подходе трафик просто анализируется, а софт формирует анонсы в сеть. Еще один подход — использование программно-аппаратного комплекса типа Arbor или Mitigator. Он позволяет перенаправлять трафик на свое оборудование.
3. Использовать расширения для протокола BGP — например, flow-spec. С помощью протокола BGP передаются настройки фаервола к выбранному маршрутизатору.
Комбинация BGP и GRE для защиты от DDoS-атак
Мы рассмотрели как работает BGP-протокол для защиты от DDoS. Перейдем к еще одному важному протоколу — GRE, — он позволяет создать туннель от клиента к оператору защиты. Этот протокол туннелирования сетевых пакетов создает защищенное соединение между двумя точками с помощью инкапсуляции пакетов сетевого уровня. GRE-протокол включает в один пакет протокола все заголовки и данные внутрь пакета другого протокола, таким образом передавая нужную информацию для правильной доставки данных. Словно поезд с грузом, который едет через туннель до конечной точки своего маршрута.
Использование пары BGP и GRE для защиты от DDoS-атак имеет ряд преимуществ:
- Точность BGP
Маршрутизация BGP — это один из наиболее надежных и эффективных способов передачи маршрутной информации. Протокол можно настроить так, чтобы трафик сначала направлялся на центры очистки провайдера защиты или стороннего софта, а после этого, уже очищенный, возвращался в сеть клиента.
- Гибкость
Используя протокол BGP можно гибко и оперативно управлять анонсами трафика, а также подключать защиту сети при необходимости.
Как выстраивается защита от DDoS с использованием туннеля BGP и GRE
- Настраивается туннель GRE для транспортировки пакетов и маршрутизация между конечными точками — клиента и центра очистки (провайдера защиты). Также возможен вариант подключения с помощью физических стыков.
- Клиент анонсирует свои префиксы, которые поставщику услуг необходимо защищать с помощью BGP-сессии.
- Теперь весь трафик проходит через центры очистки поставщика защиты. Там он анализируется и очищается.
- Очищенный трафик инкапсулируется в пакеты и отправляется в конечную точку клиента через GRE-туннель.
- На другом конце туннеля пакеты декапсулируются и отправляются в сеть клиента, после чего его пользователи получают нужную им информацию.
Подключите сервис защиты от DDoS на уровнях L3, L4, чтобы обезопасить свою сеть. Интеграция с DDoS-Guard позволит избежать дополнительных расходов на дорогостоящее оборудование, а также предоставит центры очистки трафика по всему миру, что гарантирует отсутствие задержки даже во время DDoS-атак.