Кратко

  • draft-ietf-idr-fsv2-content-filter-00 от 2 ноября предлагает поиск фиксированных байтов пакета для FlowSpec первой и второй версий. Документ остаётся проектом рабочей группы IDR в IETF.
  • Условие задаёт исходную точку, смещение, содержимое и маску. Для FSv2 оно обязательно: устройство, которое не может выполнить сравнение, не устанавливает весь маршрут локально.
  • Удаление байтового критерия расширило бы область фильтра. Доверие к BGP-соседям, разрешение на правило, ресурсы и пределы распространения определяет оператор.

Невидимая потеря условия видна в чужом трафике

FlowSpec переносит правила фильтрации по BGP. Основные IP-компоненты обычно проверяют поля заголовка. Новый проект группы IDR позволяет указать последовательность байтов в содержимом пакета. Это может помочь отличить известный шаблон объёмной атаки от остального потока. Но только пока устройство действительно применяет указанное сравнение.

Описание условия состоит из нескольких частей. OType выбирает начало IP-заголовка, полезной нагрузки IP, UDP или TCP. Offset отмеряет расстояние, а Content и Mask указывают значимые биты. В примере проекта два байта в начале полезной нагрузки TCP сочетаются с префиксом назначения. Это точное сравнение битов, а не понимание смысла передаваемого сообщения.

Формат допускает от одного до 255 байтов, но локальный предел оборудования может быть ниже. Компонент содержимого в FSv2 обязан иметь признак обязательного. Если аппаратный или программный фильтр не способен его установить, весь маршрут FlowSpec непригоден для местной установки. Устройство не вправе тихо выбросить байтовую часть и оставить прочие условия с действием сброса, перенаправления или ограничения скорости. Так узкая команда превратилась бы в удар по более широкому кругу пакетов.

Не всё просто и с координатой. У IPv6 полезная нагрузка IP начинается за фиксированным заголовком, а расширения могут лежать внутри отсчитываемой области. Изменение этой цепочки по пути смещает искомые байты. Туннель может заставить считать от внешнего пакета вместо внутреннего. Проект советует при необходимости проверять внутренний IP-пакет после декапсуляции либо задавать однозначную основу смещения.

Авторы советуют контролируемые точки фильтрации, дополнительные условия заголовков, доверенных BGP-соседей и ограниченное распространение. Ресурс ACL, UDF и TCAM конечен. Проект сообщает об испытаниях с OpenBGPD, FRRouting и программируемыми коммутаторами; данных о производственном использовании или инциденте он не приводит. Главное правило уже можно проверить: аппарат, не способный исполнить точное условие, не должен исполнять его грубую замену.

Первоисточники