Как стать автором
Обновить
602.87
OTUS
Развиваем технологии, обучая их создателей

Не SPANом единым: о способах зеркалирования трафика

Время на прочтение6 мин
Количество просмотров2.6K

Проблема получения копий трафика существует довольно давно. Зеркалировать трафик нужно прежде всего при выполнении задач информационной безопасности. Например, различные системы обнаружения вторжений, работающие в пассивном режиме, то есть не блокирующие, а только уведомляющие об атаках, используют копии трафика. Также системы предотвращения утечек данных используют копии трафика при анализе. Антивирусы могут отлавливать в потоке данных файлы и собирать их для последующего анализа.

Кроме безопасников зеркалирование трафика может потребоваться например, сетевикам в процессе отладки межсетевого взаимодействия. В общем, копия трафика — вещь полезная, но как ее можно получить?

Старый добрый SPAN

Итак, Switch Port Analyzer (SPAN) — это одна из функций, доступная в большинстве современных сетевых коммутаторов, позволяющая отслеживать трафик посредством копирования пакетов с одного или нескольких портов источников на порт назначения. Порты источники являются обычными портами, к которыми подключены узлы, к порту назначения подключаются компоненты соответствующих систем мониторинга IDS, DLP и т.д.

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

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

Когда-то, много десятилетий лет назад я сдавал экзамены из трека CCNP (помните, был такой вендор?) и в учебных материалах явно указывалось, что SPAN порт должен использоваться для диагностики неполадок в сети. То есть, при отладке администратор включал SPAN, решал возникшие проблемы с трафиком и затем выключал зеркалирование. Нигде не говорилось о том, что этот режим должен использоваться на постоянной основе (пусть поправят меня более опытные сетевики, если это не так). Однако сейчас в официальной документации большинства решений, работающих с копиями трафика, в явном виде указывается использование SPAN порта.

Так, ниже в качестве примера представлен фрагмент схемы из документации для решения по анализу трафика в промышленных сетях.

Так что же не так со SPAN?

SPAN и его проблемы

Порты SPAN на коммутаторе имеют наименьший приоритет и при интенсивной загрузке процессора коммутатора первыми будут отбрасываться именно пакеты, передаваемые на зеркалирование.

В результате мы рискуем потерять часть трафика, что не позволит получить полную картину происходящего в сети, и средства анализа упустят важную активность. На практике потери пакетов на SPAN портах могут достигать 25 процентов — что, согласитесь, довольно много.

Если говорить об отладке сети, то искаженные пакеты и ошибки низкого уровня в пакетах могут быть отфильтрованы коммутатором и не переданы на SPAN порт. Кроме того, теги VLAN также могут теряться при передаче по SPAN порту.

Похожая ситуация может возникнуть, если вы хотите захватить LACP-пакеты, которые используются для агрегации линков. Многие коммутаторы не пересылают такие пакеты в мониторный порт.

Использование технологий, позволяющих получать трафик с портов других коммутаторов, таких как RSPAN, ERSPAN создает дополнительную нагрузку на сеть и коммутаторы, участвующие в передаче данных.  

Также мы рискуем получить неверные данные по времени получения пакетов, что будет критично при передаче VoIP и аналогичных протоколов, работающих в реальном времени.

Отдельно стоит отметить, что некоторые модели коммутаторов имеют ограничения на количество портов, с которых можно снимать трафик. Так, некоторые промышленные коммутаторы позволяют получать копии трафика только с одного порта. То есть, мы можем зеркалировать один физический порт в другой физический порт. В некоторой степени такой подход честнее, так как нам сложнее будет перегрузить коммутатор излишним объемом трафика для зеркалирования, и в результате меньше риски потери пакетов.

И наконец, для зеркалирования трафика наш коммутатор должен быть управляемым. Не все дешевые коммутаторы уровня доступа являются управляемыми, и это тоже надо учитывать при внедрении систем, работающих с копиями трафика.

SPAN не всегда зло

После прочтения предыдущих абзацев может возникнуть впечатление, что SPAN — это абсолютно ненадежная технология, которую лучше вообще не использовать. Но это не совсем так. Во-первых, SPAN можно и нужно использовать при отладке сети, как и завещал ушедший вендор.

