Описание

Решение протестировано с контроллером Ubiquiti UniFi Network Application версии 10.6.101 в сочетании с точкой доступа Ubiquiti UniFi AC HD версии 6.8.2.

Система контроля доступа NAICE начиная с версии 1.3 поддерживает портальную авторизацию пользователей сети с контроллером Ubiquiti UniFi.

Схема портальной авторизации с контроллером UniFi отличается от стандартной схемы Eltex или Cisco (см. v1.3_4.8 Настройка Captive Portal). Ключевое отличие заключается в способе переподключения клиента после успешной авторизации - если в стандартной схеме для переподключения клиента используется RADIUS-запрос CoA-reauth, то в схеме с UniFi используется запрос к API контроллера с параметрами клиента.

Таким образом портальная авторизация по данной схеме имеет следующие этапы:

  1. Подключение клиента к SSID, вещаемый определенной точкой доступа (ТД).
  2. ТД напрямую (без проксирования через контроллер) выполняет RADIUS-запрос MAB-авторизации.
  3. RADIUS-запрос приходит в NAICE и он в соответствии с настройкой политик проверяет наличие гостевого эндпоинта в БД.
  4. NAICE возвращает ответ Access-Accept без дополнительных атрибутов (например, ссылки редиректа на портал).
  5. Клиент получает IP-адрес и пытается получить доступ в Интернет. В ответ ТД исходя из своей текущей конфигурации, настраиваемой на контроллере, начинает возвращать редирект со ссылкой на портал.
  6. Пользовательское устройство, получая ссылку редиректа, открывает всплывающий браузер и страницу портальной авторизации в нем.
  7. Клиент успешно проходит портальную авторизацию одним из доступных для данного портала методов.
  8. NAICE обращается к контроллеру UniFi с указанными учетными данными администратора контроллера для получения токена.
  9. Авторизованный NAICE выполняет API-запрос на регистрацию клиента на котроллере.
  10. При успешном ответе на запрос NAICE создает/обновляет гостевой эндпоинт.
  11. При очередном периодическом фоновом запросе к контроллеру точка получает информацию о том что клиент авторизован и открывает ему доступ.
  12. Клиент получает доступ в сеть, если настроен адрес перехода после успешного входа - происходит финальный редирект на указанный адрес.

Ограничения реализации

  • реаутентификация устройства пользователя на основе API-запроса вместо RADIUS CoA-reauth;
  • постоянная ссылка редиректа на определенный портал, без возможности динамической параметризации;
  • ссылка финального редиректа после успешной авторизации задается на NAICE и переопределяет значение от UniFi;
  • ограничения доступа до и после авторизации настраиваются на контроллере UniFi. Настройка выдачи ACL и VLAN по RADIUS-атрибутам на NAICE бессмысленна из-за отсутствия повторного RADIUS запроса после авторизации на портале;



Настройка контроллера Ubiquiti UniFi

В рамках данной инструкции предполагается, что точка доступа уже добавлена на контроллер и произведена ее минимальная настройка. 


Получение идентификатора сайта

При дальнейшей настройке предполагается, что возможность управления несколькими сайтами выключена и/или производится настройка сайта по умолчанию (default). В случае необходимости настройки другого сайта необходимо выяснить его системный идентификатор и использовать в дальнейших настройках именно его. Имя сайта может не совпадать с системным идентификатором!

Как узнать системный идентификатор сайта при управлении несколькими сайтами

В WEB-интрефейсе контроллера UniFi переключитесь на необходимый сайт через Переключатель Site.

В адресной строке браузера обратите внимание на URL текущей страницы. Он будет иметь вид:

https://<IP-адрес или доменное имя контроллера>:8443/manage/<идентификатор сайта>/dashboard

Пример идентификатора сайта - kg3tz4qt.


Добавление NAICE в качестве RADIUS-сервера

Перейти в раздел Настройки → Сети и добавить NAICE в качестве RADIUS сервера для беспроводных сетей (опционально - для проводных сетей). Также можно добавить NAICE в качестве RADIUS-сервера для получения аккаунтинга.

Создание беспроводной сети

Создать или отредактировать существующую беспроводную сеть в разделе Настройки → WiFi.



Ключевыми настройками в данном случае являются:

  • Тип Hotspot - Captive Portal;
  • Режим безопасности - Открытая;
  • Аутентификация RADIUS MAC - включено;
  • Профиль RADIUS - ранее добавленный NAICE;
  • Формат MAC-адреса - aabbccddeeff;
  • NAS ID - MAC Access Point.
Включение DAS/DAC (CoA) в данном случае не позволит использовать RADIUS CoA, так как настройка применяется только для беспроводных сетей с авторизацией WPA2/WPA3 Enterprise.


Включение редиректа на внешний портал

Перейти на страницу Клиентские устройства → Hotspot → Целевая страница и в методах аутентификации включить Внешний сервер портала:


Включить показ целевой страницы, а также настройки, связанные с использованием HTTPS:


Настроить разрешение доступа до NAICE до авторизации:

Настройка редиректа на внешний портал

Стандартная настройка редиректа на внешний портал через WEB-интерфейс контроллера предполагает настройку только адреса контроллера. Шаблон ссылки редиректа при этом является статичным, настройка порта и/или пути к порталу не предполагается.

Для настройки произвольного редиректа необходимо подключиться к контроллеру по SSH и внести настройки через конфигурационные файлы:

