Взаимодействие контроллера с порталом Cisco ISE
- При первом подключении клиента ТД пытается пройти MAB-авторизацию на NAC-сервере, подставляя MAC-адрес клиента в атрибуты User-Name и User-Password запроса access-request к RADIUS-серверу WLC. Контроллер проксирует запрос на внешний RADIUS-сервер Cisco ISE. Так как ISE ничего не известно о данном клиенте, он присылает access-reject на WLC, тот, в свою очередь, на ТД.
- После того как ТД получила access-reject, она отправляет клиенту ссылку перенаправления на гостевой портал ISE-формата, при этом дополняя ACL с доступом только до гостевого портала. Пример ссылки:
https://100.110.0.161:8443/portal/PortalSetup.action?portal=10968c1f-36fe-4e5c-96ff-9d74f689b29b?action_url=http%3A%2F%2Fredirect%2Eloc%3A10081%2F&ap_mac=68%3A13%3AE2%3A0E%3A85%3A50&client_mac=a2%3A13%3A66%3A1b%3Ac7%3A8e&redirect=http%3A%2F%2Fconnectivitycheck%2Egstatic%2Ecom%2Fgenerate%5F204 - После авторизации пользователя на гостевом портале клиенту возвращается ссылка редиректа на ТД, содержащая в себе адрес сайта, на который клиент хотел попасть изначально, логин и пароль, под которым клиент успешно прошёл аутентификацию на гостевом портале. Пример ссылки:
http://redirect.loc:10081/?token=NAI4PU5HK6O007V0KMYS37M800GOZW97&buttonClicked=4&err_flag=0&err_msg=&info_flag=0&info_msg=&redirect_url=http%3A%2F%2Fconnectivitycheck.gstatic.com%2Fgenerate_204&username=login&password=Password - Когда клиент переходит по этой ссылке, ТД считывает из нее логин и пароль и подставляет в атрибуты User-Name и User-Password запроса access-request, RADIUS успешно авторизует клиента, и ТД снимает ACL на доступ клиента и перенаправляет на изначально запрашиваемый пользователем портал.
- После отключения от SSID и подключения заново или подключения к другой ТД (к тому же SSID), авторизация будет проходить по MAC-адресу (так как этот сценарий реализован в логике ТД «external portal» и срабатывает при подключении к SSID, если ТД не помнит клиента). Редирект пользователя на портал происходить не будет до тех пор, пока учетная запись клиента не будет удалена из базы, вручную или автоматически (по настроенной логике).
Пример страницы гостевого портала:
Схема процесса авторизации нового клиента по логину и паролю:
Настройка на WLC
В данном разделе описана настройка внешней портальной авторизации на WLC.
За основу взята заводская конфигурация Factory (подробнее в инструкции Quickstart):
Различие конфигурации устройств
Физическая конфигурация интерфейсов устройств WLC-15, WLC-30 и WLC-3200 различается между собой. Попытка применения настроек для одной модели устройства на другую может вызвать ошибку инициализации интерфейсов.
Внесение дополнений в конфигурацию:
Ниже рассмотрен пример настройки RADIUS-сервера и проксирования RADIUS-запросов ТД на внешний RADIUS-сервер (подробнее в инструкции Настройка проксирования на внешний RADIUS):
Настройка RADIUS-сервера
Настройте локальный RADIUS-сервер:
radius-server local
nas ap
key ascii-text password
network 192.168.1.0/24
exit
nas local
key ascii-text password
network 127.0.0.1/32
exit
virtual-server default
proxy-mode
nas-ip-address 100.109.1.246 <-- WLC UPLINK IP BRIDGE 2
upstream-server cisco-ise
host 100.110.0.161
server-type all
key ascii-text password
exit
enable
exit
enable
exit
Настройте локальный RADIUS-профиль:
radius-server host 127.0.0.1 key ascii-text password exit aaa radius-profile default_radius radius-server host 127.0.0.1 exit
Настройка портальной авторизации
Настройте портальную авторизацию (общий принцип работы описан в статье Авторизация через RADIUS).
В конфигурацию WLC необходимо внести настройки:
wlc
portal-profile default-portal
redirect-url-custom "https://100.110.0.161:8443/portal/PortalSetup.action?portal=10968c1f-36fe-4e5c-96ff-9d74f689b29b?action_url=<SWITCH_URL>&redirect=<ORIGINAL_URL>&ap_mac=<AP_MAC>"
age-timeout 10
verification-mode external-portal
exit
radius-profile default-radius
auth-address 192.168.1.1
auth-password ascii-text password
auth-acct-id-send
acct-enable
acct-address 192.168.1.1
acct-password ascii-text password
acct-periodic
exit
exit
Значение параметра redirect-url-custom в профиле портала требуется указывать в двойных кавычках.
Параметр wlc>portal-profile>redirect-url-custom содержит URL портала и атрибуты, указанные после символа "?". Между собой атрибуты разделяются символом "&".
Таблица 1 — Атрибуты URL-шаблона для внешней портальной авторизации
Параметр | Описание |
|---|---|
| <NAS_ID> | Идентификатор ТД. Когда параметр не задан, то в качестве NAS ID в RADIUS-пакетах и строке редиректа будет использоваться MAC-адрес ТД. NAS ID возможно задать в конфигурации wlc → radius-profile <name> → nas-id. В данном примере NAS ID не задается. |
| <SWITCH_URL> | Доменное имя, которое получает клиент при перенаправлении |
| <AP_MAC> | MAC-адрес точки доступа |
| <CLIENT_MAC> | MAC-адрес клиента |
| <SSID> | SSID |
| <ORIGINAL_URL> | URL, который изначально запрашивал клиент |
<NAS_IP> | IP-адрес точки доступа |
Настройте SSID-профиль:
wlc
ssid-profile default-ssid
ssid "default-ssid_cisco_ise"
radius-profile default-radius
portal-enable
portal-profile default-portal
vlan-id 3
802.11kv
band 2g
band 5g
enable
exit
exit
Использование сертификатов
Для повышения безопасности передачи данных между клиентом и ТД необходимо обеспечить шифрование трафика с использованием SSL. Для этого требуется:
SSL-сертификат (формат PEM);
Приватный ключ (формат PEM).
На ТД возможно использовать RSA-сертификаты. ECDSA-сертификаты не поддержаны.
Для защиты приватного ключа в схеме с портальной авторизацией рекомендуется использовать пароль.
Стандартный процесс выпуска сертификатов не предусматривает автоматическое шифрование приватного ключа. Однако это можно выполнить вручную с помощью утилиты OpenSSL.
Команда для шифрования ключа:
openssl rsa -aes256 -in private_key.pem -out private_key_encrypted.pem
Параметры:
-aes256– алгоритм шифрования (можно заменить на-aes128или-aes192);-in private_key.pem– исходный незашифрованный ключ;-out private_key_encrypted.pem– зашифрованный ключ.
После выполнения команды OpenSSL запросит пароль, который будет использоваться для защиты ключа.
Этот подход обеспечит дополнительный уровень защиты приватного ключа от несанкционированного доступа.
Данная процедура проводится вне процесса выпуска сертификата и является дополнительной мерой безопасности.
После шифрования ключа его необходимо добавить к сертификату, например через текстовый редактор. Файл сертификата с шифрованным ключом должен иметь вид:
-----BEGIN CERTIFICATE----- -----END CERTIFICATE----- -----BEGIN ENCRYPTED PRIVATE KEY----- -----END ENCRYPTED PRIVATE KEY-----
Загрузите файл сертификата с шифрованным ключом на контроллер WLC в директорию crypto:cert/
Настройте проверку сертификата и включите режим HTTPs:
wlc
ap-profile default-ap
captive-portal
ap-ip-alias certificate_alias
crypto cert certificate_encrypted.pem
crypto private-key-password ascii-text password
proxy-https
exit
Перед применением конфигурации произойдёт проверка псевдонима сертификата и пароля шифрованного ключа.
Допустимо использовать сертификат без шифрованного ключа. В таком случае приватный ключ добавляется к сертификату. Настройка crypto private-key-password не требуется.
Формат файла для сертификата без шифрованного ключа:
-----BEGIN CERTIFICATE----- -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----
Конфигурация:
wlc
ap-profile default-ap
captive-portal
ap-ip-alias certificate_alias
crypto cert certificate.pem
proxy-https
exit
Суммарные изменения в конфигурации
Изменения в конфигурации WLC:
radius-server local
nas ap
key ascii-text password
network 192.168.1.0/24
exit
nas local
key ascii-text password
network 127.0.0.1/32
exit
virtual-server default
proxy-mode
nas-ip-address 100.109.1.246
upstream-server cisco-ise
host 100.110.0.161
server-type all
key ascii-text password
exit
enable
exit
enable
exit
radius-server host 127.0.0.1
key ascii-text password
exit
aaa radius-profile default_radius
radius-server host 127.0.0.1
exit
wlc
outside-address 192.168.1.1
service-activator
aps join auto
exit
airtune
enable
exit
ap-location default-location
mode tunnel
ap-profile default-ap
airtune-profile default_airtune
ssid-profile default-ssid
exit
airtune-profile default_airtune
description "default_airtune"
exit
ssid-profile default-ssid
ssid "default-ssid_cisco_ise"
radius-profile default-radius
portal-enable
portal-profile default-portal
vlan-id 3
security-mode WPA2_1X
802.11kv
band 2g
band 5g
enable
exit
radio-2g-profile default_2g
description "default_2g"
exit
radio-5g-profile default_5g
description "default_5g"
exit
ap-profile default-ap
password ascii-text password
captive-portal
ap-ip-alias wlc.ddns.net
crypto cert certificate_encrypted.pem
crypto private-key-password ascii-text password
proxy-https
exit
exit
portal-profile default-portal
redirect-url-custom "https://100.110.0.161:8443/portal/PortalSetup.action?portal=10968c1f-36fe-4e5c-96ff-9d74f689b29b?action_url=<SWITCH_URL>&redirect=<ORIGINAL_URL>&ap_mac=<AP_MAC>"
age-timeout 10
verification-mode external-portal
exit
radius-profile default-radius
auth-address 192.168.1.1
auth-password ascii-text password
auth-acct-id-send
acct-enable
acct-address 192.168.1.1
acct-password ascii-text password
acct-periodic
domain default
exit
ip-pool default-ip-pool
description "default-ip-pool"
ap-location default-location
exit
enable
exit
Настройка Cisco ISE
1. В Cisco ISE cоздайте Network Device Profile — Eltex с помощью кнопки Add:
2. Настройте созданный профиль Eltex. Укажите протокол взаимодействия — RADIUS:
В параметрах укажите атрибуты RADIUS, по которым ISE будет определять типы Authentication/Authorization. Для этого в выпадающем списке необходимо настроить Flow Type Conditions:
- Wireless MAB detected;
- Wireless Web Authentication detected.
Для всех Wireless-подключений атрибут идентификации Radius:NAS-Port-Type будет одинаков Wireless - IEEE 802.11.
В Wireless MAB detected необходимо добавить еще один атрибут — Radius:Service-Type со значением Call Check.
В Wireless Web Authentication detected необходимо добавить еще один атрибут — Radius:Service-Type со значением Login.
В Host Lookup (MAB) установите флаг на пункте Process Host Lookup, включите используемый ТД протокол обмена подтверждениями, отключите Check Password в разделах Via PAP/ASCII и Via EAP-MD5:
3. Создайте новое сетевое устройство, в примере ниже — Eltex-WLC:
4. Настройте взаимодействие по протоколу RADIUS. Укажите адрес и подсеть контроллера WLC (в примере это один контроллер и подсеть 100.109.1.246/32), в поле Device Profile выберите ранее созданный профиль Eltex:
Укажите secret key для протокола RADIUS, настроенный на контроллере WLC в разделе radius-server → virtual-server → upstream-server → key:
5. Создайте группу встроенных гостевых учетных записей, в примере ниже это Eltex_AP_Users:
В этой группе необходимо создать учетные записи, задать для каждой логин и пароль. Пример создания учетной записи:
6. Настройте последовательность действий для гостевого портала (Guest Portal Sequence). Перейдите в настройки Work Centers → Guest Access → Identities → Identity Source Sequence → Guest Portal Sequence — это предустановленная последовательность аутентификации гостевых пользователей. В поле Authentication Search List выберите порядок аутентификации пользователей. В примере ниже установлен следующий порядок: Internal Endpoints (MAB) → Internal Users (встроенные учетные записи) → Guest Users (учетные записи созданные пользователем самостоятельно на гостевом портале):
7. Создайте правило с разрешенными протоколами, в примере это Allowed_Protocols. Установите необходимые разрешения в пунктах Authentication Bypass — Process Host Lookup и в Authentication Protocols — Allow PAP/ASCII.
8. Настройте Authorization Profiles. На вкладке Work Centers → Guest Access → Policy Elements → Results → Authorization Profiles → Add создайте профиль авторизации под ранее созданный Network Device Profile. В данный сценарий можно включать параметры авторизации клиента, такие как CVLAN, ACL, shaper и т. п. через добавление различных атрибутов, которые поддерживают ТД ELTEX:
9. Настройте Policy Sets. На вкладке Work Centers → Guest Access → Policy Sets создайте политику доступа для Wi-Fi пользователей. В примере ниже создана политика доступа с названием Policy Sets.
В эту политику попадают клиенты, приходящие с SSID default-ssid_cisco_ise, Flow Type Conditions соответствуют Wirelles_MAB или WLC_WEB_Authentication:
10. В созданной политике настройте правила аутентификации и авторизации.
В правиле аутентификации сначала идет проверка пользователя по логину и паролю в базе Internal Users. Далее, если не сработала проверка по логину и паролю, проверяется MAC-адрес в базе EndPoints (MAB).
В правиле авторизации сначала идет проверка пользователя по логину и паролю в базе Internal Users. Далее, если не сработала проверка по логину и паролю, проверяется MAC-адрес в базе EndPoints (MAB).
В примере при успешной проверке применяется действие PermitAccess.
11. Настройте гостевой портал. Ниже приведен пример настройки портала.
12. Адрес портала для настройки ссылки редиректа возможно получить по ссылке Portal test URL:
Отладочная информация RADIUS
В разделе Operations → RADIUS → Live Logs находится запись журнала c отладочной информацией RADIUS.
Запись о том, что гость аутентифицировался на портале (после регистрации).
Запись о том, что пользователь успешно аутентифицировался и авторизовался через RADIUS по логину и паролю.
Запись о том, что клиент успешно прошел MAB-аутентификацию и авторизацию через RADIUS (Cisco ISE занесла MAC клиента в базу EndPoints при аутентификации пользователя на портале).
Запись аккаунтинга пользователя:











































