Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Cisco ISE - Гостевой портал + Eltex

...

Настройка на ТД

Команды для настройки внешней портальной авторизации на ТД (ссылка на инструкцию: https://docs.eltex-co.ru/pages/viewpage.action?pageId=444825607#id-РуководствопоэксплуатацииWEP-30L,WEP-30L-Z-НастройкаVAPсвнешнейпортальнойавторизацией)

Блок кода
languagepy
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>&redirect=<ORIGINAL_URL>&ap_mac=<AP_MAC>" (указать 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, который изначально запрашивал клиент

Блок кода
languagepy
titleЧасть конфигурации ТД, относящаяся к настройке портала
            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

  1. При первом подключении клиента (ISE ничего о нем не знает, ТД также). ТД пытается пройти MAB авторизацию на NAC сервере, подставляя MAC адрес клиента в атрибуты User-Name и User-Password запроса access-request к Radius серверу. Так как ISE ничего не знает о данном клиенте, он присылает access-reject.
  2. После того как ТД получила 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, с доступом только до гостевого портала.
  3. После саморегистрации пользователя на гостевом портале и успешного логина через форму портала, по полученному логину и паролю, информация об устройстве как устройство 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
  4. Когда клиент переходит по этой ссылке, ТД считывает из нее логин и пароль и подставляет в атрибуты User-Name и User-Password запроса access-request , radius успешно авторизует клиента и ТД снимает ACL на доступ клиента и редиректит на изначально запрашиваемый пользователем портал.
  5. После отключения от SSID и подключения заново или подключения к другой ТД (к тому же SSID), авторизация будет проходить по mac адресу (так как этот сценарий реализован в логике ТД "external portal" и срабатывает при подключении к SSID, если ТД не "помнит" клиента). И редиректа пользователя на портал происходить не будет, до тех пор, пока endpoint клиента не будет удален из базы, в ручную или автоматически (по какой-то настроенной логике).

...

Рис.1 Процесс авторизации нового клиента(по логину и паролю)

Image Removed

Рис.2 Процесс авторизации зарегистрированного клиента(MAB)

Блок кода
languagebash
titleПакеты Radius в процессе авторизации неизвестного клиента
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
Блок кода
languagebash
titleАтрибуты пакета Access-request. "Аутентификация по мак адресу"
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
Блок кода
languagebash
titleАтрибуты пакета Access-request. "Аутентификация по логину-паролю"
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
Image Removed 

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 ожидает в поле пароля так-же мак адрес.
Image Removed

3.Создаем новый профиль сетевых устройств, в нашем случае  "Eltex-AP".
Image Removed

4.Настраиваем взаимодействие с ТД по протоколу Radius. Можно указать подсеть ТД (в нашем случает это одна ТД и подсеть 100.110.0.247/32), в поле Device Profile выбираем ранее созданный профайл Eltex. Также необходимо указать secret key для протокола Radius, ранее настроенный на ТД.
Image Removed 

5.Создать группу встроенных гостевых учетных записей, в нашем случае это Eltex-AP_testUsers и в этой группе создать учетные записи, в нашем случае это Gena и tester, задать им логин и пароль.Image Removed

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 (учетные записи созданные пользователем самостоятельно на гостевом портале)
Image Removed

7.Создаем правило с разрешенными протоколами, в нашем случае MAB-WIFI_Eltex, в нем разрешаем Authentication Bypass>Process Host Lookup и Authentication Protocols>Allow PAP/ASCIIImage Removed

8.Настройка Authorization Profiles. На вкладке  Work Centers > Guest Access > Policy Elements > Results > Authorization Profiles > Add создаем профиль авторизации под ранее созданный Network Device Profile. В данный сценарий можно включать параметры авторизации клиента, такие как CVLAN, ACL, shaper и т.п. через добавления различных атрибутов (который поддерживают или будут поддерживать ТД Eltex)Image Removed

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
Image Removed

10.Настраиваем в данной политике правила аутентификации и авторизации. 
В правиле аутентификации первым пунктам идет проверка пользователя по логину и паролю в базе Internal Users, вторым пунктам, если не сработал пункт один, проверяется mac адрес в базе EndPoints (MAB).
В правиле авторизации сначала проверяется пользователь по логину и паролю в базе Internal Users. Вторым пунктам, если не сработал пункт один, проверяется mac адрес в базе EndPoints (MAB). И в обоих случаях, в нашем случае при успешной проверке применяется действие PermitAccess, но можно применить созданное ранее Eltex-AP_guest (что является аналогичным, только добавляется еще один уровень абстракции) или более сложное в плане защищенности действие.
Image Removed

11.Настраиваем гостевой портал. В нашем случае настроено как на снимке (настройки довольно понятные и в основном касаются оформления страницы, запрашиваемых данных пользователя и пользовательских соглашений)
Image Removed

12.Адрес портала для настройки ссылки редиректа на ТД, можно получить по ссылке
Image Removed

Radius Logs

Radius live log, неизвестного клиента
Image Removed

Первая запись журнала, о том что клиент не смог пройти MAB аутентификацию, так как клиент еще прошел регистрацию на портале.Image Removed

Вторая запись. О том что клиент не прошел динамическую авторизацию. ТД в данный момент не поддерживает CoA и данный способ не настраивался и не использовался.
Image Removed

Третья запись. О том что гость аутентифицировался на портале (после регистрации)
Image Removed

Четвертая запись. О том что пользователь успешно аутентифицировался и авторизовался через Radius по логину и паролю
Image Removed

Radius live log зарегистрированного клиента, по MAB (повторное после отключения от ТД или отключение и подключение к другой ТД)
Image Removed

Запись о том, что клиент успешно прошел MAB аутентификацию и авторизацию через Radius (Cisco ISE занесла MAC клиента в базу EndPoints, при аутентификации пользователя на портале)
Image Removed

Следующая запись. Аккаунтинг пользователя
Image Removed 

...

WLC

Настройка на WLC

Конфигурации контроллера для настройки внешней портальной авторизации (ссылка на инструкцию Контроллеры беспроводного доступа)

За основу возьмем контроллер с преднастроенным factory-config:

Раскрыть
titleпример factory-config


Блок кода
languagepy
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



Внесём дополнения в конфигурацию:

Раскрыть
titleизменения в конфигурации WLC


Блок кода
languagepy
radius-server local
  virtual-server default
    proxy-mode
    upstream-server 1
      host 100.110.0.161
      server-type all
      key ascii-text secret123
    exit
    enable
  exit
exit

radius-server host 100.110.0.161
  key ascii-text secret123
exit
radius-server host 127.0.0.1
  key ascii-text password
exit
aaa radius-profile default_radius
  radius-server host 100.110.0.161
  radius-server host 127.0.0.1
exit

security zone-pair untrusted self
  rule 2
    action permit
    match protocol tcp
    match destination-port object-group ssh
    enable
  exit
  rule 3
    action permit
    match protocol tcp
    match destination-port object-group web
    enable
  exit
  rule 4
    action permit
    match protocol tcp
    match destination-port object-group dns
    enable
  exit
  rule 5
    action permit
    match protocol udp
    match destination-port object-group dns
    enable
  exit
exit

ip route 0.0.0.0/0 x.x.x.x

wlc
  ssid-profile default-ssid
    ssid "cisco_ise"
    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
      ip telnet server
      ip ssh server
      ip http server
    exit
  exit
  portal-profile default-portal
    redirect-url-custom https://x.x.x.x: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 100.110.0.161
    auth-password ascii-text secret123
    auth-acct-id-send
    acct-enable
    acct-address 100.110.0.161
    acct-password ascii-text secret123
    acct-periodic
    acct-interval 60
  exit
exit



Таблица 1 — Настройка URL шаблона для внешней портальной авторизации

Параметр

Описание

<NAS_ID>NAS ID, заданный на VAP или в system. Если не задан ни один из этих параметров, то в качестве NAS ID в RADIUS- и HTTP(S)-пакетах будет использоваться MAC-адрес ТД
<SWITCH_URL>доменное имя, которое получает клент при перенаправлении
<AP_MAC>MAC-адрес точки доступа 
<CLIENT_MAC>MAC-адрес клиента
<SSID>SSID
<ORIGINAL_URL>

URL, который изначально запрашивал клиент


Взаимодействие контроллера с порталом Cisco ISE

  1. При первом подключении клиента ТД пытается пройти MAB авторизацию на NAC сервере, подставляя MAC адрес клиента в атрибуты User-Name и User-Password запроса access-request к Radius серверу. Так как ISE ничего не знает о данном клиенте, он присылает access-reject.
  2. После того как ТД получила access-reject она отправляет клиенту ссылку редиректа на гостевой портал ISE  формата: 
    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, с доступом только до гостевого портала.
  3. После саморегистрации пользователя на гостевом портале и успешного логина через форму портала, по полученному логину и паролю, информация об устройстве как устройство MAB заносится в базу Endpoins, в которой содержится в том числе MAC клиента. А клиенту возвращается ссылка редиректа на 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=slava&password=Password
  4. Когда клиент переходит по этой ссылке, ТД считывает из нее логин и пароль и подставляет в атрибуты User-Name и User-Password запроса access-request , radius успешно авторизует клиента и ТД снимает ACL на доступ клиента и редиректит на изначально запрашиваемый пользователем портал.
  5. После отключения от SSID и подключения заново или подключения к другой ТД (к тому же SSID), авторизация будет проходить по mac адресу (так как этот сценарий реализован в логике ТД "external portal" и срабатывает при подключении к SSID, если ТД не "помнит" клиента). И редиректа пользователя на портал происходить не будет, до тех пор, пока endpoint клиента не будет удален из базы, в ручную или автоматически (по какой-то настроенной логике).

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNamewlc.cisco-like
simpleViewerfalse
width
diagramWidth1282
revision1

Image Modified

Рис.1 Процесс авторизации нового клиента(по логину и паролю)


Настройка Cisco ISE

1.Создаем Network Device Profile

Image Modified


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.
Image Modified


3.Создаем новый профиль сетевых устройств, в нашем случае  "Eltex-AP"

Image Modified


4.Настраиваем взаимодействие с ТД по протоколу Radius. Требуется указать подсеть контроллера WLC (в нашем случает это один контроллер и подсеть 100.110.0.247/32), в поле Device Profile выбираем ранее созданный профайл Eltex. Также необходимо указать secret key для протокола Radius, ранее настроенный на контроллере.
Image Modified 


5.Создать группу встроенных гостевых учетных записей, в нашем случае это Eltex-AP_testUsers и в этой группе создать учетные записи, в нашем случае это Gena и tester, задать им логин и пароль.Image Modified


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 (учетные записи созданные пользователем самостоятельно на гостевом портале)
Image Modified


7.Создаем правило с разрешенными протоколами, в нашем случае MAB-WIFI_Eltex, в нем разрешаем Authentication Bypass>Process Host Lookup и Authentication Protocols>Allow PAP/ASCIIImage Modified


8.Настройка Authorization Profiles. На вкладке  Work Centers > Guest Access > Policy Elements > Results > Authorization Profiles > Add создаем профиль авторизации под ранее созданный Network Device Profile. В данный сценарий можно включать параметры авторизации клиента, такие как CVLAN, ACL, shaper и т.п. через добавления различных атрибутов (который поддерживают или будут поддерживать ТД Eltex)Image Modified


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
Image Modified


10.Настраиваем в данной политике правила аутентификации и авторизации. 
В правиле аутентификации первым пунктам идет проверка пользователя по логину и паролю в базе Internal Users, вторым пунктам, если не сработал пункт один, проверяется mac адрес в базе EndPoints (MAB).
В правиле авторизации сначала проверяется пользователь по логину и паролю в базе Internal Users. Вторым пунктам, если не сработал пункт один, проверяется mac адрес в базе EndPoints (MAB). И в обоих случаях, в нашем случае при успешной проверке применяется действие PermitAccess, но можно применить созданное ранее Eltex-AP_guest (что является аналогичным, только добавляется еще один уровень абстракции) или более сложное в плане защищенности действие.
Image Modified


11.Настраиваем гостевой портал. В нашем случае настроено как на снимке (настройки в основном касаются оформления страницы, запрашиваемых данных пользователя и пользовательских соглашений)
Image Modified


12.Адрес портала для настройки ссылки редиректа на ТД, можно получить по ссылке
Image Modified

Radius Logs

Запись журнала, о том что клиент не смог пройти MAB аутентификацию, так как клиент прошел регистрацию на портале.

Image Modified


Вторая запись. О том что клиент не прошел динамическую авторизацию. ТД в данный момент не поддерживает CoA и данный способ не настраивался и не использовался.
Image Modified


Третья запись. О том что гость аутентифицировался на портале (после регистрации)
Image Modified


Четвертая запись. О том что пользователь успешно аутентифицировался и авторизовался через Radius по логину и паролю
Image Modified


Запись о том, что клиент успешно прошел MAB аутентификацию и авторизацию через Radius (Cisco ISE занесла MAC клиента в базу EndPoints, при аутентификации пользователя на портале)
Image Modified


Следующая запись. Аккаунтинг пользователя
Image Modified