| Оглавление | ||
|---|---|---|
|
Требования
- Eltex WLC не ниже версии 1.30.6;
- Eltex AP не ниже версии 2.8.0 с моделью из списка: WEP-30L, WEP-30L-Z, WOP-30L, WOP-30LI, WOP-30LS.
Описание
Cisco ISE – гостевой портал саморегистрации + схема портальной авторизации контроллера ELTEX WLC (Dynamic_URL, namedACL, CoA)
...
| Блок кода |
|---|
cisco-av-pair = url-redirect-acl=<<Имя настроенного на контроллере ACL>> cisco-av-pair = url-redirect=<<Ссылка на портал Cisco-ISE>> |
Описаниевзаимодействия ТД с порталом Cisco ISE
- При первом подключении клиента (ISE ничего о нем не знает, ТД тоже), ТД пытается пройти MAB-авторизацию на NAC-сервере, подставляя MAC-адрес клиента в атрибуты User-Name и User-Password запроса access-request к Radius-серверу. ISE ничего не знает о данном клиенте (не находит его в своей базе гостевых endpoints), шлет access-accept содержащий два атрибута (ссылку редиректа на гостевой портал и имя ограничивающего доступ preAuth-ACL):
Блок кода cisco-av-pair = url-redirect-acl=test1 cisco-av-pair = url-redirect=https://100.110.0.161:8443/portal/gateway?sessionId=646e00a1crG8uOFjddsRpNqJaT0taePWbRimqRw1M3d0sv_xEcs&portal=4f22cb25-630a-4c50b257-4aa2c04fd552&action=cwa&token=edccfff2ba55759ac1f762
- Клиент получает ограниченный доступ (правилами ACL) и перенаправляется на портал.
- Пользователь попадает на страницу саморегистрации, где вводит идентификационные данные.
- Портал генерирует пароль для придуманного пользователем логина и в нашем случае демонстрирует клиенту страницу с идентификационными данными для последующей аутентификации на портале.
- Происходит редирект клиента на страницу портальной аутентификации. После ввода логина и пароля, и подтверждения введенных данных, портал инициирует процесс ре-аутентификации клиента, отправляя на ТД CoA-request c атрибутом:
Блок кода Cisco-AVPair: subscriber:command=reauthenticate
- ТД запускает повторную MAB-авторизацию, отправляя запроса access-request Radius-серверу, и получает в ответ пакет Access-Accept, не содержащий дополнительных атрибутов (ссылки редиректа и ACL).
- ТД предоставляет клиенту полный доступ и производит редирект на заданную в сценарии портальной авторизации страницу (в нашем случае https://eltex.ru/)
| Примечание |
|---|
В нашем (демонстрационном случае) используется упрощенная схема подтверждения идентификационных данных. |
Диаграмма подключения
Диаграмма портальной авторизации на ТД, подключенной через контроллер WLC:
...
- Подключается к ТД.
- ТД выполняет MAB-аутентификацию устройства пользователя.
- WLC выполняет проксирование RADIUS-запроса авторизации, чтобы со стороны Cisco-ISE выглядело как подключение со стороны одного устройства (WLC).
- RADIUS-запрос приходит в Cisco-ISE и он в соответствии с настройкой политик проверяет наличие гостевого эндпоинта в БД.
- Т. к. подключение происходит в первый раз – эндпоинт не найден, вместе с ответом Access-Accept возвращаются параметры с адресом портала для редиректа и именем ACL (настроенном на WLC, включающий список разрешенных ресурсов, в который должен быть включен адрес портала).
- WLC проксирует ответ на ТД, от которой был получен запрос.
- Клиент получает IP-адрес и пытается получить доступ в Интернет. В ответ ТД начинает возвращать редирект со ссылкой на портал.
- Пользовательское устройство, получая ссылку редиректа, открывает всплывающий браузер и страницу портальной авторизации.
- Успешно пройдя саморегистрацию и авторизацию на портале (посредством зарегистрированного логина и сгенерированного порталом пароля), для устройства клиента добавляется запись о гостевом эндпоинте, содержащая MAC-адрес клиента.
- После успешной авторизации на портале на WLC отправляется запрос CoA re-authenticate.
- WLC перенаправляет данный запрос на ТД.
- ТД выполняет повторную ре-аутентификацию устройства пользователя с использованием MAB-аутентификации.
- Cisco-ISE, повторно получив запрос, в соответствии с настройкой политик проверяет наличие гостевого эндпоинта в БД.
- Т. к. ранее пользователь прошел регистрацию на портале – гостевой эндпоинт в БД есть. На ТД отправляется Access-Accept и пользователь получает доступ в сеть.
Настройка контроллера
Далее приведен пример настройки Eltex WLC-30 (v.1.30.6) с точкой доступа WEP-30L (2.8.0). Предполагается, что на контроллере уже настроен IP-адрес, обеспечена сетевая связность с сервером Cisco-ISE. Руководство по обновлению ПО Eltex WLC-30 можно найти по ссылке. Полностью ознакомиться с документацией по настройке контроллера можно на официальном сайте компании https://eltex.ru. За основу будет взята заводская конфигурация, пример настройки которой доступен по ссылке.
Настройка конфигурации контроллера
Добавьте Cisco-ISE, как Radius-сервер, и настройте проксирование RADIUS-запросов от ТД на него. Также настройте проксирование CoA-запросов со стороны Cisco-ISE на ТД через WLC:
...
| Блок кода |
|---|
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 netconf
port-range 830
exit
object-group service radius_auth
port-range 1812-1813
exit
object-group service sa
port-range 8043-8044
exit
object-group service dns
port-range 53
exit
object-group service airtune
port-range 8099
exit
object-group service web
port-range 443
exit
object-group service das
port-range 1700
exit
syslog max-files 3
syslog file-size 512
syslog file tmpsys:syslog/default
severity info
exit
logging radius
radius-server local
nas AP_subnet
key ascii-text testing123
network 192.168.1.0/24
exit
nas local
key ascii-text testing123
network 127.0.0.1/32
exit
nas cisco_ise
key ascii-text testing123
network 100.110.0.161/32
exit
domain default
exit
virtual-server default
mode proxy
upstream-pool cisco_ise
das-server enable
nas-ip-address 100.127.2.200
enable
exit
upstream-server cisco_ise
host 100.110.0.161
server-type all
key ascii-text testing123
exit
upstream-pool cisco_ise
server-type all
upstream-server cisco_ise
exit
enable
exit
radius-server host 127.0.0.1
key ascii-text testing123
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
ip access-list extended test1
rule 1
action permit
match destination-address 100.110.0.161 255.255.255.255
exit
rule 2
action permit
match protocol udp
match destination-port port-range 53
enable
exit
rule 3
action permit
match protocol udp
match source-port port-range 67-68
match destination-port port-range 67
enable
exit
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 gigabitethernet 1/0/5
mode switchport
switchport access vlan 2
exit
interface gigabitethernet 1/0/6
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
rule 2
action permit
match protocol udp
match destination-port object-group radius_auth
enable
exit
rule 3
action permit
match protocol udp
match destination-port object-group das
enable
exit
rule 4
action permit
match protocol tcp
match destination-port object-group ssh
enable
exit
rule 5
action permit
match protocol icmp
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
ap-location default-location
mode tunnel
ap-profile default-ap
ssid-profile default-ssid
exit
ssid-profile default-ssid
ssid "!F.E.portal-CoA"
radius-profile default-radius
portal-enable
portal-profile default-portal
vlan-id 3
band 2g
band 5g
enable
exit
ap-profile default-ap
password ascii-text password
services
das-server enable
das-server key ascii-text testing123
exit
ipv4-acl test1
exit
portal-profile default-portal
preauth-filter-mode acl
disconnect-on-reject
verification-mode external-portal
exit
radius-profile default-radius
auth-address 192.168.1.1
auth-password ascii-text testing123
session password mac
auth-acct-id-send
acct-enable
acct-address 192.168.1.1
acct-password ascii-text testing123
acct-periodic
domain default
exit
ip-pool default-ip-pool
description "default-ip-pool"
ap-location default-location
exit
enable
exit
ip ssh server
ntp enable
ntp broadcast-client enable |
Настройка точки доступа
В заводской конфигурации WLC-30 предусмотрено автоматическое подключение точек доступа к контроллеру. Для этого требуется подключить точку доступа в порт gi1/0/2 и контроллер WLC сам выполнит обновление, если версия ПО на точке доступа не соответствует версии, которая размещена на контроллере, выполнит конфигурирование в соответствии с настройками: выбранными профилями конфигурации и SSID. Инструкцию по загрузке актуальной версии ПО точек доступа на контроллер можно найти по ссылке.
Настройка Cisco ISE
Создание Network Device Profile
В разделе "Administration" → "Network Resources" → "Network Device Profiles" создайте профиль (в примере на скриншоте ниже — 'Eltex-AP_for-CoA' )
- Укажите протокол взаимодействия – Radius. В параметрах укажите атрибуты Radius, по которым ISE будет определять типы Authentication/Authorization. Для этого настройте Flow Type Conditions (который в последствии будет использоваться в качестве фильтра в правиле Policy Sets) .
Информация В качестве вендора и RADIUS Dictionaries укажите Cisco, т. к. используется вендор специфик атрибуты Cisco-av-pair.
- Для условия Wireless MAB detected используйте два Radius-атрибута:
- Также в "Host Lookup (MAB)" включите Process Host Lookup, используемый ТД протокол обмена подтверждениями (оставьте только Via PAP/ASCII).
- Включите чек-бокс Set ACL в блоке "Permissions" и укажите атрибут, который будет использоваться при передаче имени preAuth_ACL:
Блок кода Cisco:cisco-av-pair
- Измените номер Default CoA Port в блоке "Change of Authorization (CoA)" на стандартный 1700 (используемый на ТД).
- Для работы CoA укажите атрибуты, которые будут содержаться при отправке пакетов:
Блок кода Disconnect - RFC 5176 (это достаточно) Re-authenticate - Cisco:cisco-av-pair = subscriber:command=reauthenticate
- Настройте раздел Redirect, как указано на скриншоте ниже.
Создание нового профиля сетевых устройств
В разделе Administration → Network Resources → Network Device создайте устройство (в примере на скриншоте ниже – 'F.E.-Eltex_AP' ).
- Указать можно, как подсеть из устройств, так и одно устройство (например, если настроено проксирование через WLC).
- В поле Device Profile выберите ранее созданный профиль 'Eltex-AP_for-CoA'.
- Настройте взаимодействие с ТД по протоколу Radius. Укажите secret key для протокола Radius, ранее настроенный на ТД (testing123).
- Убедитесь, что указан порт CoA 1700 (который использует WLC).
Настройка последовательности действий для гостевого портала (Guest Portal Sequence)
- Перейдите в настройки Work Centers → Guest Access → Identities → Identity Source Sequence → Guest Portal Sequence – это предустановленная последовательность аутентификации гостевых пользователей.
- В поле Authentication Search List выберите порядок аутентификации пользователей (или удалите все, оставив только Internal Endpoints).
Создание правила с разрешенными протоколами
В 'Allowed_for_AP-CoA' разрешите:
| Блок кода |
|---|
Authentication Bypass > Process Host Lookup Authentication Protocols > Allow PAP/ASCII |
Настройка гостевого портала
- Создайте гостевой портал с именем 'Portal_4test-Redirect&CoA'. Логическую последовательность процедуры портальной авторизации можно увидеть на диаграмме Guest Flow (Based on settings).
- В Authentication method укажите настроенный ранее Guest Portal Sequence.
- В параметрах входа в систему выберите дефолтное значение Daily (или настройте и примените свое правило).
- В подменю Registration Form Settings можно оставить, как отображено на скриншоте. Учетные записи будут создаваться в гостевом типе Daily, срок жизни — 1 день. В форме укажите логин, и после регистрации отобразится страница Self-Registration Success page с данными аутентификации.
- В подменю Self-Registration Success Settings включите показ только User name и Password.
- В подменю Guest Device Registration Settings включите только Automatically register guest devices.
- В подменю Authentication Success Settings включите показ определенного URL (на примере – https://eltex.ru/). Также можно включить Originating URL, тогда после авторизации, клиент будет перенаправлен на страницу, запрошенную изначально при подключении к WIFI. В базовом варианте настройки прочие изменения не требуются.
Guest Type
Используйте существующую политику Daily (default). При необходимости внесите изменения в ее параметры или создайте нову политику и используйте ее в настройка портала.
Endpoint Identity Group
Используйте хранилище 'GuestEndpoints' (задано ранее в настройках портала и 'Guest Type'). В него будут вноситься MAC-адреса конечных устройств (клиентов) прошедших аутентификацию на портале.
Настраиваем Authorization Profiles
Данная политика авторизации будет навешиваться на не-аутентифицированного пользователя (не прошедшего авторизацию на портале) и предусматривает применение на сессию клиента ACL и редиректа на гостевой портал саморегистрации (скриншот ниже).
...
| Информация |
|---|
В данный сценарий можно включать параметры авторизации клиента, такие как CVLAN, shaper через добавление различных атрибутов (который поддерживают или будут поддерживать ТД Eltex). |
Настройка Policy Sets
Создание политики авторизации
- На вкладке Work Centers → Guest Access → Policy Sets создайте политику доступа для WiFi-пользователей с названием 'Eltex-AP-Portal-CoA'. В эту политику попадают клиенты, приходящие с SSID "!F.E.portal-CoA" (и другие, на которых должна работать данная авторизация).
- Поле посередине кликабельно. В нем настройте Flow Type Conditions (соответствуют Wireless_MAB, который был настроен при создании Network Device Profiles).
- В Allowed Protocols/Server Sequence выберите созданную ранее политику ('Allowed_for_AP-CoA').
Создание правил аутентификации и авторизации в данной политике
Перейти в политику можно по синей стрелке справа. Настройте Authentication Policy и Authorization Policy как отображено на скриншоте:
- В правиле аутентификации проверяется МАС-адрес в базе EndPoints (MAB). И если пользователь не найден (If User not found), то следует продолжение работы политики CONTINUE.
- В первом правиле авторизации с именем 'MAB_Access', под которое запрос попадает, если он относится к Wireless_MAB потоку, и имя пользователя (MAC-адрес) имеется в хранилище 'GuestEndpoints' навешивается действие 'PermitAccess'. То есть Radius-сервер в ответ на Access-Request отправит Access-Accept без дополнительных атрибутов (preAuth_ACL, url_redirect).
- В дефолтном правиле авторизации, туда попадет запрос, если он не попал в верхнее правило (т. е. если портал еще не знает клиента). Запрос попадет под созданную ранее политику авторизации 'AP-TEST_CoA' и тогда в пакете Access-Accept на ТД (NAS-server) будут дополнительные атрибуты (preAuth_ACL, url_redirect) и клиент получит ограниченный доступ и редирект на гостевой портал.
Radius-обмен между WLC и Cisco-ISE в процессе авторизации
Radius-пакеты и атрибуты:
...
| Блок кода |
|---|
RADIUS Protocol
Code: Access-Accept (2)
Packet identifier: 0x43 (67)
Length: 165
Authenticator: 43f595d49019bc7414a99db904f62b5e
[This is a response to a request in frame 4]
[Time from request: 0.036774000 seconds]
Attribute Value Pairs
AVP: t=User-Name(1) l=7 val=fea_1
AVP: t=Class(25) l=78 val=434143533a3634366530306131412f474b735631715236796c573765734c396c5342345f…
AVP: t=Message-Authenticator(80) l=18 val=865b02be3cd7340ea4566bd0375d5525
AVP: t=Vendor-Specific(26) l=42 vnd=ciscoSystems(9)
Type: 26
Length: 42
Vendor ID: ciscoSystems (9)
VSA: t=Cisco-AVPair(1) l=36 val=profile-name=Windows10-Workstation |
Dump файл Radius обмена ТД и Cisco ISE
Radius/Live Logs (Cisco-ISE)
Цепочка аутентификации и авторизации
...












