![](https://habrastorage.org/files/080/d66/51a/080d6651acc0425ba9820506a6f22fb0.png)
Привет habr! Начиная с версии FirePOWER 6.0.0.0, появилась возможность интеграции с корпоративным сервером централизованной аутентификации и авторизации Cisco ISE. В данной заметке кратко рассмотрим, что именно даёт связь Cisco FirePOWER с ISE и как эта связь настраивается.
Что такое FirePOWER
Достаточно много написали на нашем сайте в разделе вопросы/ответы:
- Что такое SourceFire?
- Каковы преимущества FirePOWER и особенности его внедрения/использования?
- Как запустить сервисы FirePOWER на ASA 5500-X?
Что такое Cisco ISE
Достаточно подробно написано на habrahabr в корпоративном блоге Cisco.
Также есть серьёзная статья от инженера Cisco, описывающая сценарии использования Cisco ISE и архитектуру TrustSec.
Также есть серьёзная статья от инженера Cisco, описывающая сценарии использования Cisco ISE и архитектуру TrustSec.
Интеграция FirePOWER c ISE даёт в первую очередь новый способ получения идентификационных данных пользователей. До версии FirePOWER 6.0.0.0 аутентификация пользователей происходила в пассивном режиме. Это означает, что где-то в сети на компьютере, входящем в домен, или непосредственно на сервере Active Directory (AD) должен быть установлен агент. Данный агент должен мониторить логи AD на предмет событий login/logoff пользователей и передавать соответствия IP-адреса и учётной записи пользователя на FirePOWER. Последняя реинкарнация данного агента от SourceFIRE получила название Cisco FirePOWER User Agent.
Агенты пассивной аутентификации
В наследство от SourceFIRE компания Cisco получила агент SourceFIRE User Agent, способный интегрироваться с системой управления Defence Center (FireSIGHT). К слову сказать, сейчас актуальное название системы управления FirePOWER выглядит так: FirePOWER Management Center (сокращённо FMC). А агент именуется Cisco FirePOWER User Agent.
До этого у Cisco были собственные варианты агентов: Cisco Active Directory Agent (AD Agent), управляемый из командной строки, и более позднее решение с графическим интерфейсом — Context Directory Agent (CDA). Данные решения можно было использовать для получения функциональности Identity FireWall на устройстве Cisco ASA. Т.е. на Cisco ASA появлялась возможность создавать списки доступа не по IP-адресам, а по учётным записям из AD. Также CDA можно было использовать с решением Cisco ASA CX (данное решение уже более не продаётся в пользу ASA+FirePOWER), с WEB-proxy сервером Cisco WSA и с сервером аутентификации и авторизации Cisco ISE.
До этого у Cisco были собственные варианты агентов: Cisco Active Directory Agent (AD Agent), управляемый из командной строки, и более позднее решение с графическим интерфейсом — Context Directory Agent (CDA). Данные решения можно было использовать для получения функциональности Identity FireWall на устройстве Cisco ASA. Т.е. на Cisco ASA появлялась возможность создавать списки доступа не по IP-адресам, а по учётным записям из AD. Также CDA можно было использовать с решением Cisco ASA CX (данное решение уже более не продаётся в пользу ASA+FirePOWER), с WEB-proxy сервером Cisco WSA и с сервером аутентификации и авторизации Cisco ISE.
Преимущество использования агента для аутентификации пользователей – полная прозрачность процесса аутентификации. Другими словами, User Experience для конечного пользователя абсолютно никак не меняется при внедрении аутентификации на сетевом шлюзе. Однако, у данного метода ряд недостатков. Очевидный минус заключается в самом подходе: нужно устанавливать дополнительное ПО, которое должно круглосуточно мониторить логи AD. Если по какой-то причине логи AD будут недоступны, пользователь не будет авторизован на сетевом устройстве. Также может проявиться проблема с неверным предоставлением прав доступа. Например, если на момент входа пользователя в систему ПК был отключен от сети, в теории, новый пользователь сможет получить права доступа предыдущего пользователя ПК, если через какое-то время подключит ПК обратно к сети.
Другой подход – активная аутентификация, при которой установка агента не требуется, но пользователи должны самостоятельно вводить учётные данные по запросу. Недостаток этого метода очевиден.
Активная аутентификация на FirePOWER также была представлена с выходом версии 6.0.0.0.
Использование Cisco ISE для идентификации пользователей на FirePOWER решает проблемы, присущие как пассивной аутентификации с агентом, так и активной аутентификации. Как следует из определения, Cisco ISE является централизованной системой аутентификации и авторизации пользователей при подключении в сеть. Как только пользователь успешно проходит процедуры аутентификации и авторизации и получает доступ в сеть, на Cisco ISE появляется полная информация об этом пользователе, включающая IP-адрес пользователя и его учётную запись. Далее эту информацию достаточно передать на FirePOWER, а точнее на систему управления FirePOWER Management Center. Cистема получит возможность сопоставить IP-адрес сетевой транзакции с учётной записью пользователя и применить настроенные политики доступа.
Но функциональность Cisco ISE не ограничивается аутентификацией и авторизацией пользователей в сети. Cisco ISE позволяет профилировать пользовательские устройства, т.е. определять, какое устройство подключено к определённому порту определённого коммутатора. К информации об устройстве относятся: производитель, версия ОС, тип устройства (мобильное/стационарное) и т.д. Данная информация также может быть передана на FirePOWER. Это даёт возможность настраивать разные правила доступа для разных типов устройств. Например, для Android и iOS более специфичные ограничения, чем для Microsoft Workstation. Пример настройки правила с учётом типа устройства представлен ниже:
Помимо профилирования устройств Cisco ISE позволяет реализовать архитектуру Cisco TrustSec. Очень кратко, Cisco TrustSec позволяет разграничивать доступ в сети по меткам, называемым Security Group Tags (SGT). Метка представляет собой произвольное число от 1 до 65535 передаётся в рамках Ethernet-кадра. Соответственно, устройства, через которые проходят кадры с метками SGT, должны поддерживать архитектуру TrustSec. В противном случае, информация о метке для сетевой транзакции может передаваться посредством протокола Security Group Tag Exchange Protocol (SXP). При успешном прохождении процедур аутентификации и авторизации пользователю присваивается метка, определяющая его доступ к ресурсам сети. Описание, присвоение метки SGT, а также настройка правил доступа по меткам (SGT ACL) осуществляется при помощи Cisco ISE. Начиная с версии FirePOWER 6.0.0.0 появилась возможность использовать метки SGT в политиках доступа на FirePOWER. Пример настройки правила с учётом метки SGT представлен ниже:
Последний атрибут ISE, который может быть использован в политиках доступа FirePOWER версии 6.0.0.0, – Location IP. Данный атрибут означает IP-адрес сетевого устройства, которое аутентифицировало пользователя через Cisco ISE. Следовательно, можно создавать различные правила доступа для одного и того же пользователя, в зависимости от того, к какому сетевому устройству он подключен (коммутатор или точка доступа WiFi, или, например, коммутатор в головном офисе или коммутатор в удалённом филиале, или, например, подключение пользователя удалённо через AnyConnect).
Прежде чем переходить к настройке связи FirePOWER c Cisco ISE подведём итог. При интеграции FirePOWER и Cisco ISE получаем следующие преимущества:
- Отпадает необходимость использования агента Cisco FirePOWER User Agent для аутентификации пользователей. Также отпадает необходимость в активной аутентификации. Все задачи аутентификации и авторизации пользователей в сети берёт на себя Cisco ISE.
- Более точная идентификация пользователей на FirePOWER по сравнению с использованием агента Cisco FirePOWER User Agent.
- Использование атрибутов Cisco ISE, а именно:
- Появляется возможность использовать результаты профилирования Cisco ISE в правилах доступа FirePOWER.
- Появляется возможность использовать метки TrustSec (SGT) в правилах доступа FirePOWER.
- Появляется возможность использования IP-адреса авторизующего устройства в правилах доступа FirePOWER.
Настройка связи FirePOWER с Cisco ISE
Настройка приводится для FirePOWER Management Center версии 6.0.1 и Cisco ISE версии 2.0.0.306. Как говорилось ранее, Cisco ISE хранит подробную информацию об авторизованных в сети пользователях. Основная задача – передать необходимую информацию на FirePOWER.
Традиционно, когда одна система должна коммуницировать с другой системой, используют кастомные или проприетарные API (Application Programing Interface). Cisco предлагает собственную технологию, посредством которой осуществляется взаимодействие различных продуктов Cisco, а также связь решений Cisco с системами других вендоров. Технология именуется Cisco Platform Exchange Grid (pxGrid). Данная технология предлагает общий язык взаимодействия для обмена информации между различными системами, например, FirePOWER, ISE, WSA, Cyber Threat Defense (CTD) и т.д.
Центральным компонентов pxGrid является Cisco ISE. Другие внешние системы выступают в роли клиентов или агентов в рамках pxGrid и подписываются на Cisco ISE для получения или передачи информации. Когда внешние системы подключаются к pxGrid, регистрируясь на Cisco ISE, они получают возможность обмениваться информацией по схеме «каждый с каждым», используя для этого единые методы. Регистрация внешних систем на Cisco ISE в pxGrid осуществляется посредством цифровых сертификатов. Для возможности использования pxGrid на Cisco ISE требуется наличие лицензии PLUS.
Перейдём к настройкам. Сперва Cisco ISE.
1. Активировать pxGrid Persona на Cisco ISE.
Вкладка Administration -> System -> Deployment.
Выбрать сервер ISE. Кликнуть по его названию. Установить галку напротив pxGrid:
Нажать Save.
2. Получить цифровой сертификат для pxGrid. Сервис pxGrid требует расширенные возможности использования цифрового ключа, а именно, аутентификация как сервера, так и клиента. Поэтому сертификат, используемый для стандартных задач ISE (EAP Authentication, Admin portals, User Portals) не подходит для pxGrid. Необходимо сгенерировать и подписать на корпоративном удостоверяющем центре (далее корпоративный CA) сертификат для pxGrid. Для этого нужно зайти на вкладку Administration -> System -> Certificates и в меню слева выбрать Certificate Signing Requests:
Нажать Generate Certificate Signing Request (CSR) и заполнить необходимые поля. Пример на изображении ниже:
Нажимам Generate и экспортируем полученный CSR. Теперь идём на корпоративный CA и подписываем по CSR сертификат. На данном моменте подробно останавливаться не буду, просто вставлю скриншоты:
![](https://habrastorage.org/files/229/dac/c7e/229dacc7e7114f328805ac7f62132a49.png)
Подписанный сертификат получен. Возвращаемся на ISE, привязываем сертификат к CSR:
![](https://habrastorage.org/files/bd7/304/ee8/bd7304ee8071421ab3a7c78f8d321991.png)
![](https://habrastorage.org/files/829/f9e/a78/829f9ea78f354ba6815317e3209db0aa.png)
Теперь на ISE есть необходимый сертификат для pxGrid:
![](https://habrastorage.org/files/935/60c/467/93560c4673384ad09ffdd000be48d747.png)
3. Проверить подключенные по pxGrid клиенты можно на вкладке Administration -> pxGrid Services. Здесь же установим настройку «Enable Auto Registration»:
![](https://habrastorage.org/files/445/85b/692/44585b6923854460bd80893c67f3a281.png)
ISE настроен. Теперь перейдём к настройкам pxGrid на FirePOWER.
4. Необходимо перейти на вкладку System -> Integration -> Identity Sources и выбрать Identity Services Engine в качестве источника идентификационной информации:
![](https://habrastorage.org/files/936/42d/191/93642d191d15491bbb5efc1e607df952.png)
5. Заполнить обязательные поля. Необходимо указать IP-адрес или имя сервера ISE:
![](https://habrastorage.org/files/fe6/fdd/86c/fe6fdd86c574443ead993b384476b831.png)
6. Указать сертификаты «pxGrid Server CA» и «MNT Server CA». В качестве этих сертификатов можно использовать корневой сертификат корпоративного CA:
![](https://habrastorage.org/files/cca/27c/96b/cca27c96b3f34619aad467e6f6cfbd4d.png)
7. Указать сертификат и ключ «FMC Server Certificate». Данный сертификат FirePOWER Management Center будет предъявлять Cisco ISE при попытке подключения к pxGrid. Чтобы получить этот сертификат, нужно на FirePOWER сгенерировать CSR, подписать его на корпоративном CA и загрузить полученный подписанный сертификат на FirePOWER. Для этого нужно сгенерировать пару ключей и CSR из командной строки FMC, используя утилиту openssl:
![](https://habrastorage.org/files/da0/527/def/da0527defd9c4a8ba257853d5d76efd3.png)
Я использовал следующую строку параметров для создания CSR и Private Key:
req -batch -new -newkey rsa:2048 -nodes -keyout fp.key -subj '/C=RU/ST=Moscow/L=Moscow/O=CBS/OU=Computers/emailAddress=uskov@cbs.ru/CN=fmc/CN=cbs/CN=com/CN=ru' -out fp.csr
Далее по CSR нужно подписать сертификат на корпоративном CA. Процедура абсолютно аналогична процессу получения сертификата pxGrid для ISE. Подписанный сертификат импортируем на FirePOWER Management Center. Вкладка Objects -> Object Management меню PKI -> Internal Certs:
![](https://habrastorage.org/files/4b8/6ba/8d6/4b86ba8d60d74aa7ad88613080c243bb.png)
Нажимаем Add Internal Cert, выбираем подписанный сертификат и Private Key:
![](https://habrastorage.org/files/c26/c5a/1ec/c26c5a1ecae64f40acacdb6c4cf9d3f1.png)
Сертификат и ключ «FMC Server Certificate» готов. Возвращаемся на вкладку System -> Integration -> Identity Sources и выбрать Identity Services Engine. Указываем «FMC Server Certificate»:
![](https://habrastorage.org/files/7cf/e98/5f2/7cfe985f232c480ebd68b8f7879fc28e.png)
8. В этом же меню нажимаем Test. Должно появиться окно «Success»:
![](https://habrastorage.org/files/873/6b5/cd1/8736b5cd1e3540509a7226efd2a074ae.png)
9. Не забыть нажать Save в верхнем правом углу:
![](https://habrastorage.org/files/8f8/5b3/eef/8f85b3eefb6d4e9c9882c875d6ac5b94.png)
10. Вернёмся к ISE, проверим вкладку Administration -> pxGrid Services. Видим, появились новые клиенты pxGrid:
![](https://habrastorage.org/files/532/3dd/239/5323dd239a1c4144901ef7423330ccdb.png)
Проверим работоспособность настроенного решения. Cisco ISE настроен на аутентификацию тестового сегмента проводной сети. Настройки политик Cisco ISE в рамках данной заметки рассматривать не будем. Подключимся с помощью ноутбука к проводной сети, в качестве сапликанта используем Cisco AnyConnect Network Access Manager (NAM):
![](https://habrastorage.org/files/c24/9e6/c4c/c249e6c4c0c24f48b9e8827d1df7dbd4.png)
В логах ISE проверим Radius Livelog (вкладка Operations -> RADIUS Livelog):
![](https://habrastorage.org/files/2d4/f9d/5a5/2d4f9d5a5c39425cbb9dea9ac2ff4941.png)
Аутентификация прошла успешно. Теперь проверим User Activity на FirePOWER (вкладка Analysis -> Users -> User Activity):
![](https://habrastorage.org/files/ced/bbc/209/cedbbc209afb42ebb931f470869ab0db.png)
Если промотать вывод User Activity правее, то можно увидеть, что FirePOWER Management Center получил от ISE дополнительные атрибуты: Security Group Tag, Endpoint Profile и Endpoint Location:
![](https://habrastorage.org/files/fa7/f2a/696/fa7f2a696ef44da787eb534813a5d7c9.png)
На этом описание настройки интеграции ISE и FirePOWER я завершаю. Надеюсь, приведённый материал будет полезен читателям.
Если данная тема заинтересует, добро пожаловать к нам на демостенды по Cisco ISE, Cisco FirePOWER.