Слева вы наблюдаете аватар savannah.gnu.org, где лежит репозиторий Quagga. Нам показалось, что он подходит к событию.
Примерно две недели назад команда Qrator Radar столкнулась с интересным сетевым инцидентом, выяснение обстоятельств которого вылилось во внутреннее расследование-исследование, с поиском пострадавших и виновных, а также попытками исправить ситуацию. 30.09.2017 наша команда обратила внимание на необычно большое количество «мигающих» BGP-сессий.
Быстро проведенный анализ показал, что все проблемные сессии обладали рядом одинаковых симптомов: они обрывались из-за каких-то однотипных «битых» анонсов, также создавалось впечатление, что сессии рвутся не только у нас — в результате значительные перестроения маршрутизации происходят по всему миру.
Потратив некоторое время на выяснение причин данной проблемы, мы обнаружили, что битый анонс приходит для префикса
Мы задали вопросы пользователям, с которыми у нас «мигали» сессии, и в большинстве случаев BGP-сессия на стороне пользователя оказалась настроена с использованием Quagga или маршрутизаторов Brocade (который тоже основан на Quagga). Cобрав стенд, мы убедились в том, что проблема и вправду локализована в реализации Quagga — после обработки данного маршрута Quagga создавала анонс сразу с несколькими аномалиями: в маршруте оказывалась как неправильная длина атрибута
В результате, в соответствии с RFC4271, подобный анонс приводил к разрыву BGP-сессии, что начало приводить к разрыву BGP-сессий по всему миру. Для операторов, вышестоящие поставщики которых используют Quagga, данная аномалия за счет постоянных разрывов BGP-сессии была в состоянии приводить к частичной или полной недоступности сети. Мы обнаружили несколько сотен сетей, пострадавших в результате этого инцидента.
Данная аномалия повторилась на прошедших выходных, но уже для другого префикса —
На момент конца прошлой недели реализации Quagga в рамках релиза 1.2.2 была исправлена ошибка с длиной атрибута
Мы настоятельно рекомендуем всем пользователям Quagga обновить свой софт до версии
Команде Quagga спасибо за скорую реакцию.
Ссылка на патч.
Проверить, задета ли ваша AS.
Примерно две недели назад команда Qrator Radar столкнулась с интересным сетевым инцидентом, выяснение обстоятельств которого вылилось во внутреннее расследование-исследование, с поиском пострадавших и виновных, а также попытками исправить ситуацию. 30.09.2017 наша команда обратила внимание на необычно большое количество «мигающих» BGP-сессий.
Быстро проведенный анализ показал, что все проблемные сессии обладали рядом одинаковых симптомов: они обрывались из-за каких-то однотипных «битых» анонсов, также создавалось впечатление, что сессии рвутся не только у нас — в результате значительные перестроения маршрутизации происходят по всему миру.
Потратив некоторое время на выяснение причин данной проблемы, мы обнаружили, что битый анонс приходит для префикса
186.177.184.0/23
от AS262197 из Коста-Рики, причем по другим направлениям этот анонс приходит без каких-либо ошибок, но с препендом… 563
. С одной стороны, данная политика бесполезна, так как эффект от политики препенда сходит на нет уже при значениях в районе 5, с другой стороны, такой анонс остается легитимным.Мы задали вопросы пользователям, с которыми у нас «мигали» сессии, и в большинстве случаев BGP-сессия на стороне пользователя оказалась настроена с использованием Quagga или маршрутизаторов Brocade (который тоже основан на Quagga). Cобрав стенд, мы убедились в том, что проблема и вправду локализована в реализации Quagga — после обработки данного маршрута Quagga создавала анонс сразу с несколькими аномалиями: в маршруте оказывалась как неправильная длина атрибута
AS_PATH
, равно как и само значение атрибута AS_PATH
оказывалось некорректным.В результате, в соответствии с RFC4271, подобный анонс приводил к разрыву BGP-сессии, что начало приводить к разрыву BGP-сессий по всему миру. Для операторов, вышестоящие поставщики которых используют Quagga, данная аномалия за счет постоянных разрывов BGP-сессии была в состоянии приводить к частичной или полной недоступности сети. Мы обнаружили несколько сотен сетей, пострадавших в результате этого инцидента.
Данная аномалия повторилась на прошедших выходных, но уже для другого префикса —
186.176.186.0/23
. Она завершилась только вчера, 16 октября 2017 года, таким образом общая длительность инцидента составила более двух суток.На момент конца прошлой недели реализации Quagga в рамках релиза 1.2.2 была исправлена ошибка с длиной атрибута
AS_PATH
. Наша команда также прислала дополнительный патч, исправляющий и вторую проблему с самим содержимым этого атрибута. По состоянию на прошлую неделю ошибка в коде была частично исправлена в рамках релиза 1.2.2
. Команда Qrator Radar предоставила дополнительный патч для Quagga, исправляющий формирование некорректного значения атрибута AS_PATH
, и вчера он был принят, но пока еще не относится к текущему релизу.Мы настоятельно рекомендуем всем пользователям Quagga обновить свой софт до версии
1.2.2
и следить за последующими апдейтами. Также, в приложение к данной публикации, мы прикладываем патч, исправляющий обе вышеописанные проблемы с анонсами в Quagga.Команде Quagga спасибо за скорую реакцию.
Ссылка на патч.
Проверить, задета ли ваша AS.