Защита BGP с помощью RPKI и ROA: настройка Route Origin Validation
- Несанкционированный перехват чужих IP-префиксов в глобальной сети (BGP Route Hijacking).
- Ошибки конфигурации у апстрим-провайдеров, приводящие к утечкам маршрутов (Route Leaks).
- BGP-маршруты получают статус
RPKI State: Invalidв таблице RIB. - Клиентский трафик направляется по неоптимальным или вредоносным маршрутам.
1. Архитектура RPKI (Resource Public Key Infrastructure)
RPKI связывает блок IP-адресов с номером доверенной автономной системы (Origin AS) через криптографические сертификаты ROA (Route Origin Authorization). Результаты проверки маршрутов:
- Valid: префикс и Origin AS полностью соответствуют подписанному объекту ROA.
- NotFound (Unknown): объект ROA для данного префикса не опубликован в RIR (маршрут принимается).
- Invalid: анонс исходит от неавторизованной AS или длина префикса превышает
max-length(маршрут должен быть отброшен).
2. Подключение к локальному RPKI-валидатору (Routinator) по RTR
# Настройка RTR-кэша (порт 8282)
router bgp 65001
bgp rpki server tcp 192.168.10.100 port 8282 refresh 300
bgp rpki server tcp 192.168.10.101 port 8282 refresh 3003. Настройка политики Route-Map для обработки состояний RPKI
route-map RPKI_INBOUND permit 10
match rpki valid
set local-preference 200
route-map RPKI_INBOUND permit 20
match rpki not-found
set local-preference 100
# ЖЕСТКИЙ ДРОП нелегитимных анонсов (Invalid)
route-map RPKI_INBOUND deny 30
match rpki invalid4. Применение политики к внешним BGP-пирам
router bgp 65001
neighbor 203.0.113.1 remote-as 64500
neighbor 203.0.113.1 route-map RPKI_INBOUND in
neighbor 203.0.113.1 announce rpki state5. Проверка состояния синхронизации и валидации
# Проверка соединения с RTR-сервером
show ip bgp rpki servers
# Просмотр базы валидации префиксов
show ip bgp rpki table
# Анализ конкретного маршрута и его RPKI-статуса
show ip bgp 8.8.8.0/24 Частые вопросы (FAQ)
Почему маршруты со статусом RPKI NotFound (Unknown) нельзя отбрасывать?
Многие легитимные владельцы ресурсов еще не создали ROA-записи в личных кабинетах RIR (RIPE, APNIC, ARIN). Блокировка префиксов со статусом NotFound приведет к недоступности значительной части глобального интернета.
Что такое MaxLength в объекте ROA?
MaxLength определяет максимальную маску подсети, которую разрешено анонсировать владельцу. Если в ROA указана сеть 198.51.100.0/22 с MaxLength 24, анонсы подсетей /23 и /24 будут Valid, а более мелких /25 — Invalid.
Что произойдет, если все локальные RTR-валидаторы выйдут из строя?
Маршрутизатор сохранит последнюю кэшированную базу ROA на время действия таймера expire. После его истечения все маршруты временно перейдут в статус NotFound, чтобы не допустить полного отключения BGP.
Зачем запускать собственный валидатор (Routinator/StayRTR), а не подключаться к публичным?
Локальный валидатор обеспечивает криптографическую проверку манифестов TAL, высокую скорость отклика и независимость от внешних сбоев каналов связи.