Безопасность : Система предотвращения вторжений (IPS) Cisco IOS

Пример конфигурации системы защиты от проникновения с подписями 5.x

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Этот документ описывает, как настроить 5.x подписи формата в Cisco IPS IOS� и организован в два раздела:

Предварительные условия

Требования

Гарантируйте, что у вас есть надлежащие компоненты (как описано в Используемых компонентах), прежде чем вы выполните шаги в этом документе.

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:

  • Cisco ISR (87x, 18xx, 28xx, или 38xx)

  • 128 МБ или больше DRAM и свободной флэш - памяти по крайней мере 2 МБ

  • Подключение консоли или Telnet к маршрутизатору

  • Cisco IOS Release 12.4 (15) T3 или позже

  • Допустимый CCO (Cisco.com) имя и пароль регистрационной информации пользователя для входа

  • Текущий Контракт на обслуживание Cisco IPS для лицензированных сервисов обновления подписи

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

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Условные обозначения технических терминов Cisco.

Раздел I. Начинающие работу действия настройки

Шаг 1. Файлы IPS IOS загрузки

Первый шаг должен загрузить файлы пакета подписи IPS IOS и общий криптографический ключ от Cisco.com.

Загрузите требуемые Файлы цифровой подписи от Cisco.com до вашего ПК:

Шаг 2. Создайте каталог конфигурации IPS IOS на Флэше

Действие второе должно создать каталог на флэш-памяти вашего маршрутизатора, где вы храните требуемые Файлы цифровой подписи и конфигурации. Также можно использовать карту флэш-памяти с интерфейсом USB Cisco, связанную с USB-портом маршрутизатора для хранения Файлов цифровой подписи и конфигураций. Карта флэш-памяти с интерфейсом USB должна остаться связанной к USB-порту маршрутизатора, если это используется в качестве местоположения каталога конфигурации IPS IOS. IPS IOS также поддерживает любую Файловую систему IOS как свое расположение настройки с надлежащим доступом с правом записи.

Для создания каталога введите эту команду в командную строку маршрутизатора: mkdir <имя каталога>

Пример:

router#mkdir ips
Create directory filename [ips]?
Created dir flash:ips

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

Для проверки содержания флэш-памяти введите эту команду в командную строку маршрутизатора: show flash:

Пример:

router#dir flash:
Directory of flash:/
   5 -rw-   51054864 Feb 8 2008 15:46:14 -08:00 
                     c2800nm-advipservicesk9-mz.124-15.T3.bin
   6 drw-      0 Feb 14 2008 11:36:36 -08:00 ips
64016384 bytes total (12693504 bytes free)

Для переименования имени каталога используйте эту команду: переименуйте <текущий name> <новое имя>

Пример:

router#rename ips ips_new
Destination filename [ips_new]?

Шаг 3. Настройте криптографический ключ IPS IOS

Шаг третий должен настроить криптографический ключ, используемый IPS IOS. Этот ключ расположен в файле области-cisco.pub.key.txt, который был загружен в Шаге 1.

Криптографический ключ используется для проверки цифровой подписи для основного Файла цифровой подписи (sigdef-default.xml), чье содержание подписано секретным ключом Cisco для гарантии его подлинности и целостности при каждом выпуске.

  1. Откройте текстовый файл и скопируйте содержание файла.

  2. Используйте команду configure terminal для ввода, маршрутизатор настраивают режим.

  3. Вставьте содержание текстового файла в приглашении <hostname>(config)#.

  4. Выходной режим конфигурации маршрутизатора.

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

    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
  6. Используйте эту команду для сохранения конфигурации:

    выполнение копии - настраивает запуск - настраивают

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

Если ключ настроен неправильно, необходимо удалить криптографический ключ сначала и затем реконфигурировать его:

  1. Для удаления ключа введите эти команды в упомянутый ниже заказ:

    router#configure terminal
    router(config)#no crypto key pubkey-chain rsa
    router(config-pubkey-chain)#no named-key realm-cisco.pub signature
    router(config-pubkey-chain)#exit
    router(config)#exit
    
  2. Используйте команду show run, чтобы проверить, что ключ удален из конфигурации.

  3. Завершите процедуру в Шаге 3 для реконфигурирования ключа.

