Описание

Решение протестировано с контроллером 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. Клиент получает доступ в сеть, если настроен адрес перехода после успешного входа - происходит финальный редирект на указанный адрес.

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



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

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


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

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

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

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

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

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


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

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

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

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



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

Включение 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 с альтернативным способом определения типа подключения. 

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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


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