Cisco ASA – межсетевой экран, позволяет ограничить определенные виды трафика на хост, подсеть или интерфейс. Но если трафик разрешен, то он будет доставлен к адресату, и неважно что в нём давно известная и распространённая атака. Для обнаружения и предотвращения атак существует различное специализированное оборудование Cisco IDS/IPS, также существуют IPS-модули для Cisco ASA, такие как AIP SSM-10, с ним сейчас и познакомимся.
Система предотвращения вторжений (Intrusion Prevention System, IPS) — программа или железка, которая обнаруживает нарушения системы безопасности и защищает от них. Системы обнаружения вторжений (Intrusion Detection System, IDS) менее функциональны, поскольку только обнаруживают и оповещают о произошедших событиях, не имея возможности автоматически им противодействовать. В принципе понятно, что в составе каждой IPS должен иметься IDS.
AIP SSM-10. Название расшифровывается как Advanced Inspection and Prevention Security Services Module.
1. Проверка модуля и сброс пароля;
2. Первичная настройка, управление и лицензирование;
3. Пропускаем весь трафик через IPS;
4. Выборочная проверка трафика;
5. Настройка действий IPS при событиях;
6. Проверка работы.
1. Проверка модуля и сброс пароля
Для начала посмотрите общую информацию о модуле, его текущее состояние и версию ПО. Команды выполняются из командной строки Cisco ASA:
ciscoasa# show module 1 Mod Card Type Model Serial No. ---- -------------------------------------------- ------------------ ----------- 1 ASA 5500 Series Security Services Module-10 ASA-SSM-10 JAFXXXXYYYY Mod MAC Address Range Hw Version Fw Version Sw Version ---- --------------------------------- ------------ ------------ --------------- 1 eeee.bbbb.3333 to eeee.bbbb.3333 1.0 1.0(11)5 7.1(11)E4 Mod SSM Application Name Status SSM Application Version ---- ------------------------------ ---------------- -------------------------- 1 IPS Up 7.1(11)E4 Mod Status Data Plane Status Compatibility ---- ------------------ --------------------- ------------- 1 Up Up
В моём случае всё в порядке: Status = Up.
Модуль AIP SSM-10 по сути является отдельным компьютером, встраиваемым в шасси Cisco ASA и работающий под Linux. AIP SSM-20 – более мощный компьютер, AIP SSM-40 – ещё более мощный.
Для подключения к командному интерфейсу модуля выполните:
ciscoasa# session 1
Логин/пароль по умолчанию: cisco/cisco. Ну а если не подходит, то его легко сбросить:
ciscoasa# hw-module module 1 ? password-reset Reset the CLI password on the module recover Configure recovery of this module reload Reload the module reset Reset the module shutdown Shut down the module ciscoasa# hw-module module 1 password-reset Reset the password on module in slot 1? [confirm]
Обратите внимание, что на более старых версиях ПО (5.0 .. 6.0) параметра password-reset нет. И для восстановления пароля придётся делать сброс всего модуля (reset).
После сброса пароля мой модуль ушел в ребут, нужно немного подождать. Текущий статус загрузки модуля можно контролировать той же командой show module 1
Подключитесь к модулю:
ciscoasa# session 1
При входе с паролем по умолчанию создайте новый пароль.
2. Первичная настройка, управление и лицензирование
Модуль имеет два гигабитных сетевых интерфейса. Да, именно ДВА! Один на передней панели и второй на задней (он уже подключен к шасси Cisco ASA). Доступ к командной строке для базовой настройки модуля можно получить через консоль Cisco ASA (см. предыдущий пункт). Следующим пунктом идёт настройка интерфейса управления на передней панели для прямого подключения к модулю. Данным интерфейсом модуль подключается в сеть управления, проверяемый трафик через него проходить не будет.
В списках команд и их выводе у меня имеются комментарии, начинающиеся с символа #, их вводить НЕ надо, они для вас, циска их не поймет…
Запустите мастер настройки:
sensor# setup # задайте имя модуля Enter host name[sensor]: # адрес и шлюз для интерфейса управления Enter IP interface[192.168.1.101/24,192.168.1.1]: # изменить список разрешенных узлов? Modify current access list?[no]: yes # укажите хосты, с которых будете управлять модулем Current access list entries: [1] 192.168.1.22/32 [2] 192.168.1.33/32 Delete: Permit: # настройки сети для сервиса Global Correlation # если у Вас нет действующей лицензии на IPS, то это не для Вас Use DNS server for Global Correlation?[yes]: DNS server IP address[192.168.1.1]: Use HTTP proxy server for Global Correlation?[no]: # время Modify system clock settings?[no]: # хотите делиться своей статистикой Participation in the SensorBase Network allows Cisco to collect aggregated statistics about traffic sent to your IPS. SensorBase Network Participation level?[off]: ... [0] Go to the command prompt without saving this config. [1] Return to setup without saving this config. [2] Save this configuration and exit setup. [3] Continue to Advanced setup. # выберите 2, чтобы сохранить настройки Enter your selection[3]: 2
Подключите модуль к сети и проверьте правильность настройки: попробуйте с разрешенного вами хоста подключиться по ssh… Работает!
Для настройки IPS, также как и для самой Cisco ASA, существует графический интерфейс: IPS Manager Express (IME).
Вот ссылка для загрузки Cisco IME:
https://software.cisco.com/download/release.html?mdfid=283674966&softwareid=282829584&release=7.2.7.
Последняя версия 7.2.7 и давно не обновлялась. Скачать, установить, задать при установке пароль доступа к программе. Теперь у Вас есть графический интерфейс для настройки IPS и мониторинга событий безопасности.
Существует ещё одно решение для управления устройствами безопасности: Cisco Security Manager.
Всё последнее программное обеспечение для модуля IPS находится тут: https://software.cisco.com/download/type.html?mdfid=283674966. Кроме IPS Manager Express (Cisco IME) в него входят обновления системы и обновления сигнатур IPS, но без имеющейся действующей лицензии там делать нечего.
Лицензия позволит вам: скачивать и устанавливать обновления системы и ПО, устанавливать обновления сигнатур, настроить автоматическое обновление сигнатур, использовать репутационную сеть Cisco Global Correlation.
Устанавливать обновления можно как через CLI, так и через Cisco IME: Configuration -> Sensor Management -> Update Sensor.
3. Пропускаем весь трафик через IPS
# создание списка доступа # в данном примере будем проверять весь трафик ciscoasa(config)# access-list IPS permit ip any any # определение класса трафика ciscoasa(config)# class-map my-ips-class ciscoasa(config-cmap)# match access-list IPS # определение политики трафика (что с ним делать) ciscoasa(config-cmap)# policy-map my-ips-policy # говорим, что эта политика относится к только что созданному классу трафика ciscoasa(config-pmap)# class my-ips-class # присваиваем трафик AIP-SSM ciscoasa(config-pmap-c)# ips inline fail-close # присоединяем нашу политику на интерфейсы Cisco ASA ciscoasa(config-pmap-c)# service-policy my-ips-policy global
Последняя строка может выдать ошибку, подобную вот этой:
ERROR: Policy map global_policy is already configured as a service policy
Это означает, что у Вас уже есть политика, которую вы применили глобально, на все интерфейсы. В моём случае эта политика называется global_policy. Решить проблему можно так:
1. Вместо создания новой политики policy-map my-ips-policy использовать ту, которая уже есть policy-map global_policy.
2. Использовать политику не глобально, а только для определённого интерфейса:
ciscoasa(config-pmap-c)# service-policy my-ips-policy interface inside
При назначении трафика AIP-SSM использовались два параметра: inline и fail-close.
Первый параметр указывает режим подключения IPS:
- inline – подключение в разрыв сети, это позволяет не только анализировать трафик, но и оперативно вмешиваться, блокировать нарушителей;
- promiscuous – на анализ отправляется только копия трафика, в данном режиме сам IPS блокировать нарушителей уже не может, но может для этого управлять другими устройствами, например, добавить новый фильтр на маршрутизаторе.
Второй параметр определяет поведение Cisco ASA при недоступности модуля IPS (отключение, перезагрузка, выход из строя):
- fail-close – если модуль недоступен, то и трафик блокируется;
- fail-open – если модуль недоступен, то трафик проходит дальше без проверки.
Используя описанную здесь конфигурацию, вы перенаправляете весь трафик через IPS и в случае его недоступности весь трафик блокируется.
4. Выборочная проверка трафика
В предыдущем примере проверялся весь трафик. Где было указано что весь? В первой и последней строке. Первая строка добавляет в список доступа весь трафик, а последняя применяет политику на все интерфейсы (glogal).
Если вам не нужно проверять весь трафик, то нужно указать какой трафик проверять и на каких интерфейсах. В следующем примере на IPS передаётся весь трафик из сети 10.75.20.0/24 с интерфейса inside, кроме трафика, предназначенного сети 192.168.1.0/24.
ciscoasa(config)#access-list my-ips-acl deny ip 10.75.20.0 255.255.255.0 192.168.1.0 255.255.255.0 ciscoasa(config)#access-list my-ips-acl permit ip 10.75.20.0 255.255.255.0 any ciscoasa(config)#class-map my-ips-class ciscoasa(config-cmap)#match access-list my-ips-acl ciscoasa(config)#policy-map interface_policy ciscoasa(config-pmap)#class my-ips-class ciscoasa(config-pmap-c)#ips inline fail-open ciscoasa(config)#service-policy interface_policy interface inside
5. Настройка действий IPS при событиях
Тонкая настройка IPS – дело довольно хлопотное, для первичного знакомства с темой можно почитать тут: http://www.cisco.com/c/en/us/td/docs/security/ips/7-0/configuration/guide/cli/cliguide7/cli_event_action_rules.html
Несколько определений:
- событие – обнаружение трафика, соответствующего одной из активных сигнатур;
- действие – ответная реакция на возникшее событие со стороны IPS;
- риск – вычисляемый параметр, характеризующий степень угрозы произошедшего события (число от 0 до 100).
По умолчанию правило одно: если возникает событие с высоким риском (риск от 90 до 100), то нужно блокировать проходящие пакеты. Вы не можете удалить это правило, но если оно вам не нужно, то его можно отключить.
Вы можете переопределять (overrides) действия связанные с событиями. Переопределение действий – это простой способ изменить действия на события глобально, без необходимости перенастраивать все сигнатуры по отдельности. Каждому ответному действию на события соответствует заданный диапазон уровня риска. Если событие произошло и уровень его риска попадает в заданный диапазон действия, то это действие добавляется к реакции на событие. Например, если вы хотите, чтобы любое событие (с рейтингом риска от 1 до 100) добавлялось в лог, то вы можете установить диапазон рейтинга риска для действия log-pair-packets на 1-89 (события высокого риска 90-100 уже логируются).
Изменим определенное по умолчанию поведение, добавив логирование всех обнаруженных событий:
sensor(config)# service event-action-rules rules0 sensor(config-eve)# overrides log-pair-packets sensor(config-eve-ove)# risk-rating 1-89 sensor(config-eve-ove)# exit sensor(config-eve)# exit Apply Changes?[yes]:
Какие действия можно переопределять?
sensor(config)# service event-action-rules rules0 sensor(config-eve)# overrides ? request-block-connection Request SHUN of connection request-block-host Request SHUN of attacker host deny-attacker-inline Do not transmit packets with source address of attacker deny-packet-inline Do not transmit the single packet causing alert deny-attacker-service-pair-inline Do not transmit packets with source address of attacker and dest port of victim deny-attacker-victim-pair-inline Do not transmit packets with source address of attacker and dest address of victim deny-connection-inline Do not transmit packets on this TCP connection log-attacker-packets Activate packet logging for attacker address log-victim-packets Activate packet logging for victim address log-pair-packets Activate packet logging for attacker/victim address pair reset-tcp-connection Send TCP RST packets to terminate connection produce-alert Write evIdsAlert to EventStore produce-verbose-alert Write evIdsAlert to EventStore with triggerPacket request-rate-limit Request Rate Limit of connection request-snmp-trap Write evIdsAlert to EventStore with SNMP request in AlarmTraits
6. Проверка работы
Остаётся убедиться, что IPS задействован и проверяет трафик.
Для начала проверьте, что Cisco ASA прогоняет нужные пакеты через модуль IPS. Это можно сделать генерируя пакеты при помощи packet-tracer. Например, генерация пакета из внешней сети на внешний интерфейс для www-сервера в dmz (нужен любой пакет, который будет направлен через IPS, согласно вашим access-list):
packet-tracer input outside tcp 8.8.8.8 12345 11.11.11.11 80
Теперь можно посмотреть зарегистрированные события на модуле IPS:
show events alert
а также статистику:
show statistics virtual-sensor
Что делать, если событий пока нет? Их можно организовать самостоятельно… В своей сети для теста IPS я установил honeypot со стороны интерфейса dmz и сканер уязвимострей с другой. События безопасности при сканировании узла гарантированы.
А горшочек с мёдом, как оказалось, и сам очень быстро приманил разных мух:
Спасибо за подробное введение, у нас как раз есть такое же оборудование, но лежит на полке и не используется. Будем запускать…
А можно ли обновить сигнатуры, не имея действующей лицензии? Заранее спасибо!
Да есть два легальных способа:
1. Установить обновления системы, они содержат и обновления сигнатур (не последние, но есть);
2. Получить на сайте cisco 60-дневную тестовую лицензию, сигнатуры обновятся.
Истомин Александр, как написать личный месседж?
Пишите сюда, комментарии с предварительной модерацией. Можете пометить “Личное”…
Личное.
Приветствую, Александр!
Не поможете с такой проблемой: есть две идентичные Cisco ASA 5510 с модулями SSM-10, одна “боевая”, вторая в качестве “холодного” резерва, т.е. конфиги идентичны (должны быть). По договору техподдержки нам присылают для них лицензии и обновления сигнатур. Пару лет обновлений не было, но тут аккурат перед новым годом другой подрядчик нам прислал обновления сигнатур и патч для сенсора. Возникла проблема: при попытке поднять сигнатурную базу с текущей версии (S893) до свежеполученной (S947, потом патч 7.1(11р1)Е4, потом S1000) через Cisco IME, сенсор “вешается”: т.е. пинг проходит, ASA “видит” его статус “Up”, но при подключении к нему выдается сообщение вида Cannot communicate with mainApp (getVersion).
Помогает только ребут сенсора, при этом, естественно, версия сигнатур остается старая.
При этом на другой ASA сегодня эта процедура удалась с первого раза (по крайней мере подъём с S893 до S947), хотя тоже сенсор долго “переваривал”, потом отвалился, но после перезагрузки поднялся с уже новой версией сигнатур.
Вопрос, собственно, такой: может ли быть вызвана эта ошибка конфигурацией сенсора и каким образом можно синхронизировать конфигурации, перелив со “здоровой” на “больную”? 🙂
И ещё вопрос: есть ли принципиальная разница, каким образом заливать *.pkg файлы (сигнатуры и обновления) в сенсор – через интерфейс Cisco IME или ftp-сервер?
Спасибо.
С уважением, Константин.
1. Конфигурацию можно сохранять и восстанавливать, поиск выдаст вам много статей (если не найдете – пишите);
2. Принципиальной разницы нет, но если не сработало в Cisco IME, то нужно делать с консоли.
Доброго Вам! Может подскажете как залить прошивку на ssm-10
show module 1, показывает. что SW Version пустой. Пытаюсь залить img через hw-module module1 recovery configuration – запрашивает TFTP. Ввожу адрес/прошивка.img – адрес порта, вилан, шлюз. далее recovery boot – пауза, и статус модуля становиться recovery – и все. TFTP не показывает загрузку прошивки. Может подскажете, куда копать то…
Спасибо!
Добрый день! К сожалению доступа к такому оборудованию у меня больше нет, а давать пустые советы и непроверенные решения я не могу. Извините!