Шаг 4. Включите IPS IOS

Четвертый шаг должен настроить IPS IOS. Завершите эту процедуру для настройки IPS IOS:

  1. Используйте ip ips name <имя правила> команда <optional ACL> для создания имени правила. (Это будет использоваться на интерфейсе для включения IPS.)

    Пример:

    router#configure terminal
    router(config)#ip ips name iosips
    

    Можно задать расширенное дополнительное или контрольный список стандартного доступа (ACL) для фильтрации трафика, который будет просмотрен этим именем правила. Весь трафик, который разрешен ACL, подлежит проверке IPS. Трафик, который запрещен ACL, не осмотрен IPS.

    router(config)#ip ips name ips list ?
    <1-199> Numbered access list
    WORD Named access list
  2. Используйте флэш-память ip ips config location: команда <directory name> для настройки размещения хранения подписи IPS. (Это - каталог ips, созданный в Шаге 2.)

    Пример:

    router(config)#ip ips config location flash:ips
    
  3. Используйте команду ip ips notify sdee, чтобы включить IPS уведомление о событии SDEE.

    Пример:

    router(config)#ip ips notify sdee
    

    Для использования SDEE сервер HTTP должен быть включен (с командой ip http server). Если сервер HTTP не включен, маршрутизатор не может ответить клиентам SDEE, потому что это не видит запросы. Уведомление SDEE отключено по умолчанию и должно быть явно включено.

    IPS IOS также поддерживает использование системного журнала для передачи уведомления о событии. SDEE и системный журнал могут использоваться независимо или включаться в то же время для передачи уведомления о событии IPS IOS. Уведомление системного журнала включено по умолчанию. Если консоль регистрации будет включена, то вы будете видеть сообщения системного журнала IPS. Для включения системного журнала используйте эту команду:

    router(config)#ip ips notify log
    
  4. Настройте IPS IOS для использования одной из предопределенных категорий подписи.

    IPS IOS с подписями формата Cisco 5.x работает с категориями подписи (точно так же, как устройства Cisco IPS). Все подписи сгруппированы в категории, и категории являются иерархическими. Это помогает классифицировать подписи для легкой группировки и настройки.

    warning % Warning: Вся категория подписи содержит все подписи в выпуске подписи. Так как IPS IOS не может скомпилировать и использовать все подписи, содержавшиеся в выпуске подписи когда-то, не не исключайте всю категорию; иначе, маршрутизатор исчерпает память.

    Примечание: При настройке IPS IOS необходимо сначала исключить все подписи во всей категории, и затем не исключить выбранные категории подписи.

    Примечание: Заказ, в котором категории подписи настроены на маршрутизаторе, также важен. IPS IOS обрабатывает команды категории в заказе, перечисленном в конфигурации. Некоторые подписи принадлежат несколькам категорий. Если несколька категорий настроены, и подпись принадлежит нескольким из них, свойства подписи (например, исключенный, неисключенный, действия, и т.д.) в последней настроенной категории используются IPS IOS.

    В данном примере исключены все подписи во "всей" категории, и затем Основная категория IPS IOS не исключена.

    router(config)#ip ips signature-category
    router(config-ips-category)#category all
    router(config-ips-category-action)#retired true
    router(config-ips-category-action)#exit
    router(config-ips-category)#category ios_ips basic
    router(config-ips-category-action)#retired false
    router(config-ips-category-action)#exit
    router(config-ips-category)#exit
    Do you want to accept these changes? [confirm]y
    router(config)#
  5. Используйте эти команды, чтобы включить правило IPS о необходимом интерфейсе и задать направление, в котором будет применено правило:

    интерфейс <имя интерфейса>

    ip ips <имя правила> [в |]

    Пример:

    router(config)#interface GigabitEthernet 0/1
    router(config-if)#ip ips iosips in
    router(config-if)#exit
    router(config)#exit
    router#

    В аргументе означает, что только трафик, входящий в интерфейс, осмотрен IPS. Аргумент означает, что только трафик, выходящий из интерфейса, осмотрен IPS.

    Чтобы позволить IPS осмотреть и в и трафик интерфейса, введите отдельно имя правила IPS для в и на том же интерфейсе:

    router(config)#interface GigabitEthernet 0/1
    router(config-if)#ip ips iosips in
    router(config-if)#ip ips iosips out
    router(config-if)#exit
    router(config)#exit
    router#