# создать папку с файлами конфигурации для текущего сайта (сайт по умолчанию - default)
mkdir /var/lib/unifi/sites/<идентификатор сайта>/

# отредактировать файл конфигурации
cat > /var/lib/unifi/sites/<идентификатор сайта>/config.properties <<'EOF'
config.guest_portal.redirect_port=8443
config.guest_portal.redirect_https_port=8443
config.system_cfg.1=redirector.url=https://<IP-адрес или доменное имя NAICE>:8443/portal/<id портала в NAICE>
config.system_cfg.2=redirector.url_https=https://<IP-адрес или доменное имя NAICE>:8443/portal/<id портала в NAICE>
EOF

ID портала NAICE можно получить только после создания портала в системе (см. Настройка портала).

В WEB-интрефейсе NAICE откройте необходимый портал в разделе Гостевые порталы → Управление порталами → Конструктор порталов.

В адресной строке браузера обратите внимание на URL текущей страницы. Он будет иметь вид:

https://<IP-адрес или доменное имя NAICE>/guest-portal/management/portal-builder/<id портала>

ID портала является целым числом.


Создание пользователя

Для отправки запроса на API контроллера после успешной авторизации клиента требуется создать пользователя, с которым NAICE будет обращаться к API. 


Настройка NAICE

Настройка профиля сетевого устройства

Оборудование Ubiquiti не отправляет RADIUS-атрибут Service-Type для корректного определения типа подключения (MAB / 802.1X), поэтому по аналогии со стандартным профилем устройства Profile for devices without service-type attribute на странице Пользователи и устройства → Сетевые ресурсы → Профили устройств создан профиль UniFi AP с альтернативным способом определения типа подключения. 

На вкладке Аутентификация/Авторизация настроено:

  • Wireless 802.1x:
    • RADIUS:NAS-Port-Type = Wireless-802.11;
    • RADIUS:Calling-Station-Id ≠ RADIUS:User-Name;
  • Wireless MAB:
    • RADIUS:NAS-Port-Type = Wireless-802.11;
    • RADIUS:Calling-Station-Id = RADIUS:User-Name;
  • MAB - включено.

Так как портальная авторизация по схеме Ubiquiti UniFi не предполагает использование CoA, то настройка RADIUS CoA не требуется.

Так как портальная авторизация по схеме Ubiquiti UniFi предполагает статичную ссылку редиректа, задаваемую на контроллере, то настройка перенаправления на портал не требуется.

Настройка сетевого устройства

На странице Пользователи и устройства → Сетевые ресурсы → Устройства добавить в NAICE точку доступа UniFi, выбрав для нее профиль устройства UniFi AP:

Секретный ключ RADIUS должен совпадать на контроллере UniFi и в NAICE.


Настройка портала

На странице Гостевые порталы → Управление порталами → Конструктор порталов создать новый портал.

Настройки блока Аутентификация:

  • Способы входа - настроить один или несколько из доступных способов входа. При настройке входа по СМС потребуется настройка Шлюза уведомлений.
  • Цепочка идентификации - можно настроить как вход только по учетным записям пользователей портала (см. Гостевые порталы → Управление порталами → Пользователи порталов), так и по другим источникам. В цепочке обязательно должен присутствовать источник Guest endpoints!

Дополнительные настройки:

  • Срок действия гостевых аккаунтов - данный срок будет отправлен на контроллер UniFi в качестве срока жизни портального подключения;
  • Адрес перехода после успешного входа - данное значение переопределяет адрес финального редиректа, который возвращает контроллер UniFi;
  • Портал UniFi - включить:
    • Адрес контроллера - URL в формате https://<IP-адрес или доменное имя контроллера>:8443;
    • Использовать проверку SSL/TLS-сертификата - включить, если требуется проверка сертификата контроллера при API-запросе. В таком случае необходимо добавить сертификат контроллера в хранилище сертификатов NAICE в качестве доверенного сертификата (см. Настройки системы → Хранилище сертификатов → Доверенные сертификаты).

      При включенной проверке SSL/TLS-сертификата требуется, чтобы указанный IP-адрес или доменное имя контроллера присутствовало в Subject Alternative Name (SAN) его сертификата.

    • Имя сайта - указать системный идентификатор сайта (по умолчанию - default; может отличаться при наличии нескольких сайтов, см. Получение идентификатора сайта);
    • Логин/пароль - учетные данные администратора UniFi для доступа к API.

Сохранить изменения. При необходимости настроить внешний вид и содержание страниц портала на следующих шагах конструктора (см. v1.3_4.8 Настройка Captive Portal).

Настройка политик RADIUS

Так как при портальной авторизации с UniFi выполняется только один RADIUS MAB запрос, а переподключение клиента выполняется контроллером после API запроса, то стандартная логика с Guest endpoints·Registered guest здесь неприменима. 

Минимальная настройка политик аутентификации и авторизации выглядит следующим образом:


Проверка подключения

При успешной авторизации в разделе Мониторинг → RADIUS → Активность на сети появится событие об успешном подключении пользователя:

В списке гостевых эндпоинтов на странице Гостевые порталы → Управление порталами → Гостевые эндпоинты появится гостевой эндпоинт, соответствующий подключению:


Также гостевой эндпоинт появится на контроллере UniFi на странице Клиентские устройства → Hotspot → Гости:


  • Нет меток