antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 21 Сентябрь , 2010

Вообще линейка продуктов по системе предотвращения вторжений у компании cisco довольно широкая. Туда входят отдельно стоящие сенсоры IPS серии 42ХХ, модуль в 6500 — IDSM2, модуль в ASA — AIP-SSM, модуль в маршрутизатор (ISR) — NME-IPS, «карточка» в ISR — AIM-IPS. Ту же идеологию циска старается привнести и в софтовые решения на базе ISR, добавляя в IOS соответствующий функционал.
Вся идеология обнаружения и предотвращения вторжений основана на понятии сигнатуры. Сигнатура по сути шаблон «неправильности» в одном пакете или потоке пакетов. «Неправильности» бывают разные, начиная от типичных методов разведки и заканчивая сетевыми червями. Эти шаблоны старательно пишутся программистами циски и доходят до пользователя в виде обновлений. Т.е. система реактивна по своей сути и основана на постоянных обновлениях, что стоит денег. Лицензии на обновления привязываются к каждой железке непосредственно. Без лицензии можно менять ОС, но нельзя накатить обновления сигнатур.
Для начала немного истории систем обнаружения и предотвращения вторжений на базе маршрутизаторов.

Первая система IDS (Intrusion Detection System) была внедрена на маршрутизаторах с IOS 12.2.8T с firewall feature set. Тогда это были 26ХХ и 36ХХ маршрутизаторы. Система представляла собой несколько десятков (максимум 105) сигнатур. Их можно было только отключить или задать работу не для всего трафика. Эта система включалась командами

ip audit name IDS attack action {alarm, drop, reset}
ip audit name IDS info action {alarm, drop, reset}
int f0/0
ip audit IDS {in|out}

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

ip ips sdf location flash:{256MB.sdf|128MB.sdf|attack-drop.sdf}

файл подбирается исходя из количества оперативной памяти на маршрутизаторе. Самый большой файл — 256MB.sdf — содержал более 1500 сигнатур и требовал минимум 256 мегабайт оперативной памяти

ip ips name IPS
int f0/0
ip ips IPS {in|out}

После привешивания на интерфейс правила IPS циска подгружала в память сигнатуры из файла и давала возможность их настроить как через консоль, так и через web-GUI (кстати, GUI, называемый Security Device Manager, SDM, весьма удобен при настройке IPS)
Для обратной совместимости в IOSах (до 12.4.Т(11)) оставались и встроенные сигнатуры. При использовании внешнего файла их рекомендовалось отключать

no ip ips sdf builtin

Можно было потребовать, чтобы трафик блокировался в случае, если невозможно подгрузить файл sdf или произошёл сбой подсистемы IPS

ip ips fail close

Но формат сигнатур тут был такой же, как и в сенсорах IPS версии 4. Этот формат не позволял глубже анализировать трафик и отсекать новые хитрые атаки. На самих IPS сенсорах уже появился к тому времени новый формат 5, в котором можно настраивать накопительные параметры риска атаки (Risk Rating), создавать зоны более пристального внимания (Target Value Rating) и многое другое.
Поэтому с версии 12.4.Т(11) старый формат более не поддерживается, обновления сигнатур формата 4 прекратились в августе 2008.
Чтобы перейти на новый формат и гибко защитить сеть при помощи системы IPS надо теперь грузить другой файл

IOS-S###-CLI.pkg

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

ip ips auto-update

Далее, надо установить на маршрутизатор открытый ключ компании cisco для расшифровывания (а вернее, проверки цифровой подписи) выкачанного файла
Делаем так:

crypto key pubkey-chain rsa
named-key realm-cisco.pub signature
key-string
30820122 300D0609 2A864886 F70D0101 01050003 82010F00 3082010A 02820101
00C19E93 A8AF124A D6CC7A24 5097A975 206BE3A2 06FBA13F 6F12CB5B 4E441F16
17E630D5 C02AC252 912BE27F 37FDD9C8 11FC7AF7 DCDD81D9 43CDABC3 6007D128
B199ABCB D34ED0F9 085FADC1 359C189E F30AF10A C0EFB624 7E0764BF 3E53053E
5B2146A9 D7A5EDE3 0298AF03 DED7A5B8 9479039D 20F30663 9AC64B93 C0112A35
FE3F0C87 89BCB7BB 994AE74C FA9E481D F65875D6 85EAF974 6D9CC8E3 F0B08B85
50437722 FFBE85B9 5E4189FF CC189CB9 69C46F9C A84DFBA5 7A0AF99E AD768C36
006CF498 079F88F8 A3B3FB1F 9FB7B3CB 5539E1D1 9693CCBB 551F78D2 892356AE
2F56D826 8918EF3C 80CA4F4D 87BFCA3B BFF668E9 689782A5 CF31CB6E B4B094D3
F3020301 0001
quit

Эти команды можно просто вколотить в режим

Ro(config)#

копипастом. Ключ один для всех.
Желательно создать во флеше маршрутизатора отдельную папку для файлов IPS

Ro# mkdir flash:/IPS

Туда надо скопировать файл IOS-S###-CLI.pkg , а также указать, что в ней будут храниться нужные для работы файлы

Ro(config)# ip ips config location flash:/IPS/

Теперь осталось эти самые нужные файлы туда установить. Делается это хитрой командой

Ro# copy flash:/IPS/IOS-S###-CLI.pkg idconf

Эта процедура займет существенное время (несколько минут) и в результаты вы увидите во флэше

21 0 May 27 2009 14:22:58 +04:00 IPS
22 8662169 May 27 2009 14:24:22 +04:00 IPS/IOS-S399-CLI.pkg
23 284871 May 28 2009 22:48:00 +04:00 IPS/ccmt-2811-sigdef-default.xml
24 255 May 27 2009 16:35:56 +04:00 IPS/ccmt-2811-sigdef-delta.xml
25 34761 May 28 2009 22:43:44 +04:00 IPS/ccmt-2811-sigdef-category.xml
26 304 May 27 2009 16:35:56 +04:00 IPS/ccmt-2811-seap-delta.xml
27 8509 May 28 2009 22:43:40 +04:00 IPS/ccmt-2811-sigdef-typedef.xml
28 491 May 27 2009 17:05:00 +04:00 IPS/ccmt-2811-seap-typedef.xml

Эти xml файлы содержат дефолтные настройки, ваши изменения, параметры блокировки и т.д.
Практически всё. Надо только создать правило и повесить его на интерфейс, как это делалось и раньше:

ip ips name IPS
int f0/0
ip ips IPS {in|out}

После этого произойдёт подгрузка в память сигнатур, и те из них, которые по умолчанию включены, сразу примутся за работу.
Помните, что сигнатур много, они кушают много памяти и процессора, поэтому циска настоятельно рекомендует сделать следующее.
1. Отключить категорию сигнатур all

Ro(config)# ip ips signature-category
Ro(config-ips-category)# category all
Ro(config-ips-category-action)# retired true

2. Включить для начала категорию, рассчитанную на IOS, причём в базовом исполнении

Ro(config)# ip ips signature-category
Ro(config-ips-category)# category ios_ips basic
Ro(config-ips-category-action)# retired false
Ro(config-ips-category-action)# enabled true

Конфиг актуализируется после выхода обратно в режим (config)#
3. Далее, следя за памятью и загрузкой процессора, можно добавлять и другие категории сигнатур. Настройка самих сигнатур возможна как через консоль из режима

ip ips signature-definition

так и через SDM или более новый WEB-GUI — ССE (Cisco Configuration Expert)
Параметры и механизм настройки сигнатур максимально приближен к настройке на сенсорах, поэтому если вы имеете опыт настройки AIP-SSM, сенсоров 42ХХ или IDMS2, можете смело браться за дело. Если такого опыт нет, лучше почитать о настройке сигнатур. Или сходить на курс IPS 6.0 🙂

 

Метки: , , ,
Опубликовано: Маршрутизаторы и коммутаторы

 

» Оставить комментарий

Вы должны войти чтобы прокомментировать.