Шаг 5. Загрузите пакет подписи IPS IOS в маршрутизатор

Последний шаг должен загрузить в маршрутизатор пакет подписи, загруженный в Шаге 1.

Примечание: Наиболее распространенный способ загрузить пакет подписи в маршрутизатор состоит в том, чтобы использовать или FTP или TFTP. Эта процедура использует FTP. См. Дополнительные команды и Ссылки разделяют в этой процедуре для альтернативного метода для загрузки пакета подписи IPS IOS. При использовании сеанса Telnet используйте команду terminal monitor для просмотра выходных данных консоли.

Для загрузки пакета подписи в маршрутизатор выполните эти шаги:

  1. Используйте эту команду для копирования загруженного пакета подписи от сервера FTP до маршрутизатора:

    скопируйте ftp://<ftp_user:password@Server_IP_address> / <signature_package> idconf

    Примечание: Не забудьте использовать idconf параметр в конце команды копии.

    Примечание: Пример:

    router#copy ftp://cisco:cisco@10.1.1.1/IOS-S310-CLI.pkg idconf
    Loading IOS-S310-CLI.pkg !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 7608873/4096 bytes]

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

    *Feb 14 16:44:47 PST: %IPS-6-ENGINE_BUILDS_STARTED: 16:44:47 PST Feb 14 2008
    *Feb 14 16:44:47 PST: %IPS-6-ENGINE_BUILDING: multi-string - 8 signatures - 
                          1 of 13 engines
    *Feb 14 16:44:47 PST: %IPS-6-ENGINE_READY: multi-string - build time 4 ms - 
                          packets for this engine will be scanned
    *Feb 14 16:44:47 PST: %IPS-6-ENGINE_BUILDING: service-http - 622 signatures - 
                          2 of 13 engines
    *Feb 14 16:44:53 PST: %IPS-6-ENGINE_READY: service-http - build time 6024 ms - 
                          packets for this engine will be scanned
    |
    output snipped
    |
    *Feb 14 16:45:18 PST: %IPS-6-ENGINE_BUILDING: service-smb-advanced - 35 signatures - 
                          12 of 13 engines
    *Feb 14 16:45:18 PST: %IPS-6-ENGINE_READY: service-smb-advanced - build time 16 ms - 
                          packets for this engine will be scanned
    *Feb 14 16:45:18 PST: %IPS-6-ENGINE_BUILDING: service-msrpc - 25 signatures - 
                          13 of 13 engines
    *Feb 14 16:45:18 PST: %IPS-6-ENGINE_READY: service-msrpc - build time 32 ms - 
                          packets for this engine will be scanned
    *Feb 14 16:45:18 PST: %IPS-6-ALL_ENGINE_BUILDS_COMPLETE: elapsed time 31628 ms
  2. Используйте команду show ip ips signature count, чтобы проверить, что должным образом скомпилирован пакет подписи.

    Пример:

    router#show ip ips signature count
    Cisco SDF release version S310.0 ← signature package release version
    Trend SDF release version V0.0
    Signature Micro-Engine: multi-string: Total Signatures 8
    multi-string enabled signatures: 8
    multi-string retired signatures: 8
    |
    outpt snipped
    |
    Signature Micro-Engine: service-msrpc: Total Signatures 25
    service-msrpc enabled signatures: 25
    service-msrpc retired signatures: 18
    service-msrpc compiled signatures: 1
    service-msrpc inactive signatures - invalid params: 6
    Total Signatures: 2136
    Total Enabled Signatures: 807
    Total Retired Signatures: 1779
    Total Compiled Signatures: 
          351 ← total compiled signatures for the IOS IPS Basic category
    Total Signatures with invalid parameters: 6
    Total Obsoleted Signatures: 11
    router#

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

Общий криптографический ключ недопустим при получении сообщения об ошибках во время компиляции подписи, подобной этому сообщению об ошибках:

%IPS-3-INVALID_DIGITAL_SIGNATURE: Invalid Digital Signature found (key not found)

См. Шаг 3 для получения дополнительной информации.