Во-вторых, если средняя загрузка вашего коммутатора не превышает 50 процентов, объем трафика не слишком большой, то у вас вряд ли будут возникать потери пакетов.

Также, если вы не используете RSPAN/ERSPAN, то проблем с зеркалированием будет значительно меньше.

Теперь давайте поговорим о том, что можно сделать там, где нельзя использовать SPAN.

TAPаем, но не хомяка

В качестве альтернативы использованию SPAN обычно предлагаются TAP устройства (ответвители). Общий принцип съема трафика здесь достаточно прост: мы устанавливаем TAP устройство в разрыв между узлами, с которых надо снять трафик. Соответственно, на TAP один порт подключен к узлу отправителю, другой — к узлу получателю и один или несколько портов используются для передачи копии трафика.  

На рисунке представлена топология для Ethernet, но TAP также можно использовать и с оптическим кабелем.

Основные преимущества TAP заключаются в том, что мы получаем полную 100-процентную копию двунаправленного сетевого трафика, включая теги VLAN, ошибочные пакеты, короткие или большие кадры, обеспечивая полную точность для сетевого мониторинга. При этом не изменяются временные соотношения между кадрами, интервалом и временем отклика.

TAP не являются адресными сетевыми устройствами и поэтому не могут быть взломаны, они не требуют дополнительной настройки, у них нет интерфейса управления или командной строки.

По сути, TAP работают по принципу «включил и работай».

В рамках данной статьи мы специально не упоминаем кого-либо из присутствующих ныне на рынке вендоров, но на просторах Хабра можно найти статью одного из российских разработчиков TAP устройств, в которой подробно расписываются все преимущества TAP и модели устройств.

В принципе, TAP можно собрать самому. Например, на схеме, представленной ниже, предлагается TAP устройство для Ethernet. На практике для сборки подобного устройства потребуется четыре Ethernet розетки и немного сетевого кабели для того, чтобы сделать распиновку.

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

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

Много пакетов – тоже плохо

Итак, завернули мы на свои сенсоры копии трафика с помощью TAP, все хорошо, получаем полную копию. И тут выясняется, что наши сенсоры, предназначенные для анализа трафика, сами захлебываются от большого объема приходящего трафика. Теперь то, что мы считали достоинством TAP, а именно, полная копия трафика, стало большим недостатком — сенсор получает слишком много ненужного трафика и не успевает его отфильтровывать.

Конечно, решать эту проблему можно по-разному. Можно попробовать поставить несколько TAP на разные каналы и использовать несколько сенсоров. Если топология сети позволяет, то можно завернуть на коммутаторах трафик из нужных VLAN на отдельный порт и этот канал подключить к VLAN.

Но в случае, если все эти способы не помогают, можно воспользоваться пакетными брокерами. Эти устройства могут решать различные задачи, связанные с распределением пакетов. В рамках нашей задачи фильтрации ненужных пакетов из копии трафика пакетный брокер подойдет как нельзя кстати.

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

Да, пакетный брокер — это более сложное устройство, чем TAP, здесь уже требуются и настройки и возможные сбои, но так как оно находится за TAP и работает только с копией трафика, на передаче основного трафика проблемы с данными устройствами никак не скажутся.

О конкретных решениях данного класса можно почитать всё у того же российского вендора.

Заключение

Мы рассмотрели различные варианты съема сетевого трафика. Использование SPAN не всегда является наилучшим решением и при внедрении систем анализа трафика стоит рассматривать и другие варианты.


В завершение напоминаю про бесплатные открытые уроки, посвященные сетям, которые пройдут в Otus совсем скоро:

  • 3 декабря: Использование /31 префикса в ip сетях. Рассмотрим необходимость появления такого варианта настройки. Сравним его с классическим префиксом /30. Записаться

  • 18 декабря: Повторители, мосты, хабы, медиаконвертеры и коммутаторы. Кто из них выжил и почему? И (немного) о принципах их работы. Записаться

Теги:
Хабы:
Всего голосов 11: ↑10 и ↓1+12
Комментарии0

Публикации

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS