Инструкции
Collapse SMS-аутентификация UniFi

Настройка SMS-аутентификации на Ubiquiti UniFi Controller

Эта инструкция поможет вам настоить гостевой портал для Wi-Fi с аутентификацией через СМС в сети Ubiquiti. Уникальное решение Protectimus интегрируется непосредственно с контроллером Ubiquiti UniFi, обеспечивая надежную защиту доступа к вашей Wi-Fi сети с помощью SMS-авторизации. Вы можете выбрать любого поставщика SMS, который соответствует вашим предпочтениям.

После настройки гостевого портала для контроллера UniFi и его интеграции с Protectimus, процедура аутентификации через SMS в Wi-Fi сети будет проходить следующим образом:

  1. Пользователь, желающий подключиться к Wi-Fi, вводит свой номер телефона.
  2. На телефон пользователя приходит SMS с одноразовым паролем.
  3. Пользователь вводит полученный одноразовый пароль в предназначенное для этого поле.
  4. Protectimus проверяет введенный одноразовый пароль и определяет, можно ли разрешить пользователю доступ к Wi-Fi сети.

Сервер Protectimus поддерживает детализированное логирование в формате CSV. Записываются MAC-адрес пользователя, MAC-адрес точки доступа, предоставленный IP и введенный номер телефона. Срок хранения данных можно настроить в соответствии с требованиями заказчика. Согласно законодательству большинства стран, данные должны храниться не менее 6 месяцев.

Сервер аутентификации Protectimus может быть развернут на локальном оборудовании заказчика или же вы можете использовать облачный сервис Protectimus.

1. Зарегистрируйтесь и задайте базовые настройки

 
  1. Зарегистрируйтесь в Облачном сервисе Protectimus и активируйте API или установите Локальную платформу Protectimus (если вы устанавливаете платформу Protectimus на Windows, не забудьте пометить опцию Radius).
  2. Создайте ресурс.

2. Установите Protectimus Unifi Guest Portal Server из Docker-образа

 
  1. Для установки Protectimus Unifi Guest Portal Server необходимо скачать и установить docker, docker-compose:

 
  1. Склонировать git репозиторий: https://github.com/protectimus/platform-linux.git
 
  1. После успешного клонирования репозитория git, отредактируйте файл, расположенный по пути unifi-guest-portal/config/guest-portal.yml, и добавьте в него свойства, описанные в третьем параграфе.
 
  1. Перейдите в каталог unifi-guest-portal и запустите:

    docker-compose up -d
  1. За процессом разворачивания Protectimus Unifi Guest Portal Server можно наблюдать используя команду:

    docker-compose logs -f
  1. Также есть дополнительный файл fragments.html, который необходим для настройки интерфейса экрана входа.
 
  1. После завершения процесса запуска, Protectimus Unifi Guest Portal Server будет доступен по адресу:

    https://localhost:8080

    Вы можете изменить порт в файле конфигурации (unifi-guest-portal/config/guest-portal.yml).


Если по какой-либо причине вы не можете использовать Docker-образ, пожалуйста, свяжитесь с нашей службой поддержки, и мы поможем вам с установкой.

3. Настройте параметры Protectimus Unifi Guest Portal Server


Параметры сервера аутентификации Protectimus Unifi Guest Portal Server можно настроить, указав их в файле guest-portal.yml, который должен быть расположен в той же папке, что и запускаемый файл.

Задайте в файле guest-portal.yml следующие значения:

3.1. Настройки сервера гостевого портала

 
server:
  port: 8888
  ssl:
	enabled: true
	key-store-type: PKCS12
	key-store: classpath:keystore/guest-portal.p12
	key-store-password: password
	key-alias: guest-portal
НАЗВАНИЕ ПАРАМЕТРА ФУНКЦИЯ ПАРАМЕТРА
port:
Порт, на котором будет работать Protectimus Unifi Guest Portal Authentication Server.
ssl:
Если вы хотите импортировать собственный доверенный SSL сертификат, это свойство позволяет настроить параметры сертификата SSL, включая тип хранилища ключей, путь к хранилищу ключей, пароль хранилища ключей и алиас ключа.

3.2. Настройки Unifi

 
unifi:
  cookie-expiration-time: 30000
  base-url: https://localhost:8443
  username: admin
  password: admin
  sites-verification-enabled: true
  sites:
	- default
  session:
	duration-minutes: 90
	download-speed: 2048
	upload-speed: 640
	quota: 4096
  redirect-page: https://www.google.com
НАЗВАНИЕ ПАРАМЕТРА ФУНКЦИЯ ПАРАМЕТРА
cookie-expiration-time:
Позволяет установить время истечения срока действия файлов cookie.
base-url:
URL-адрес UniFi контроллера.
username:
Имя пользователя администратора Unifi Controller.
password:
Пароль администратора Unifi Controller.
sites-verification-enabled:
Позволяет ограничить доступ к порталу с указанных веб-сайтов.
sites:
Сайты UniFi Controller (основная организационная единица, которая позволяет вам управлять и контролировать ваши сетевые устройства и клиенты UniFi.)
session:
Это свойство позволяет вам установить параметры сеанса, включая максимальную продолжительность сеанса, ограничения на загрузку и скачивание, а также размер квоты данных.
redirect-page:
Это URL-адрес, который клиент пытается открыть после успешной аутентификации на гостевом портале. В данном случае это https://www.google.com. Эти типы URL-адресов обычно используются для проверки подключения к Интернету или для перенаправления на определенную веб-страницу после аутентификации.

3.3. Настройки PROTECTIMUS API (настройка подключения к сервису PROTECTIMUS)

 
protectimus-api:
  login:
  api-key:
  url: https://api.protectimus.com/
  resource-id: 
НАЗВАНИЕ ПАРАМЕТРА ФУНКЦИЯ ПАРАМЕТРА
login:
Ваш логин в системе PROTECTIMUS.
api-key:
Ваш ключ API в системе PROTECTIMUS.
url:
Если Вы используете облачный сервис PROTECTIMUS, укажите следующий API URL: https://api.protectimus.com/

Если Вы используете on-premise платформу Protectimus, API URL будет выглядеть примерно так: protectimus.api.url=http://127.0.0.1:8080/
resource-id:
ID ресурса, созданного вами в системе PROTECTIMUS.

3.4. Настройки файла с отчетом

 
report:
  csv:
	params:
  	- action
  	- id
  	- ip
  	- ap
  	- ssid
  	- time
  	- phoneNumber
	date-format: 'yyyy-MM-dd HH:mm:ss z'
	zone-id: UTC
НАЗВАНИЕ ПАРАМЕТРА ФУНКЦИЯ ПАРАМЕТРА
csv:
Указывает, что отчет будет сохранен в формате CSV.
params:
Вы можете указать параметры, которые вы хотели бы сохранить о ваших гостевых входах. Доступные варианты включают:
  • Действие;
  • ID;
  • IP;
  • Точка доступа (AP);
  • SSID;
  • Время;
  • Номер телефона.
date-format:
Формат даты, который должен отображаться в отчете (например, Unix).
zone-id:
Идентификатор часового пояса.

3.5. Пример конфигурационного файла guest-portal.yml

 
server:
  port: 8888
  ssl:
	enabled: true
	key-store-type: PKCS12
	key-store: file:guest-portal.p12
	key-store-password: password
	key-alias: guest-portal

unifi:
  base-url: https://localhost:8443
  username: admin
  password: admin
  sites:
	- default

protectimus-api:
  login: test@protectimus.com
  api-key: secret
  url: https://api.protectimus.com/
  resource-id: 1

logging:
  level:
	com.protectimus: INFO

4. Настройте Ubiquiti UniFi Controller

4.1. Запуск контроллера UniFi


Для тестирования контроллер UniFi можно запустить с помощью следующей команды:


docker run --rm --init -p 8843:8843 -p 8880:8880 -p 8443:8443 -p 3478:3478/udp -v ~/unifi:/unifi --name unifi jacobalberty/unifi

Контейнер UniFi-in-Docker использует следующие порты:

  • 8080/tcp — управление устройствами
  • 8443/tcp — веб-интерфейс и API
  • 3478/udp — служба STUN
  • 8843/tcp — HTTPS-портал (опционально)
  • 8880/tcp — HTTP-портал (опционально)

4.2. Настройка Wi-Fi для Hotspot Portal


  1. Перейдите в UniFi Controller > Settings > WiFi.
  2. Нажмите Create New.
  3. В разделе WiFi Optimization выберите Hotspot и оставьте настройку Captive Portal по умолчанию.
  4. В разделе Security Protocol выберите Open.
    Как настроить гостевой Captive Portal в UniFi — Шаг 1   Как настроить гостевой Captive Portal в UniFi — Шаг 2
После создания сети Wi-Fi нажмите Hotspot Portal под переключателем Captive Portal, чтобы открыть страницу для завершения настройки.  

4.3. Настройка Hotspot Portal


  1. В разделе One Way Methods включите External Portal Server и нажмите Edit.
  2. Введите IP-адрес сервера, на котором запущен Protectimus Guest Portal (по умолчанию: 127.0.0.1).

Как настроить гостевой Captive Portal в UniFi — Шаг 3

  1. Для Post-Authorization Restrictions введите подсеть вашей локальной сети. По умолчанию все возможные адреса локальной сети заблокированы, поэтому вы можете оставить это без изменений. Однако, если вы хотите предоставить гостям доступ к конкретным устройствам, таким как принтер, ограничив доступ к остальной части вашей сети, вы можете установить эти ограничения здесь. Рекомендуется использовать разные подсети для вашей гостевой сети и собственной сети, чтобы упростить эти ограничения.
  2. В разделе Success Landing Page укажите Success Text или задайте Custom URL, на который пользователь будет перенаправлен после успешной аутентификации.


Как настроить гостевой Captive Portal в UniFi — Шаг 4

5. Процесс аутентификации


Когда пользователь подключается к гостевой сети Wi-Fi и пытается получить доступ к Интернету, UniFi Controller перенаправляет его на гостевой портал.

Например:


/guest/s/default/?ap=74:83:c2:29:f4:1c&id=50:e0:85:68:7f:ef&t=1639577246&url=http://edge.microsoft.com&ssid=WiFi-test-3

URL перенаправления содержит следующие параметры:


  • /guest/s/default/: эта часть URL-пути указывает на гостевой портал, а default означает использование настроек гостевого портала по умолчанию.
  • ap=74:83:c2:29:f4:1c: MAC-адрес точки доступа, к которой подключен клиент.
  • id=50:e0:85:68:7f:ef: идентификатор устройства или клиента, который пытается получить доступ к Интернету через гостевой портал.
  • t=1639577246: временная метка в формате Unix, указывающая текущее время в секундах. Она может использоваться для проверки срока действия запроса или других ограничений, связанных со временем.
  • url=http://edge.microsoft.com: исходный URL-адрес, к которому клиент пытался получить доступ до перенаправления на гостевой портал.
  • ssid=WiFi-test-3: имя сети Wi-Fi (SSID), к которой подключается клиент.

После успешной аутентификации выполняется запрос к UniFi Controller по адресу /cmd/stamgr для создания новой сессии.

Endpoint /cmd/stamgr в UniFi Controller отвечает за управление сессиями станций (клиентов). Он выполняет задачи, связанные с клиентскими устройствами, подключенными к сети Wi-Fi, включая добавление, удаление и управление их сессиями.

Если у вас есть другие вопросы, свяжитесь с нашей службой поддержки клиентов.

    Содержание