Summary

  • bgpipe Paweł Foremski способен работать между участниками BGP и пропускать обновления через проверки происхождения и AS-пути. RIPE 92 представила его работу как способ дать существующим маршрутизаторам проверку ROA и ASPA.
  • Официальное руководство по ASPA требует указать роль соседа. При --role auto отсутствие возможности BGP Role в сообщении OPEN заставляет программу пропустить проверку ASPA для всей сессии; для защиты руководство советует явную роль.

Старый маршрутизатор удобен как объяснение, почему новая защита ещё не работает. Paweł Foremski убирает эту отговорку: его программа говорит на BGP с обеих сторон, получает UPDATE, выполняет цепочку операций и передаёт сообщение действующему устройству. Обновление прошивки для такой точки контроля не требуется.

Но программа не узнает сама, кем сосед приходится оператору. ROV сверяет исходную автономную систему префикса с данными проверенного ROA. ASPA изучает весь AS-путь и отношения клиент–провайдер. Документация ROV описывает состояния для отдельных префиксов; ASPA возвращает состояние пути — VALID, UNKNOWN либо INVALID. UNKNOWN означает недостаток аттестаций, а не доказанную утечку маршрута. Смешав эти состояния, оператор получит тревожнее звучащий, но менее точный отчёт.

Для ASPA необходимо задать роль соседа: клиент, провайдер, равноправный участник или сервер маршрутов. Оператор может указать её по собственной схеме соединений. Режим --role auto принимает сведения из OPEN соседа. Если сосед не передал возможность BGP Role, bgpipe предупреждает об этом и пропускает ASPA для сессии. Если он назвал себя провайдером или сервером маршрутов, меняется применяемая процедура. В руководстве прямо сказано: для безопасности роль следует задавать явно.

Смысл инструмента Foremski в том, что решение можно исполнить рядом с прежним оборудованием. Само решение остаётся у оператора. Ему нужна актуальная ведомость BGP-соседей, источник данных RPKI и правило на случай INVALID. Этап ASPA может отозвать достижимые префиксы, выбросить целый UPDATE или оставить его без изменений с меткой. Последний вариант подходит для наблюдения; первые два меняют поток маршрутов.

Даже порядок этапов определяет, что попадёт в счётчики. Если ROV отбросил UPDATE первым, ASPA уже не увидит его и не посчитает. Руководство проекта предлагает ставить ASPA раньше, когда нужны метки и статистика по всему потоку. Красивый график не покажет сообщения, исчезнувшие до измерения.

Здесь нет датированной записи рабочего развертывания с ролью соседа, его OPEN, состоянием кеша ASPA и фактически переданными или отозванными маршрутами. Такой набор установил бы результат в конкретной сети. Пока видна точная граница ответственности: Foremski дал старому маршрутизатору новый пункт проверки, а назвать соседа должен тот, кто принимает от него маршруты.

Источники: профиль RIPE 92 · обзор проекта · документация ASPA · документация ROV.