В 13.00 UTC (16:00 по московскому времени) небольшой российский оператор Krek Ltd (AS57494) начал анонсировать префиксы между своими провайдерами, в результате перенаправив значительную часть трафика Ростелекома на свою сеть. Аномалия затронула более 40 тысяч префиксов — выдержать такую нагрузку сеть Krek, конечно, не могла. В результате от 10 до 20% пользователей на территории РФ потеряли доступ к тысячам сервисов, включая такие популярные как Amazon, Youtube, Вконтакте и онлайн-кинотеатру IVI.RU.
Более чем с 5000 префиксов инцидент распространился за пределы российского интернет-сегмента, затягивая трафик других регионов в эту черную дыру.
Эта утечка маршрута является результатом двух взаимосвязанных ошибок — ошибки в настройке BGP в сети Krek и отсутствии фильтрации на стыках в сети Ростелекома. Оба оператора заплатили высокую цену за собственные ошибки, но вряд ли это может до конца удовлетворить владельцев других сервисов, потерявших значительную часть пользователей.
Вернуть трафик любой ценой
Широко распространено мнение, что у оператора нет способа вернуть трафик из такой аномалии — чужой маршрутизатор находится вне вашего контроля. Конечно, можно начать писать письма «виновным» сторонам — это может ускорить процесс восстановления, но все равно не вернет трафик в вашу сеть мгновенно.
Но существует и другой способ вернуть корректную связность, эксплуатируя механизм обнаружения циклов BGP: сеть обязана автоматически сбросить маршрут в случае, если AS Path включает ее собственный номер AS. Поэтому, если вы знаете, кто является источником аномалии, вы можете добавить его AS в начало вашего пути, таким образом вынуждая его сбросить этот маршрут.
Подобная манипуляция AS Path может дополнить мониторинг сетевых анонсов, предоставляя гарантированный метод активной борьбы с инцидентами типа утечки маршрута (route leak). Но при использовании такой политики, вы должны быть осторожны, всегда проверяя валидность результата относительно процедуры валидации ROA.
Комментарии (5)
vurd
27.11.2018 23:06Сомнительно использование такой манипуляции, т.к. вам потребуется преднастроенный rr и похаченный клиент на какой-нибудь perl-е, ибо в ином случае левая as будет выкинута самим же оригинатором. К тому же если вы встретились не с ошибкой конфигурации, а с преднамеренной атакой, то на стороне атакующего или allowas-in, или точно такой же похаченный клиент.
mitradir
29.11.2018 01:53Если атака преднамеренная, то смысла «маскировать» ее под лик фактически нет. Проще тогда сделать hijack — путь будет короче, а трафика больше. С предмеренными атаками тоже можно бороться, то методы уже будут совсем другими.
А про сброс — несколько лет назад сам тестировал разные варианты вставок на Quagga, проблем не было. В BIRD вообще в функцию prepend() передается номер АС, хочешь свою добавляй, хочешь чужую. Т.е. все работает из коробки.
yleo
Может уже курсы откроете по Квагге/Зебре и сертификаты «пряморукости» будете выдавать для *.ru?
lioncub
Тут скорее дело в экономии, где специалистов априори с багажом не бывает.
mitradir
Права на вождение BGP