Как стать автором
Обновить

Курс молодого бойца: защищаемся маршрутизатором. Продолжение: NBAR

Время на прочтение2 мин
Количество просмотров23K
На многих маршрутизаторах, даже в базовом IOS есть довольно удобная и наглядная цискина технология: Network-Based Application Recognition (NBAR). При помощи неё маршрутизатор может распознать различные протоколы и приложения и при необходимости использовать эти знания для реализации качества обслуживания (QoS)

Каким же образом маршрутизатор может выделить из трафика различные протоколы?

1. Анализируя заголовок TCP/UDP и сортируя по известным номерам. Это самое простое и доступное во всех IOSах
2. Анализируя заголовок протокола уровня 7. Например, разбирая заголовок HTTP и вычленяя оттуда тип передаваемых данных (например, сам протокол HTTP, citrix и некоторые другие Web-enabled приложения), URL, вложения.
3. Анализируя служебный протокол сложных (многоканальных) приложений и учитывая динамические, согласованные по служебному каналу, сессии.
4. Анализируя заголовки RTP.
5. Анализируя заголовок протоколов, отличных от ТСР/UDP

Третий и четвертый алгоритм требует включения инспектирования протоколов (ip inspect), рассмотренные чуть ранее.

Инспектирование требует IOS c firewall feature set.

Включить технологию NBAR можно двумя способами:

1. Просто включить исследование всех известных протоколов.

Ro(config)# int f0/0
Ro(config-if)# ip nbar protocol-discovery

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

Ro# show ip nbar protocol-discovery


2. Воспользоваться архитектурой MQC (Modular QoS CLI)

Создать класс трафика, указав необходимый протокол

Ro(config)# class-map [CLASSNAME]
Ro(config-cmap)# match protocol [protocol]

Например:

Ro(config)# class-map PD
Ro(config-cmap)# match protocol citrix ica-tag 2


Создать политику и указать для класса действие

Ro(config)# policy-map [POLICY]
Ro(config-pmap)# class [CLASSNAME]
Ro(config-pmap-c)# {action}


Например:

Ro(config)# policy-map POL
Ro(config-pmap)# class PD
Ro(config-pmap-c)# {shape|police|priority|service-policy}


Осталось привесить политику на интерфейс, чтобы её активировать

Ro(config)# int f0/0
Ro(config-if)# service-policy {input|output} [POLICY]


Например, повесим политику на вход интерфейса

Ro(config)# int f0/0
Ro(config-if)# service-policy input POL


Указание в классе трафика ключевых слов match protocol означает включение технологии NBAR.
Посмотреть статистику попаданий в класс можно посмотреть командой

Ro# sh policy-map interface f0/0


Осталось только напомнить, что любой процесс анализа трафика производится процессором и изрядно его напрягает. По ссылке — статья с тестом производительности без примерения NBAR, с применением базовых и расширенных технологий анализа.

статья на циско.ком

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

(Продолжние следует)
Теги:
Хабы:
+4
Комментарии3

Публикации