Оглавление
Взаимодействие контроллера с порталом Cisco ISE
- При первом подключении клиента ТД пытается пройти MAB-авторизацию на NAC-сервере, подставляя MAC-адрес клиента в атрибуты User-Name и User-Password запроса access-request к Radius к RADIUS-серверу WLC. Контроллер проксирует запрос на внешний Radius RADIUS-сервер Cisco ISE. Так как ISE ничего не знает известно о данном клиенте, он присылает access-reject на WLC, тот, в свою очередь, на ТД.
- После того как ТД получила access-reject, она отправляет клиенту ссылку редиректа на гостевой портал ISE формата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
при этом дополняя ACL, с доступом только до гостевого портала. - После авторизации пользователя на гостевом портале клиенту возвращается ссылка редиректа на proxy сервис ТД, содержащая в себе адрес сайта, на который клиент хотел попасть изначально, логин и пароль, под которым клиент успешно прошёл аутентификацию на гостевом портале. Ссылка видаПример ссылки:
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 RADIUS успешно авторизует клиента, и ТД снимает ACL на доступ клиента и перенаправляет на изначально запрашиваемый пользователем портал.
- После отключения от SSID и подключения заново или подключения к другой ТД (к тому же SSID), авторизация будет проходить по MAC-адресу (так как этот сценарий реализован в логике ТД "external portal" «external portal» и срабатывает при подключении к SSID, если ТД не помнит клиента). И редиректа Редирект пользователя на портал происходить не будет , до тех пор, пока endpoint учетная запись клиента не будет удален удалена из базы, в ручную вручную или автоматически (по какой-то настроенной логике).
Пример страницы гостевого портала:
Схема процесса авторизации нового клиента по логину и паролю:
| draw.io Diagram | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Процесс авторизации нового клиента(по логину и паролю)
|
Настройка на WLC
Конфигурации контроллера для настройки В данном разделе описана настройка внешней портальной авторизации на WLC.
За основу возьмем контроллер с преднастроенным factory-config (ссылка на инструкцию Quickstart):
необходимо взять заводскую конфигурацию Factory (подробнее в инструкции Quickstart):
| Блок кода | ||
|---|---|---|
| ||
object-group service ssh port-range 22 exit object-group service dhcp_server port-range 67 exit object-group service dhcp_client port-range 68 exit object-group service ntp port-range 123 exit object-group service dns port-range 53 exit object-group service netconf port-range 830 exit object-group service radius_auth port-range 1812 exit object-group service sa port-range 8043-8044 exit object-group service airtune port-range 8099 exit object-group service web port-range 443 exit syslog max-files 3 syslog file-size 512 syslog file tmpsys:syslog/default severity info exit radius-server local nas ap key ascii-text encrypted 8CB5107EA7005AFFnetwork network 192.168.1.0/24 exit nas local key ascii-text encrypted 8CB5107EA7005AFF network 127.0.0.1/32 exit domain default exit virtual-server default enable exit enable exit radius-server host 127.0.0.1 key ascii-text encrypted 8CB5107EA7005AFF exit aaa radius-profile default_radius radius-server host 127.0.0.1 exit boot host auto-config boot host auto-update vlan 3 force-up exit vlan 2 exit no spanning-tree domain lookup enable security zone trusted exit security zone untrusted exit security zone users exit bridge 1 vlan 1 security-zone trusted ip address 192.168.1.1/24 no spanning-tree enable exit bridge 2 vlan 2 security-zone untrusted ip address dhcp no spanning-tree enable exit bridge 3 vlan 3 mtu 1458 security-zone users ip address 192.168.2.1/24 no spanning-tree enable exit interface gigabitethernet 1/0/1 mode switchport switchport access vlan 2 exit interface gigabitethernet 1/0/2 mode switchport exit interface gigabitethernet 1/0/3 mode switchport exit interface gigabitethernet 1/0/4 mode switchport exit interface tengigabitethernet 1/0/1 mode switchport switchport access vlan 2 exit interface tengigabitethernet 1/0/2 mode switchport exit tunnel softgre 1 mode data local address 192.168.1.1 default-profile enable exit security zone-pair trusted untrusted rule 1 action permit enable exit exit security zone-pair trusted trusted rule 1 action permit enable exit exit security zone-pair trusted self rule 10 action permit match protocol tcp match destination-port object-group ssh enable exit rule 20 action permit match protocol icmp enable exit rule 30 action permit match protocol udp match source-port object-group dhcp_client match destination-port object-group dhcp_server enable exit rule 40 action permit match protocol udp match destination-port object-group ntp enable exit rule 50 action permit match protocol tcp match destination-port object-group dns enable exit rule 60 action permit match protocol udp match destination-port object-group dns enable exit rule 70 action permit match protocol tcp match destination-port object-group netconf enable exit rule 80 action permit match protocol tcp match destination-port object-group sa enable exit rule 90 action permit match protocol udp match destination-port object-group radius_auth enable exit rule 100 action permit match protocol gre enable exit rule 110 action permit match protocol tcp match destination-port object-group airtune enable exit rule 120 action permit match protocol tcpmatch match destination-port object-group web enable exit exit security zone-pair untrusted self rule 1 action permit match protocol udp match source-port object-group dhcp_server match destination-port object-group dhcp_client enable exit exit security zone-pair users self rule 10 action permit match protocol icmp enable exit rule 20 action permit match protocol udp match source-port object-group dhcp_clientmatch match destination-port object-group dhcp_server enable exit rule 30 action permit match protocol tcp match destination-port object-group dns enable exit rule 40 action permit match protocol udp match destination-port object-group dns enable exit exit security zone-pair users untrusted rule 1 action permit enable exit exit security passwords default-expired nat source ruleset factory to zone untrusted rule 10 description "replace 'source ip' by outgoing interface ip address" action source-nat interface enable exit exit exit ip dhcp-server ip dhcp-server pool ap-pool network 192.168.1.0/24 address-range 192.168.1.2-192.168.1.254 default-router 192.168.1.1 dns-server 192.168.1.1 option 42 ip-address 192.168.1.1 vendor-specific suboption 12 ascii-text "192.168.1.1" suboption 15 ascii-text "https://192.168.1.1:8043" exit exit ip dhcp-server pool users-pool network 192.168.2.0/24 address-range 192.168.2.2-192.168.2.254 default-router 192.168.2.1 dns-server 192.168.2.1 exit softgre-controller nas-ip-address 127.0.0.1 data-tunnel configuration wlc aaa radius-profile default_radius keepalive-disable service-vlan add 3 enable exit wlcwlc outside-address 192.168.1.1 service-activator aps join auto exit airtune enable exit ap-location default-location description "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 description "default-ssid" ssid "default-ssid" radius-profile default-radius 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 description "default-ap" password ascii-text encrypted 8CB5107EA7005AFF exit radius-profile default-radius description "default-radius" auth-address 192.168.1.1 auth-password ascii-text encrypted 8CB5107EA7005AFF domain default exit wids-profile default-wids description "default-wids" exit ip-pool default-ip-pool description "default-ip-pool" ap-location default-location exit enable exit wlc-journal all limit days 365 exit ip ssh server ip tftp client timeout 45 ntp enable ntp broadcast-client enable ip https server |
Если на контроллере отсутствует конфигурация либо она была изменена, то требуется привести к factory виду. Чтобы не заполнять конфигурацию построчно, её возможно применить с помощью ввода команд:
|
| Предупреждение | ||
|---|---|---|
| ||
Физическая конфигурация интерфейсов устройств WLC-15, WLC-30 и WLC-3200 различается между собой. Попытка применения настроек для одной модели устройства на другую может вызвать ошибку инициализации интерфейсов. |
Внесение дополнений в конфигурацию:
Ниже рассмотрен пример настройки RADIUS-сервера и проксирования RADIUS-запросов ТД на внешний RADIUS-сервер (подробнее в инструкции Настройка проксирования на внешний RADIUS):
Настройте локальный RADIUS-сервер:
| Блок кода | ||
|---|---|---|
| ||
wlc-15# copy system:factory-config system:candidate-config wlc-15# copy system:factory-config system:candidate-config |******************************************| 100% (12035B) Configuration loaded successfully. wlc-15# commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. wlc-15# confirm Configuration has been confirmed. Commit timer canceled. |
| Предупреждение | ||
|---|---|---|
| ||
Физическая конфигурация интерфейсов устройств серии WLC-15, WLC-30 и WLC-3200 различается между собой. Попытка применения конфигурации одной серии устройств на другой серии может вызвать ошибку инициализации интерфейсов. |
Внесём дополнения в конфигурацию:
Инструкция по настройке Radius сервера и проксирования RADIUS запросов ТД на внешний RADIUS-сервер (ссылка на инструкцию Настройка проксирования на внешний RADIUS):
Настроим локальный Radius сервер:
| Блок кода | ||
|---|---|---|
| ||
radius-server local nas ap key ascii-text password network 192.168.1.0/24 exit nas localradius-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 network 127.0.0.1/32 exit virtual-server default proxy-mode nas-ip exit enable exit enable exit |
Настройте локальный RADIUS-профиль:
| Блок кода | ||
|---|---|---|
| ||
radius-server host 127.0.0.1 -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 exit aaa radius-profile default_radius radius-server host 127.0.0.1 exit |
Настройте портальную авторизацию (подробнее в инструкции Настроим конфигурацию портальной авторизации (ссылка на инструкцию Авторизация через RADIUS):
| Блок кода | ||
|---|---|---|
| ||
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 в профиле портала требуется указывать в двойных кавычках. |
Таблица 1 — Настройка URL шаблона для внешней портальной авторизации (параметр redirect-url-custom)
Параметр wlc>portal-profile>redirect-url-custom содержит URL портала и атрибуты, указанные после символа "?". Между собой атрибуты разделяются символом "&".
Таблица 1 — Атрибуты URL-шаблона для внешней портальной авторизации
Параметр
Параметр |
|---|
Описание |
|---|
| <NAS_ID> |
| Идентификатор ТД. Когда параметр не задан, то в качестве NAS ID в RADIUS- |
| пакетах и строке редиректа будет использоваться MAC-адрес ТД |
<SWITCH_URL>
Доменное имя, которое получает клент при перенаправлении
<AP_MAC>
MAC-адрес точки доступа
<CLIENT_MAC>
MAC-адрес клиента
<SSID>
SSID
<ORIGINAL_URL>
URL, который изначально запрашивал клиент
Настроим 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 |
Для безопасной схемы с портальной авторизацией необходимо шифровать трафик, без данной конфигурации данные между клиентами и ТД передаются по HTTP, т.е. их можно перехватить в беспроводной среде.
Для выпуска сертификата с защищенным приватным ключом используем Certbot. Стоит отметить, что стандартный процесс выпуска сертификатов Let's Encrypt не предусматривает возможность защиты приватного ключа паролем напрямую. Чтобы добавить защиту паролем к файлу приватного ключа, возможно использовать утилиту openssl для шифрования файла. Команда: openssl rsa -aes256 -in privkey.pem -out privkey_encrypted.pem портебует ввести пароль и зашифрует ключ этим паролем. Обратите внимание, что это делается вне процесса выпуска сертификата и является дополнительной мерой безопасности.
| . NAS ID возможно задать в конфигурации wlc → radius-profile <name> → nas-id. В данном примере NAS ID не задается. | |
| <SWITCH_URL> | Доменное имя, которое получает клиент при перенаправлении |
| <AP_MAC> | MAC-адрес точки доступа |
| <CLIENT_MAC> | MAC-адрес клиента |
| <SSID> | SSID |
| <ORIGINAL_URL> | URL, который изначально запрашивал клиент |
Настройте SSID-профиль:
| Блок кода | ||
|---|---|---|
| ||
-----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 cert_privkey_enc.pem <- certificate_name crypto private-key-password ascii-text password proxy-https exit |
После применения конфигурации произойдёт валидация псевдонима сертификата и пароля шифрованного ключа.
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 |
Cуммарные изменения в конфигурации 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 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 wlcwlc outside-address 192.168.1.1 service-activator apsjoin auto exit airtune enable exit 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 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-appassword ascii-text password captive-portal ap-ip-alias swlc.ddns.net crypto cert cert_privkey_enc.pem crypto private-key- password ascii-textpassword proxy-https exit password 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, - 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.
:
| Scroll Pagebreak |
|---|
3. Создаем Создайте новое сетевое устройство, в нашем случае "примере ниже — Eltex-WLC":
4. Настраиваем Настройте взаимодействие по протоколу Radius. Требуется указать протоколу RADIUS. Укажите адрес и подсеть контроллера WLC (в нашем случае примере это один контроллер и подсеть 100.109.1.246/32), в поле Device Profile выбираем выберите ранее созданный профиль Eltex. Также необходимо указать :
Укажите secret key для протокола RadiusRADIUS, настроенный на контроллере WLC в разделе radius-server>virtual-server>upstream-server>key.
server → virtual-server → upstream-server → key:
5. Создать Создайте группу встроенных гостевых учетных записей, в нашем случае примере ниже это Eltex_AP_Users:
В и в этой группе необходимо создать учетные записи,задать им задать для каждой логин и пароль.
Создание пользователяПример создания учетной записи:
6. Настраиваем Настройте последовательность действий для гостевого портала (Guest Portal Sequence). Переходим Перейдите в настройки Work Centers > → Guest Access > → Identities > Identity → Identity Source Sequence > → Guest Portal Sequence - это — это предустановленная последовательность аутентификации гостевых пользователей. И в поле Authentication Search List выбираем В поле Authentication Search List выберите порядок аутентификации пользователей. В нашем случае порядок как на снимке нижепримере ниже установлен следующий порядок: Internal Endpoints (MAB) → Internal Users (встроенные учетные записи) → Guest Users (учетные записи созданные пользователем самостоятельно на гостевом портале):
| Scroll Pagebreak |
|---|
7. Создаем Создайте правило с разрешенными протоколами, в нашем случае примере это Allowed_Protocols, в нем разрешаем Authentication Bypass>Process . Установите необходимые разрешения в пунктах Authentication Bypass — Process Host Lookup и в Authentication Protocols>Allow Protocols — Allow PAP/ASCIIASCII.
8. Настройка Настройте Authorization Profiles. На вкладке Work Work Centers > → Guest Access > → Policy Elements > → Results > → Authorization Profiles > → Add создаем создайте профиль авторизации под ранее созданный Network созданный Network Device Profile. В данный сценарий можно включать параметры авторизации клиента, такие как CVLAN, ACL, shaper и т. п. через через добавление различных атрибутов, которые поддерживают ТД EltexELTEX:
9. Настройка Настройте Policy Sets. На вкладке вкладке Work Centers > → Guest Access > → Policy Sets создаем создайте политику доступа для WiFi Wi-Fi пользователей. В нашем случае примере ниже создана политика доступа с названием Policy Sets.
В эту политику попадают клиенты, приходящие с SSID "SSID default-ssid_cisco_ise" и Flow , Flow Type Conditions соответствуют Wirelles_MAB или WLC_WEB_Authentication:
10. Настраиваем в данной В созданной политике настройте правила аутентификации и авторизации.
В правиле аутентификации первым пунктам сначала идет проверка пользователя по логину и паролю в базе Internal Users, вторым пунктом, если не сработал пункт один, проверяется mac адрес в базе Internal Users. Далее, если не сработала проверка по логину и паролю, проверяется MAC-адрес в базе EndPoints (MAB).
В правиле авторизации сначала проверяется пользователь идет проверка пользователя по логину и паролю в базе Internal Users. Вторым пунктамДалее, если не сработал пункт одинсработала проверка по логину и паролю, проверяется mac MAC-адрес в базе EndPoints (MAB).
В нашем случае примере при успешной проверке применяется действие PermitAccess.
11. Настройка гостевого портала. На снимках ниже 11. Настройте гостевой портал. Ниже приведен пример настройки портала.
| Scroll Pagebreak |
|---|
12. Адрес портала для настройки ссылки редиректа , возможно получить по ссылке Portal test URL:
Отладочная информация RADIUS
В разделе Operations → RADIUS → Live
Radius Logs
В разделе Operations>RADIUS>Live Logs находится запись журнала , о том что клиент не смог пройти MAB аутентификацию, так как клиент прошел регистрацию на портале.c отладочной информацией RADIUS.
| Scroll Pagebreak |
|---|
Запись о том, что гость аутентифицировался на портале (после регистрации).
Запись о том, что пользователь успешно аутентифицировался и авторизовался через Radius RADIUS по логину и паролю.
Запись о том, что клиент успешно прошел MAB-аутентификацию и авторизацию через Radius RADIUS (Cisco ISE занесла MAC клиента в базу EndPoints , при аутентификации пользователя на портале)
.
| Scroll Pagebreak |
|---|
Запись аккаунтинга пользователя:
Аккаунтинг пользователя

















