Если у вас нет доступа к FTP или серверу TFTP, можно использовать карту флэш-памяти с интерфейсом USB для загрузки пакета подписи в маршрутизатор. Во-первых, скопируйте пакет подписи на Карту памяти, подключите Карту памяти с одним из USB-портов на маршрутизаторе, и затем используйте команду копии с idconf параметром для копирования пакета подписи к маршрутизатору.

Пример:

router#copy usbflash1:IOS-S310-CLI.pkg idconf

В настроенном каталоге хранилища IPS IOS существует шесть файлов. Эти файлы используют этот формат названия: <имя маршрутизатора>-sigdef-xxx.xml или <имя маршрутизатора>-seap-xxx.xml.

router#dir ips
Directory of flash:/ips/
7 -rw- 203419 Feb 14 2008 16:45:24 -08:00 router-sigdef-default.xml
8 -rw- 271 Feb 14 2008 16:43:36 -08:00 router-sigdef-delta.xml
9 -rw- 6159 Feb 14 2008 16:44:24 -08:00 router-sigdef-typedef.xml
10 -rw- 22873 Feb 14 2008 16:44:26 -08:00 router-sigdef-category.xml
11 -rw- 257 Feb 14 2008 16:43:36 -08:00 router-seap-delta.xml
12 -rw- 491 Feb 14 2008 16:43:36 -08:00 router-seap-typedef.xml
64016384 bytes total (12693504 bytes free)
router#

Эти файлы хранятся в сжатом формате и не непосредственно доступны для редактирования или доступны для просмотра. Содержание каждого файла описано ниже:

  • router-sigdef-default.xml содержит все определения подписи заводской настройки.

  • router-sigdef-delta.xml содержит определения подписи, которые были изменены от по умолчанию.

  • router-sigdef-typedef.xml содержит все определения параметра подписи.

  • router-sigdef-category.xml содержит информацию о категории подписи, такую как категория ios_ips основной и усовершенствованный.

  • router-seap-delta.xml содержит изменения, внесенные в параметры SEAP по умолчанию.

  • router-seap-typedef.xml содержит все определения параметра SEAP.

Раздел II. Пункты меню Advanced Configuration Option

Этот раздел предоставляет инструкции и примеры на усовершенствованных опциях IOS IPS для настройки подписи.

Исключите или Не исключите подписи

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

  • Исключение подписи означает, что IPS IOS НЕ скомпилирует ту подпись в память для сканирования.

  • Неисключение подписи дает IPS IOS команду компилировать подпись в память и использовать подпись для сканирования трафика.

Можно использовать интерфейс командной строки (CLI) IOS, чтобы исключить или не исключить отдельные подписи или группу подписей, которые принадлежат категории подписи. Когда вы исключаете или не исключаете группу подписей, все подписи в той категории исключены или не исключены.

Примечание: Если подпись была устаревшей, некоторые неисключенные подписи (или неисключенный как отдельная подпись или в неисключенной категории) могут не скомпилировать из-за недостаточной памяти или недопустимых параметров или.

Данный пример показывает, как исключить отдельные подписи. Например, подпись 6130 с subsig ID 10:

router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip ips signature-definition
router(config-sigdef)#signature 6130 10
router(config-sigdef-sig)#status
router(config-sigdef-sig-status)#retired true
router(config-sigdef-sig-status)#exit
router(config-sigdef-sig)#exit
router(config-sigdef)#exit
Do you want to accept these changes? [confirm]y
router(config)#

Данный пример показывает, как не исключить все подписи, которые принадлежат Основной категории IPS IOS:

router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z
router(config)#ip ips signature-category
router(config-ips-category)#category ios_ips basic
router(config-ips-category-action)#retired false
router(config-ips-category-action)#exit
router(config-ips-category)#exit
Do you want to accept these changes? [confirm]y

Примечание: Когда подписи в категориях кроме Основного IPS IOS и Усовершенствованного IPS IOS не исключены как категория, компиляция некоторых подписей или механизмов могла отказать, потому что определенные подписи в тех категориях не поддерживаются IPS IOS (см. пример ниже). Все другие успешно скомпилированные (неисключенные) подписи используются IPS IOS для сканирования трафика.

Router(config)#ip ips signature-category
router(config-ips-category)#category os
router(config-ips-category-action)#retired false
router(config-ips-category-action)#exit
router(config-ips-category)#exit
Do you want to accept these changes? [confirm]y
*Feb 14 18:10:46 PST: Applying Category configuration to signatures ...
*Feb 14 18:10:49 PST: %IPS-6-ENGINE_BUILDS_STARTED: 08:10:49 PST Feb 18 2008
*Feb 14 18:10:49 PST: %IPS-6-ENGINE_BUILDING: multi-string - 8 signatures -  
                      1 of 13 engines
*Feb 14 18:10:49 PST: %IPS-6-ENGINE_READY: multi-string - build time 136 ms -  
                      packets for this engine will be scanned
*Feb 14 18:10:49 PST: %IPS-6-ENGINE_BUILDING: service-http - 622 signatures -  
                      2 of 13 engines
*Feb 14 18:10:50 PST: %IPS-4-META_ENGINE_UNSUPPORTED: service-http 5903:1 -  
                      this signature is a component of the unsupported META engine
*Feb 14 18:24:42 PST: %IPS-4-SIGNATURE_COMPILE_FAILURE: service-http 5754:0 -  
                      compilation of regular expression failed
*Feb 14 18:24:49 PST: %IPS-4-SIGNATURE_COMPILE_FAILURE: service-http 5729:1 -  
                      compilation of regular expression failed

Включите или отключите подписи

Когда пакет или поток пакетов совпадают с подписями, включить или отключить подпись означают принудить или игнорировать действие (действия), привязанное к подписям IPS IOS.

Примечание: Включите и отключите, НЕ выбирает и отменяет выбор подписей, которые будут использоваться IPS IOS.

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

  • Отключить подпись означает, что, когда инициировано соответствующим пакетом (или поток пакетов), подпись НЕ принимает соответствующие меры, привязанные к ней. Другими словами, когда подпись отключена, даже при том, что это не исключено и успешно скомпилированное, это не примет меры, привязанные к нему.

Можно использовать интерфейс командной строки (CLI) IOS, чтобы включить или отключить отдельные подписи или группу подписей на основе категорий подписи. Данный пример показывает, как отключить подпись 6130 с subsig ID 10.

router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip ips signature-definition
router(config-sigdef)#signature 6130 10
router(config-sigdef-sig)#status
router(config-sigdef-sig-status)#enabled false
router(config-sigdef-sig-status)#exit
router(config-sigdef-sig)#exit
router(config-sigdef)#exit
Do you want to accept these changes? [confirm]y
router(config)#

Данный пример показывает, как включить все подписи, которые принадлежат Основной категории IPS IOS.

router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z
router(config)#ip ips signature-category
router(config-ips-category)#category ios_ips basic
router(config-ips-category-action)#enabled true
router(config-ips-category-action)#exit
router(config-ips-category)#exit
Do you want to accept these changes? [confirm]y
router(config)#

Действия подписи изменения

Можно использовать интерфейс командной строки (CLI) IOS для изменения действий подписи для одной подписи или группы подписей на основе категорий подписи. Данный пример показывает, как изменить действия подписи, чтобы предупредить, отбросить и перезагрузить для подписи 6130 с subsig ID 10.

router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip ips signature-definition
router(config-sigdef)#signature 6130 10
router(config-sigdef-sig)#engine
router(config-sigdef-sig-engine)#event-action produce-alert
router(config-sigdef-sig-engine)#event-action deny-packet-inline
router(config-sigdef-sig-engine)#event-action reset-tcp-connection
router(config-sigdef-sig-engine)#exit
router(config-sigdef-sig)#exit
router(config-sigdef)#exit
Do you want to accept these changes? [confirm]y
router(config)#

Данный пример показывает, как изменить действия события для всех подписей, которые принадлежат Основной категории IPS IOS подписи.

router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z
router(config)#ip ips signature-category
router(config-ips-category)#category ios_ips basic
router(config-ips-category-action)#event-action produce-alert
router(config-ips-category-action)#event-action deny-packet-inline
router(config-ips-category-action)#event-action reset-tcp-connection
router(config-ips-category-action)#exit
router(config-ips-category)#exit
Do you want to accept these changes? [confirm]y
router(config)#

Дополнительные сведения


Document ID: 105625