Транспортные технологии пакетной коммутации

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

Переполнение CAM таблицы


CAM (Content Addressable Memory) — системная память в коммутаторе, где содержится привязки MAC адресов устройств к портам, за которым они находятся.

Объем CAM таблицы коммутатора зависит от модели и от конфигурации коммутатора. Пример:

  • Cisco Catalyst 2960 — до 8000 MAC адресов;
  • Cisco Catalyst 3560 — до 12000 MAC адресов;
  • Cisco Catalyst 6500 — до 96000 MAC адресов.

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

Для подавления такой атаки, необходимо указать, что на порте коммутатора, к которому подключен пользователь может быть, к примеру, не больше одного MAC адреса, а в случае если появляется более одного, перевести порт в отключенное состояние и отправить сообщение администратору о нарушении безопасности (например на syslog сервер).

Протокол VTP

Протокол VTP (VLAN Trunking Protocol) — протокол ЛВС, служащий для обмена информацией о VLAN (виртуальных сетях), имеющихся на выбранном транковом порту. Разработан и используется компанией Cisco. Аналогичный стандарт IEEE, используемый другими производителями — GVRP.

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

  • перекрестное соединение VLAN-сетей вследствие несогласованности в конфигурации VLAN-сетей;
  • согласование и ликвидация противоречивости конфигурации в смешанной среде передачи, например, в среде, включающей в себя сегменты Ethernet и Fiber Distributed Data Interface (FDDI).

В протоколе VTP согласованность конфигураций VLAN-сетей поддерживается в общем административном домене. Кроме того, протокол VTP уменьшает сложность управления и мониторинга VLAN-сетей.

Проблема добавления нового коммутатора. Новый коммутатор при добавлении делает следующее – он слушает трафик VTP и при получении первого же advertisement берёт из него настройки (имя домена и пароль). Дефолтная настройка коммутатора – это режим VTP Server (т.е. когда Вы достаёте коммутатор из коробки, Вы сразу можете на нём создавать VLAN’ы, в случае VTP Client это было бы невозможно).

Соответственно, возможна неприятная ситуация. Состоит она в том, что можно взять коммутатор, заранее его сконфигурировать, внеся больше изменений, чем есть сейчас в инфраструктурном VTP, задать правильные параметры домена и подключить к сети. Тогда коммутатор своей базой затрёт существующую.

Почему это происходит? Вы покупаете новый коммутатор и вводите его в эксплуатацию. Отдельно от других, которые работают в VTP. Ну, вот так сложилось – допустим, в филиале организации его ставите, где он не является непосредственно подключенным к другим коммутаторам. Начинаете с ним работать. Работаете интенсивно – добавляете на него vlan’ы, удаляете их, переименовываете. Каждое действие плюсует единицу к revision number. Вдруг через некоторое время возникает ситуация – филиал закрывается. Коммутатор перевозят в основной офис и Вы подключаете его к другим. И тут выясняется следующее. У данного коммутатора номер ревизии выше, чем у местного VTP Server. Имя домена и пароль совпадают. Как только транк поднимается, новый коммутатор кидает advertisement, который начинают слушать все остальные коммутаторы и ретранслировать дальше. Это штатный функционал – Вы не можете ограничить получение VTP-данных только от одного, “правильного” сервера. Соответственно, эта волна накрывает все коммутаторы в режиме Client и тот, который в Server. Это тоже штатное поведение – VTP Server, получив VTP-данные с бОльшим номером ревизии, чем у себя, перезаписывает свою базу. И всё, Вы имеете большие проблемы – вместо Вашей базы VLAN’ов у Вас на всех коммутаторах та, которая была в филиале.

Чтобы избежать этого, можно поступить по-разному. Например, не делать у этого коммутатора имя домена и пароль, как в основной VTP-сети. Но можно и проще – ведь чтобы этого всего не произошло, надо просто сбросить номер ревизии. Для этого достаточно переименовать домен у коммутатора в какое-нибудь временное название и после вернуть назад. Ревизия сбросится. После не забудьте включить режим VTP Client.

Примечание: Как понятно, именно из-за этой ситуации использование VTP в production-сети с высоким уровнем безопасности является нежелательным. Злоумышленник может провести достаточно простую атаку – ему хватит доступа к транковому порту и возможности отправить, допустим, vtp-уведомление о том, что пришла база с версией 10000 и одним vlan’ом, и всё – вся VTP-инфраструктура примет это как нормальное положение вещей и остальные vlan’ы пропадут. Поэтому в безопасных сетях все коммутаторы работают в VTP transparent, где такая ситуация невозможна в принципе.