Подробный гид по генераторам трафика для испытаний NGFW

Подробный гид по генераторам трафика для испытаний NGFW

Ищем тот самый баланс между точностью, гибкостью и ценой.

image

Собираетесь стряхнуть пыль со своего межсетевого экрана и привести его в соответствие с методикой RFC 9411? Добро пожаловать. Ниже — расширенный справочник по самым популярным аппаратным и программным генераторам трафика. Мы рассмотрим не только «характеристики с веб-сайта», но и практические мелочи: какие порты придётся закупить, где находятся скрипты для программного интерфейса, как часто выходят обновления и чем заканчиваются ночные тесты на 10 млн сессий.

Почему требуется отдельный инструмент именно для RFC 9411

Методика предъявляет строгие требования к точности временных параметров, воспроизводимости и поддержке современных протоколов. Значит, ваш генератор должен:

  • Уметь шифровать трафик по TLS 1.3, поддерживать HTTP/3/QUIC, DoH, DoT и прочую специализированную функциональность из спецификации.
  • Тонко контролировать пакеты в секунду (PPS), биты в секунду (BPS) и задержку на уровне микросекунд, чтобы не исказить результат.
  • Чётко протоколировать каждый этап теста вплоть до версии сценария и контрольных сумм сертификатов.

Аппаратные решения решают задачу мощью FPGA и ASIC-ускорителей, программные генераторы — гибкостью и ценой. Далее — больше подробностей.

Аппаратные коммерческие решения

Keysight/Ixia BreakingPoint

Кратко: отраслевой стандарт, синоним фразы «безоговорочный эталон».

Ключевые функции

  • Нагрузка уровней L2 – L7 до терабит/сек с точностью временных меток 2 наносекунды.
  • Библиотека «Профилей приложений»: более 4000 сценариев от Zoom до Minecraft.
  • Модуль имитации атак — обновляемая эмуляция актуальных угроз, включая сервисы ботнетов, предоставляемые как услуга.
  • Поддержка HTTP/3 и QUIC с настраиваемыми параметрами идентификатора соединения, протокола согласования уровня приложений, версии проекта стандарта.
  • Гибкое управление через программный интерфейс REST и комплект для разработки на Python; удобно встраивается в системы непрерывной интеграции.

Настройка под RFC 9411

Импортируйте профиль в формате JSON из приложения B методики, привяжите к интерфейсам группы AppArmor, включите отслеживание задержек — и готово. Не забудьте отключить встроенную оптимизацию пакетов в секунду, иначе генератор попытается «подравнять» потоки, ухудшая воспроизведение.

Особенности использования

Лицензия на поддержку сложной криптографии (пакет производительности TLS/SSL) приобретается отдельно, причём рассчитывается для каждого порта.

Spirent CyberFlood и Spirent TestCenter

Кратко: фаворит системных интеграторов, особенно если важна визуальная аналитика прямо в графическом интерфейсе.

Чем выделяется

  • «Мастер комбинирования приложений»: указываете доли видеопотоков, файлообмена, голосовой связи — получаете готовый профиль.
  • Гибкая географическая фильтрация: имитация клиентов из разных регионов с настраиваемыми номерами автономных систем.
  • Прямой экспорт в NetSecOPEN — удобно, если сертификат необходим заказчику.

Рекомендации по настройке

Для ступенчатой нагрузки методики используйте функцию «Кривая нарастания» с фиксацией точек на каждые 30 секунд. В CyberFlood по умолчанию включено сглаживание — снимите отметку, иначе пики будут выглядеть «зализанными».

Недостатки

Максимальная скорость порта отстаёт от Keysight на одно-два поколения. Если вам нужен 400 гигабит/сек уже сегодня, придётся обратиться к Keysight или комбинировать несколько модулей.

VIAVI TeraVM

Кратко: универсальный комбайн «два в одном»: трафик и безопасность, а ещё доступен в виртуальном исполнении.

Что внутри

  • Сценарии мобильной связи (LTE/5G), потокового видео и корпоративных приложений в одной панели.
  • Виртуальная версия разворачивается в среде VMware vSphere, KVM и контейнерах.
  • Гибкая лицензия: оплата за «единицы симуляции», а не за скорость порта.

