Витік BGP-маршрутів призвів до масового порушення зв'язності в інтернеті

Компанія Cloudflare опублікувала звіт про вчорашній інцидент, внаслідок якого протягом трьох годин з 13:34 до 16:26 (MSK) спостерігалися проблеми з доступом до багатьох ресурсів у глобальній мережі, включаючи інфраструктуру Cloudflare, Facebook, Akamai, Apple, Linode та Amazon AWS. Проблеми в інфраструктурі Cloudflare, яка надає CDN для 16 млн. сайтів, спостерігалися з 14:02 до 16:02 (MSK). За оцінкою Cloudflare, під час збою фіксувалася втрата приблизно 15% глобального трафіку.

Проблема була викликана витоком маршрутів через BGP, у ході якого близько 20 тисяч префіксів для 2400 мереж були некоректно перенаправлені. Джерелом витоку був провайдер DQE Communications, який використовував ПЗ BGP Optimizer для оптимізації маршрутизації BGP Optimizer розбиває IP-префікси на дрібніші, наприклад, поділяє 104.20.0.0/20 на 104.20.0.0/21 і 104.20.8.0/21, і, як наслідок, DQE Communications тримав на своєму боці велику кількість специфічних маршрутів, маршрути (тобто замість загальних маршрутів до Cloudflare використовувалися гранульованіші маршрути до конкретних підмереж Cloudflare).

Ці точкові маршрути були анонсовані одному з клієнтів (Allegheny Technologies, AS396531), який також мав підключення через ще одного провайдера. Allegheny Technologies транслював отримані маршрути іншому транзитному провайдеру (Verizon, AS701). Через відсутність належної фільтрації BGP-анонсів та обмеження на кількість префіксів, Verizon підхопив даний анонс та транслював отримані 20 тисяч префіксів для решти інтернету. Некоректні префікси через свою гранульованість були сприйняті як пріоритетніші, оскільки конкретний маршрут має вищий пріоритет, ніж загальний.

Витік BGP-маршрутів призвів до масового порушення зв'язності в інтернеті

У результаті, трафік для багатьох великих мереж став прямувати через Verizon до дрібного провайдера DQE Communications, не здатного обробити потік, що наринув, що призвело до колапсу (ефект порівняний з тим, якби частину навантаженої автостради замінили на путівець).

Для запобігання виникненню подібних інцидентів у майбутньому
рекомендовано:

  • використовувати верифікацію анонсів на основі RPKI (BGP Origin Validation, дозволяє прийом анонсів тільки від власників мережі);
  • Обмежити максимальну кількість префіксів, що приймаються, для всіх сеансів EBGP (налаштування maximum-prefix допомогло б відразу відкинути передачу 20 тисяч префіксів в рамках одного сеансу);
  • Застосовувати фільтрацію на основі реєстру IRR (Internet Routing Registry, визначає AS через які допустима маршрутизація заданих префіксів);
  • Використовувати на маршрутизаторах рекомендовані RFC 8212 налаштування для блокування за замовчуванням ('default deny');
  • Припинити необдумане використання оптимізаторів BGP.

Витік BGP-маршрутів призвів до масового порушення зв'язності в інтернеті

Джерело: opennet.ru

Додати коментар або відгук