Оглавление
Взаимодействие контроллера с порталом Cisco ISE
...
Настройка на ТД
Команды для настройки внешней портальной авторизации на ТД (ссылка на инструкцию: https://docs.eltex-co.ru/pages/viewpage.action?pageId=444825607#id-РуководствопоэксплуатацииWEP-30L,WEP-30L-Z-НастройкаVAPсвнешнейпортальнойавторизацией)
| Блок кода | ||
|---|---|---|
| ||
WEP-30L(root):/# configure
WEP-30L(config):/# interface
WEP-30L(config):/interface# wlan1-va0
WEP-30L(config):/interface/wlan1-va0# common
WEP-200L(config):/interface/wlan1-va0/common# enabled 'true'
WEP-200L(config):/interface/wlan1-va0/common# exit
WEP-30L(config):/interface/wlan1-va0# vap
WEP-30L(config):/interface/wlan1-va0/vap# vlan-id X (где X — VLAN-ID на VAP)
WEP-30L(config):/interface/wlan1-va0/vap# ap-security
WEP-30L(config):/interface/wlan1-va0/vap/ap-security# mode off (режим шифрования off — без пароля)
WEP-30L(config):/interface/wlan1-va0/vap/ap-security# exit
WEP-30L(config):/interface/wlan1-va0/vap# ssid 'Portal_WEP-30L' (изменение имени SSID)
WEP-30L(config):/interface/wlan1-va0/vap# captive-portal
WOP-30L(config):/interface/wlan1-va0/vap/captive-portal# verification-mode 'external-portal'
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal# scenarios
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal/scenarios# scenario-redirect
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal/scenarios/scenario-redirect# redirect-url "https://X.X.X.X/<NAS_ID>/?action_url=<SWITCH_URL>&ap_mac=<AP_MAC>&client_mac=<CLIENT_MAC>&wlan=<SSID>&redirect=<ORIGINAL_URL>" (указать URL внешнего виртуального портала в соответствии с таблицей 1)
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal/scenarios/scenario-redirect# exit
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal/scenarios# exit
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal# enabled true
WEP-30L(config):/interface/wlan1-va0/vap/captive-portal# exit
WEP-30L(config):/interface/wlan1-va0/vap# radius
WEP-30L(config):/interface/wlan1-va0/vap/radius# auth-address X.X.X.X (где Х.Х.Х.Х — IP-адрес RADIUS-сервера, используемого для авторизации)
WEP-30L(config):/interface/wlan1-va0/vap/radius# auth-password secret (где secret — пароль для RADIUS-сервера, используемого для авторизации)
WEP-30L(config):/interface/wlan1-va0/vap# save (сохранение настроек) |
Таблица 1 — Настройка URL шаблона для внешней портальной авторизации
...
Параметр
...
Описание
...
URL, который изначально запрашивал клиент
| Блок кода | ||||
|---|---|---|---|---|
| ||||
radius:
auth-port: 1812
auth-address: 100.110.0.161
auth-password: testing123
auth-acct-id-send: true
tls-enable: false
acct-enable: true
acct-port: 1813
acct-address: 100.110.0.161
acct-password: testing123
acct-periodic: false
acct-interval: 600
acct-wait-ip: false
domain: root
nas-id:
captive-portal:
enabled: true
verification-mode: external-portal
age-timeout: 1
default-white-list:
scenarios:
scenario-redirect:
name: scenario-redirect
access-type: forbid
index: 1
redirect-url: https://100.110.0.161:8443/portal/PortalSetup.action?portal=f09aaac2-f101-45ed-832f-fda201ab7639?action_url=<SWITCH_URL>&redirect=<ORIGINAL_URL>&ap_mac=<AP_MAC>
virtual-portal-name: default
auth-scenario: scenario-access
scenario-access:
name: scenario-access
access-type: allow
index: 2
deauth-scenario: scenario-redirect |
Взаимодействие ТД с порталом Cisco ISE
- При первом подключении клиента (ISE ничего о нем не знает, ТД также). ТД пытается пройти MAB авторизацию на NAC сервере, подставляя MAC адрес клиента в атрибуты User-Name и User-Password запроса access-request к Radius серверу. Так как ISE ничего не знает о данном клиенте, он присылает access-reject.
- После того как ТД получила access-reject она отправляет клиенту ссылку редиректа на гостевой портал ISE (который был в ТД прописан при настройки SSID) формата:
https://100.110.0.161:8443/portal/PortalSetup.action?portal=f09aaac2-f101-45ed-832f-fda201ab7639?action_url=http%3A%2F%2Fredirect%2Eloc%3A10081%2F&redirect=http%3A%2F%2Fconnectivitycheck%2Egstatic%2Ecom%2Fgenerate%5F204&ap_mac=68%3A13%3AE2%3AC2%3A19%3A70
при этом дополняя ACL, с доступом только до гостевого портала. - После саморегистрации пользователя на гостевом портале и успешного логина через форму портала, по полученному логину и паролю, информация об устройстве как устройство MAB заносится в базу Endpoins, в которой содержится в том числе MAC клиента. А клиенту возвращается ссылка редиректа на proxy сервис ТД, содержащая в себе адрес сайта, на который клиент хотел попасть изначально, логин и пароль, под которым клиент успешно прошёл аутентификацию на гостевом портале. Ссылка вида:
http://redirect.loc:10081/?token=CYO1UK0IE1KI8BIWVNBJYR8WTNGAK1TP&buttonClicked=4&err_flag=0&err_msg=&info_flag=0&info_msg=&redirect_url=http%3A%2F%2Fconnectivitycheck.gstatic.com%2Fgenerate_204&username=Gena&password=Password414 - Когда клиент переходит по этой ссылке, ТД считывает из нее логин и пароль и подставляет в атрибуты User-Name и User-Password запроса access-request , radius успешно авторизует клиента и ТД снимает ACL на доступ клиента и редиректит на изначально запрашиваемый пользователем портал.
- После отключения от SSID и подключения заново или подключения к другой ТД (к тому же SSID), авторизация будет проходить по mac адресу (так как этот сценарий реализован в логике ТД "external portal" и срабатывает при подключении к SSID, если ТД не "помнит" клиента). И редиректа пользователя на портал происходить не будет, до тех пор, пока endpoint клиента не будет удален из базы, в ручную или автоматически (по какой-то настроенной логике).
...
Рис.1 Процесс авторизации нового клиента(по логину и паролю)
Рис.2 Процесс авторизации зарегистрированного клиента(MAB)
| Блок кода | ||||
|---|---|---|---|---|
| ||||
No. Time Source Destination Protocol Length Info
1 0.000000 100.110.0.247 100.110.0.161 RADIUS 294 Access-Request id=4
2 0.018302 100.110.0.161 100.110.0.247 RADIUS 80 Access-Reject id=4
3 277.808342 100.110.0.247 100.110.0.161 RADIUS 288 Access-Request id=5
4 277.831738 100.110.0.161 100.110.0.247 RADIUS 171 Access-Accept id=5
5 277.834463 100.110.0.247 100.110.0.161 RADIUS 255 Accounting-Request id=6
6 277.837400 100.110.0.161 100.110.0.247 RADIUS 62 Accounting-Response id=6 |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
RADIUS Protocol
Code: Access-Request (1)
Packet identifier: 0x4 (4)
Length: 252
Authenticator: 4e18021cd2dbd9341c031c1a1da93a39
[The response to this request is in frame 2]
Attribute Value Pairs
AVP: t=User-Name(1) l=14 val=7898e81e6707
AVP: t=User-Password(2) l=18 val=Encrypted
AVP: t=Framed-IP-Address(8) l=6 val=0.0.0.0
AVP: t=Framed-MTU(12) l=6 val=1500
AVP: t=Connect-Info(77) l=23 val=CONNECT 0Mbps 802.11a
AVP: t=Vendor-Specific(26) l=12 vnd=Eltex Enterprise, Ltd.(35265)
AVP: t=Vendor-Specific(26) l=12 vnd=Eltex Enterprise, Ltd.(35265)
AVP: t=Called-Station-Id(30) l=36 val=68-13-e2-c2-19-70:F.E.-ciscoPortal
AVP: t=Calling-Station-Id(31) l=19 val=78-98-e8-1e-67-07
AVP: t=NAS-Port(5) l=6 val=1
AVP: t=Framed-MTU(12) l=6 val=1500
AVP: t=NAS-Port-Type(61) l=6 val=Wireless-802.11(19)
AVP: t=Acct-Session-Id(44) l=19 val=55DCB7FF-5C1BC61C
AVP: t=NAS-IP-Address(4) l=6 val=100.110.0.247
AVP: t=NAS-Identifier(32) l=19 val=68-13-E2-C2-19-70
AVP: t=Service-Type(6) l=6 val=Call-Check(10)
AVP: t=Message-Authenticator(80) l=18 val=30928a538a67ca2122338fdee7b8aefd |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
RADIUS Protocol
Code: Access-Request (1)
Packet identifier: 0x5 (5)
Length: 246
Authenticator: 5a35575eaedd8bb898325efc8d3c4ea4
[The response to this request is in frame 4]
Attribute Value Pairs
AVP: t=User-Name(1) l=8 val=tester
AVP: t=User-Password(2) l=18 val=Encrypted
AVP: t=Framed-IP-Address(8) l=6 val=100.110.1.11
AVP: t=Framed-MTU(12) l=6 val=1500
AVP: t=Connect-Info(77) l=23 val=CONNECT 0Mbps 802.11a
AVP: t=Vendor-Specific(26) l=12 vnd=Eltex Enterprise, Ltd.(35265)
AVP: t=Vendor-Specific(26) l=12 vnd=Eltex Enterprise, Ltd.(35265)
AVP: t=Called-Station-Id(30) l=36 val=68-13-e2-c2-19-70:F.E.-ciscoPortal
AVP: t=Calling-Station-Id(31) l=19 val=78-98-e8-1e-67-07
AVP: t=NAS-Port(5) l=6 val=1
AVP: t=Framed-MTU(12) l=6 val=1500
AVP: t=NAS-Port-Type(61) l=6 val=Wireless-802.11(19)
AVP: t=Acct-Session-Id(44) l=19 val=55DCB7FF-5C1BC61C
AVP: t=NAS-IP-Address(4) l=6 val=100.110.0.247
AVP: t=NAS-Identifier(32) l=19 val=68-13-E2-C2-19-70
AVP: t=Service-Type(6) l=6 val=Login(1)
AVP: t=Message-Authenticator(80) l=18 val=a646b2d8ff46c444a222236da8a7e800 |
Настройка Cisco ISE
1.Создаем Network Device Profile. В нашем случае Eltex
2.Настраиваем созданный профайл "Eltex". Указываем протокол взаимодействия - 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, включаем используемый ТД протокол обмена подтверждениями, в нашем случае отключаем это Via PAP/ASCII и отключаем Check Password, так как ТД при mac авторизации передает в виде логина mac клиента, а в виде пароля nopassword. А Cisco ISE ожидает в поле пароля так-же мак адрес.
3.Создаем новый профиль сетевых устройств, в нашем случае "Eltex-AP".
4.Настраиваем взаимодействие с ТД по протоколу Radius. Можно указать подсеть ТД (в нашем случает это одна ТД и подсеть 100.110.0.247/32), в поле Device Profile выбираем ранее созданный профайл Eltex. Также необходимо указать secret key для протокола Radius, ранее настроенный на ТД.
5.Создать группу встроенных гостевых учетных записей, в нашем случае это Eltex-AP_testUsers и в этой группе создать учетные записи, в нашем случае это Gena и tester, задать им логин и пароль.
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.Создаем правило с разрешенными протоколами, в нашем случае MAB-WIFI_Eltex, в нем разрешаем 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 создаем политику доступа для WiFi пользователей. В нашем случае с названием Eltex-WIFI_Guest-Portal
В эту политику попадают клиенты приходящие с SSID "F.E.-ciscoPortal" и Flow Type Conditions соответствуют Wireless_MAB или WLC_WEB_Authentication
10.Настраиваем в данной политике правила аутентификации и авторизации.
В правиле аутентификации первым пунктам идет проверка пользователя по логину и паролю в базе Internal Users, вторым пунктам, если не сработал пункт один, проверяется mac адрес в базе EndPoints (MAB).
В правиле авторизации сначала проверяется пользователь по логину и паролю в базе Internal Users. Вторым пунктам, если не сработал пункт один, проверяется mac адрес в базе EndPoints (MAB). И в обоих случаях, в нашем случае при успешной проверке применяется действие PermitAccess, но можно применить созданное ранее Eltex-AP_guest (что является аналогичным, только добавляется еще один уровень абстракции) или более сложное в плане защищенности действие.
11.Настраиваем гостевой портал. В нашем случае настроено как на снимке (настройки довольно понятные и в основном касаются оформления страницы, запрашиваемых данных пользователя и пользовательских соглашений)
12.Адрес портала для настройки ссылки редиректа на ТД, можно получить по ссылке
Radius Logs
Radius live log, неизвестного клиента
Первая запись журнала, о том что клиент не смог пройти MAB аутентификацию, так как клиент еще прошел регистрацию на портале.
Вторая запись. О том что клиент не прошел динамическую авторизацию. ТД в данный момент не поддерживает CoA и данный способ не настраивался и не использовался.
Третья запись. О том что гость аутентифицировался на портале (после регистрации)
Четвертая запись. О том что пользователь успешно аутентифицировался и авторизовался через Radius по логину и паролю
Radius live log зарегистрированного клиента, по MAB (повторное после отключения от ТД или отключение и подключение к другой ТД)
Запись о том, что клиент успешно прошел MAB аутентификацию и авторизацию через Radius (Cisco ISE занесла MAC клиента в базу EndPoints, при аутентификации пользователя на портале)
Следующая запись. Аккаунтинг пользователя
Cisco ISE + AD + AP (EAP-TLS)
Настройка связки Cisco ISE + Microsoft AD + Microsoft CA
Настройка Windows server для выполнения ролей AD + CS, создание пользователя, создания шаблона сертификата, настройка групповой политики автоматической выдачи сертификатов пользователям AD, настройка суппликанта Windows, хорошо описано в документыции: v1.31_Настройка взаимодействия SoftWLC с Microsoft Active Directory (AD) и Certificate Services (CS)
Добавление поддержки сертификатов ADCS в Cisco ISE
Требуется импортировать в Cisco ISE корневой сертификат AD-CA
Для этого в терминале Windows сервера экспортировать корневой сертификат AD-CA, командой:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
certutil -ca.cert ROOT-CA_test.loc.cer |
1.Импортируем корневой сертификат в доверенные сертификаты Cisco ISE
2.Генерируем CSR и скачиваем себе на компьютер
3.Выпускаем подписанный промежуточный сертификат для Cisco ISE, загрузив CSR на сервер и выполнив терминале команду
| Блок кода | ||||
|---|---|---|---|---|
| ||||
certreq.exe -submit -attrib "CertificateTemplate:SubCA" .\isetestMultiUse.pem |
4.Скачиваем подписанный сертификат и добавляем его в Cisco ISE, выбираем сферы применения данного сертификата. В нашем случае выбрана только EAP-TLS авторизация, но можно применить данный сертификат, для учетной записи администратора, для гостевого портала, для Radius и pxGrid
Настройка Cisco ISE (EAP-TLS) для аутентификации и авторизации по сертификатам пользователей AD
1.Добавляем для Flow Type Conditions определение: Wireless 802.1x detected по атрибуту Radius:NAS-Port-Type значению Wireless - IEEE 802.11 и атрибуту Radius:Service-Type значению Framed
2.Добавляем в разрешенные протоколы: Allow EAP-TLS
3.Добавляем политику аутентификации-авторизации, в нашем случае Eltex-WIFI_dotx_TLS
4.Настраиваем политику аутентификации, в нашем случае использовать Preloaded_Certificate_Profile и политику авторизации, в нашем случае если это EAP-TLS, то просто PermitAccess
Radius Live Logs: авторизации клиента по EAP-TLS
Cisco ISE + AD + AP → EAP-TEAP (EAP Chaining). Авторизация по машинном и пользовательскому сертификату AD
Так-же EAP-Chaining будет работать и в случае EAP-FAST, но это подразумевает использование Cisco AnyConnect, в качестве суппликанта.
Настройка AD для выдачи пользовательского и машинного сертификата
- Перейти в Certificate Authority > Certificate Templates > Manage
- Для машинного сертификата копировать 'Workstation Authentication' шаблон и задать ему имя ('machine auth' в этом примере)
- В настройках шаблона на вкладке Security, разрешить Allow Read, Enroll and Autoenroll для 'Domain Computers'
- Для сертификата пользователя скопировать 'User' шаблон и изменить его имя ('user auth' в нашем примере)
- В настройках шаблона на вкладке Security, разрешить Allow Read, Enroll and Autoenroll для 'Domain Users'
Следующим шагом будет публикация вновь созданных шаблонов сертификатов, как показано ниже. Как только мы добавим сертификаты, они станут доступны для регистрации.
Далее используем групповую политику для автоматической регистрации сертификатов компьютера и пользователя и развертывания их на рабочих станциях.
- Открываем Group Policy Management консоль
- Редактируем GPO ту, которую хотите изменить (в данном примере используется политика по умолчанию)
- Переходим User | Computer Configuration, Policies, Windows Settings, Security Settings, и Public Key Policies.
- Двойной клик по Certificate Services Client - Auto-Enrollment.
- Изменяем Configuration Model на Enabled.
- Выбираем оба метода 'Renew expired certificates' и 'Update certificates that use certificate templates'.
- Нажимаем "ОК", чтобы сохранить изменения. Рабочие станции применят объект групповой политики и загрузят сертификат при следующем обновлении групповой политики.
Как только все настройки будут выполнены,можно либо перезагрузить компьютер пользователя, либо принудительно обновить объект групповой политики, запустив gpupdate /force в командной строке, чтобы получить сертификаты. Можно просмотреть сертификаты в консоли MMC (certlm.msc). На скринах ниже представлены как пользовательский, так и машинный сертификаты.
Настройка Cisco ISE
В данном разделе описываются только настройки индивидуальные для авторизации EAP-TEAP, остальные настройки (привязка ТД, генерация и привязка сертификатов AD-CS) идентичны настройкам Гостевого портала и EAP-TLS
Настраиваем 'Preloaded_Certificate_Profile' Administration > Identity Management > External Identity Sources > Certificate Authentication Profile
Для идентификации сертификатов ('Use Identity From'), необходимо выбрать 'Subject Alternative Name' в качестве 'Certificate Attribute' или переключиться на 'Any Subject or Alternative Name Attributes in the Certificate (for Active Directory Only)', иначе не будет работать авторизация по машинному сертификату.
Так-как ISE по умолчанию идентифицирует сертификат по атрибуту Subject (Субъект). В машинном сертификате, в поле 'Субъект' отсутствуют значения, в отличие от пользовательского сертификата.
Настраиваем 'Allowed Protocols' редактируя дефолтную политику 'Default Network Access' или создавая свою и редактируя ее. Необходимо включить 'Allow EAP-TLS' и EAP-TEAP выбрав пункты как на снимке ниже (обязательно включив 'Enable EAP Chaining')
Создаем политику аутентификации-авторизации в Policy Sets. В нашем случае политику 'Eltex-WIFI_dotx_TEAP', с фильтром по SSID (который вычитывается из Radius атрибута 'Called-Station-Id' и фильтра 'Smart Conditions')
Фильтр 'Smart Conditions', который задавали ранее в 'Network Device Profiles' для 'Wireless 802.1x detected'
Создаем профайл 'Eltex-cert_Machine-Only' для авторизации только по машинному сертификату, когда пользователь залогинился под локальной учетной записью и для аутентификации доступен только машинный сертификат.
Правило настроенное в данном профайле подразумевает (при совпадении условий авторизации) передачу Radius пакета 'Access_Accept' и Radius атрибута 'Radius:Tunnel-Private-Group-ID' со значением 4000, для помещения пользователя в CVLAN 4000 (в терминологии Cisco динамический VLAN). Так-же можно в данном правиле навешивать ACL ( именной или динамический) через другие атрибуты Radius (пока ТД Eltex не поддерживают). И другие политики которые поддерживают контроллер или ТД.
...
- При первом подключении клиента ТД пытается пройти 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, если ТД не помнит клиента). Редирект пользователя на портал происходить не будет до тех пор, пока учетная запись клиента не будет удалена из базы, вручную или автоматически (по настроенной логике).
Пример страницы гостевого портала:
Схема процесса авторизации нового клиента по логину и паролю:
| draw.io Diagram | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Настройка на WLC
В данном разделе описана настройка внешней портальной авторизации на WLC.
За основу необходимо взять заводскую конфигурацию 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 8CB5107EA7005AFF
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 tcp
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_client
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
wlc
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
|
| Предупреждение | ||
|---|---|---|
| ||
Физическая конфигурация интерфейсов устройств 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 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
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, который изначально запрашивал клиент |
Настройте 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 |
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
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
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:
| Scroll Pagebreak |
|---|
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 (учетные записи созданные пользователем самостоятельно на гостевом портале):
| Scroll Pagebreak |
|---|
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. Настройте гостевой портал. Ниже приведен пример настройки портала.
| Scroll Pagebreak |
|---|
12. Адрес портала для настройки ссылки редиректа возможно получить по ссылке Portal test URL:
Отладочная информация RADIUS
В разделе Operations → RADIUS → Live Logs находится запись журнала c отладочной информацией RADIUS.
| Scroll Pagebreak |
|---|
Запись о том, что гость аутентифицировался на портале (после регистрации).
Запись о том, что пользователь успешно аутентифицировался и авторизовался через RADIUS по логину и паролю.
Запись о том, что клиент успешно прошел MAB-аутентификацию и авторизацию через RADIUS (Cisco ISE занесла MAC клиента в базу EndPoints при аутентификации пользователя на портале).
| Scroll Pagebreak |
|---|
Запись аккаунтинга пользователя:
...
Windows 10 / Конфигурация Supplicant-а
Переходим в 'Параметры' и выбираем выданный AD-CS сертификат. В разделе 'Проверка подлинности клиента' в качестве основного и дополнительного методов выбираем 'Microsoft: смарт-карта или иной сертификат'
по очереди настраиваем их как на снимках ниже (выбирая сертификат выданный AD-CS)
Подтверждаем и закрываем настройки
Radius Live Logs
Авторизация по обоим сертификатам, машинному и пользовательскому (полный доступ). Пользователь вошел в систему под доменной учетной записью.
...
































































