Скрытые сложности

Специфический синтаксис командной строки. Автоматизация через Ansible требует дополнительного модуля, который обновляется не так оперативно, как хотелось бы.

Xena Networks

Кратко: «народное» аппаратное решение, если бюджет ограничен, а «чистую» петлю уровней L2/L3 нужно сгенерировать немедленно.

Преимущества

  • Простая ценовая модель без скрытых платежей.
  • Порты 100 гигабит/сек в корпусе высотой 1U.
  • Удобный программный интерфейс REST и готовые фрагменты кода Python.

Недостатки

Эмуляция уровня L7 ограничена готовыми шаблонами. HTTP/3 обещан «в следующей версии» уже несколько кварталов, так что планируйте обновление.

Calnex SNE

Кратко: формально это эмулятор сети, но его часто используют как «пристрелочный» генератор с точным колебанием задержки.

Особенности

  • Микросекундная точность задержек и потерь пакетов.
  • Полностью программируемый движок Lua: можно запрограммировать падение линии связи «по сигналу».
  • Отчёты в форматах PCAP и JSON.

Кому подходит

Если ваша основная цель — воспроизвести сложные условия глобальной сети (300 мс времени прохождения сигнала туда-обратно, 1% потерь) перед тестируемым устройством, Calnex SNE справится лучше большинства чистых генераторов, но полноценной нагрузки уровня L7 «из коробки» ожидать не стоит.

Программные и виртуальные генераторы

Cisco TRex

Кратко: бесплатный, быстрый, программируемый. Сообщество активно выпускает обновления.

Преимущества

  • Режимы с отслеживанием состояния и без него.
  • Примерно 18 млн пакетов в секунду на двух-трёх современных ядрах процессора.
  • Поддержка частичной реализации HTTP/3 (через параметр --quic).
  • Готовые профили в формате YAML для RFC 9411 находятся прямо в репозитории /scripts/automation/trex_rfc9411.

Настройка под методику

Настраивайте параметр --latency, а шаги изменения пакетов в секунду описывайте в файле CSV: timestamp;pps. Файл подключается через параметр -l. Не забудьте закрепить ядра с помощью параметров --limit-memory 10240 --limit-cpu, иначе архитектура NUMA может повлиять на результаты.

Pktgen-DPDK

Кратко: «чистый» ускоритель L2/L3 на основе DPDK, способен достичь максимальной скорости даже на пакетах размером 64 байта.

Чем хорош

  • Минимальные накладные расходы — только C и DPDK.
  • Скрипты на языке Lua, в которых можно описать любую схему отправки.
  • Точные метки пакетов в секунду и задержки вплоть до наносекунд (если у процессора есть счётчик временных меток).

Полезные советы

Для создания шаблонов TLS/QUIC придётся «встраивать» заранее подготовленную двоичную полезную нагрузку, иначе генератор превратится в «отправителя пустых пакетов» без содержимого.

MoonGen

Кратко: младший брат Pktgen, но полностью программируемый на LuaJIT. Сразу после установки умеет создавать зубчатую кривую пакетов в секунду и выводить наглядные гистограммы задержки.

Чем полезен

  • Одно ядро — линейно выдаёт 10 гигабит/сек, несколько ядер — и 40 гигабит/сек не проблема.
  • Поддержка аппаратного формирования временных меток на сетевых картах Intel 82599 и X710.
  • Достаточно добавить пару строк на Lua, чтобы имитировать случайное изменение размеров пакетов согласно Рисунку 4 RFC 9411.

Недостатки

Не имеет встроенной библиотеки уровня L7. Всё, что выше TCP/UDP, приходится писать вручную или импортировать из формата PCAP.

BreakingPoint VE

Кратко: тот же «монстр», но в виде образа виртуальной машины. Идеален для систем непрерывной интеграции и поставки — запускаете ночью, утром получаете отчёт в формате PDF.

Особенности

  • Гибкая лицензия: оплата за «виртуальные порты» и «вес приложений».
  • Можно создавать копии экземпляров для каждого запроса на включение изменений.
  • Нагрузку распределяет до 40 гигабит/сек на сервер (зависит от виртуального сетевого адаптера).

Spirent VE

Кратко: виртуальная версия CyberFlood. Преимущества те же, но скорость ограничена — обычно 10–25 гигабит/сек на экземпляр.

Где особенно эффективен

Сценарии с распределённым стендом: разворачиваем по одному CyberFlood-VE в каждой зоне, моделируем «клиента из Индианы» и «центр обработки данных во Франкфурте», измеряем задержку сквозным методом.

Сравнительная памятка

Чтобы не утонуть в характеристиках, используйте короткий ориентир:

  • Нужна безупречная точность → BreakingPoint или Calnex SNE.
  • Бюджет ограничен, но хочется аппаратное решение → Xena Networks.
  • Интеграция с системами непрерывной разработки и автоматическое масштабирование → BreakingPoint VE / Spirent VE.
  • Гибкость, открытый исходный код и 10–40 гигабит/сек → TRex, MoonGen.

Советы по эксплуатации

Документирование

Отдельный репозиторий для профилей и скриптов запуска — лучшая инвестиция. Через полгода никто не вспомнит, почему гистограмма задержки начиналась с 8 микросекунд, а сообщение к фиксации изменений «исправил» не поможет.

Конвейер непрерывной интеграции

Настройте автоматический запуск — «выполнять тест» при каждом запросе на изменение в конфигурации межсетевого экрана. Пусть ночной конвейер отправляет отчёты в хранилище S3, а бот в Slack присылает наглядный график 95-го процентиля. Ошибки будут обнаруживаться раньше, чем их заметит служба технической поддержки.

Калибровка

Даже аппаратные решения иногда дают неточные результаты. Раз в квартал проводите калибровочный тест «обратная петля без тестируемого устройства» и сравнивайте гистограммы. Отклонение медианы более 3% — повод проверить драйверы сетевого адаптера.

Дополнительные рекомендации

Сетевая топология

При проектировании тестовой среды обратите внимание на разделение сетей управления и тестового трафика. Используйте отдельные физические интерфейсы для управления генератором, чтобы избежать влияния тестовой нагрузки на точность контроля и сбора метрик.

Синхронизация времени

Для точных измерений задержки критически важна синхронизация между генератором и анализатором. Настройте протокол PTP (IEEE 1588) с поддержкой аппаратных временных меток или используйте внешний источник точного времени, например, GPS-приёмник с выходом PPS (импульс в секунду).

Оптимизация систем с открытым исходным кодом

При работе с генераторами на базе DPDK особое внимание уделите настройке параметров ядра Linux: выключите режимы энергосбережения процессора (C-states, P-states), используйте статическое распределение прерываний и, если возможно, изолируйте ядра процессора от планировщика системы через параметры загрузки isolcpus и nohz_full.

Выводы

Генератор трафика — не «дополнительное приспособление к стенду», а полноценный участник методики RFC 9411. Аппаратные решения обеспечивают точность и впечатляющие маркетинговые показатели, программные — гибкость и множество возможностей для автоматизации. Не стройте иллюзий: ситуации «купил устройство — и всё заработало» не бывает. Придётся изучать руководства, писать сценарии для Ansible и осваивать платформу бизнес-аналитики. Но результат того стоит: отчёты становятся понятными, тесты — воспроизводимыми, а межсетевой экран — предсказуемым.

Если после прочтения у вас появилось ощущение «я знаю, что делать», значит цель достигнута. Выбирайте подходящий инструмент, настраивайте профили, запускайте тесты и ведите журналы так, будто их завтра прочтёт человек, к которому вы испытываете симпатию — и всё будет хорошо.

Хочешь поговорить с хакерами, профессорами и разработчиками не в чатике, а глаза в глаза?

Приезжай на Positive Hack Days Fest* 22–24 мая в Москве — здесь кибербез выходит в офлайн.

*Фест. Реклама. АО «Позитив Текнолоджиз», ИНН 7718668887