Двухфакторная аутентификация для Huawei SSL VPN
Описание
При подключении к SSL VPN на межсетевом экране Huawei через клиент SecoClient пользователи проходят двухэтапную проверку: вводят логин и пароль (первый фактор) и подтверждают вход вторым фактором.
Huawei Firewall передаёт запрос на проверку первого фактора по протоколу RADIUS в локальный инстанс Simple2FA; он же запрашивает у пользователя подтверждение вторым фактором.
Схема работы:
- Пользователь запускает SecoClient и вводит логин и пароль (первый фактор).
- Huawei Firewall направляет запрос аутентификации через RADIUS на локальный инстанс Simple2FA.
- Локальный инстанс проверяет логин и пароль по AD/LDAP или другому поставщику учётных записей.
- При успешной проверке первого фактора запрашивается подтверждение вторым фактором.
- Пользователь подтверждает второй фактор.
- После успешной проверки обоих факторов доступ к VPN разрешается.
Подготовка в Simple2FA
Войдите в панель администратора локального инстанса, перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
| Поле | Значение |
|---|---|
| Название | Huawei SSL VPN (или любое удобное) |
| Протокол | RADIUS |
| NAS ID | Строка идентификации RADIUS-клиента Huawei (должна соответствовать атрибуту NAS-Identifier в запросах межсетевого экрана). Создаётся автоматически |
| Shared Secret | Общий секрет, который будет использоваться в настройках сервера аутентификации на Huawei. Создаётся автоматически |
| Проверять первый фактор | Включить |
| Поставщики учётных записей | Выберите один или несколько каталогов, в которых будет выполняться проверка первого фактора пользователей |
| Использовать кеширование сессий | Включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени |
| Длительность кеша | Рекомендуемое значение — 60 минут |
В глобальных настройках убедитесь, что указан корректный API-ключ организации для связи локального инстанса с облаком.
Настройка Huawei (Web UI)
Войдите в Web UI межсетевого экрана под учётной записью администратора.
1) Разрешите трафик к серверу RADIUS
В разделе Policy → Security Policy → Security Policy нажмите Add Security Policy и добавьте политику для трафика от межсетевого экрана к локальному инстансу Simple2FA:
- Name: fw to auth-server;
- Source Zone: local;
- Destination Zone: зона, в которой размещён локальный инстанс Simple2FA;
- Destination Address/Region: IP-адрес локального инстанса Simple2FA;
- Service: radius;
- Action: Permit.
Нажмите OK.
2) Добавьте сервер аутентификации RADIUS
В разделе Object → Authentication Server → RADIUS нажмите Add и заполните параметры:
- Name: например SIMPLE2FA;
- Primary Authentication Server IP Address: IP-адрес локального инстанса Simple2FA;
- Authentication port: порт RADIUS из карточки ресурса Simple2FA (по умолчанию 1812);
- Shared Key: Shared Secret из карточки ресурса Simple2FA;
- Retransmission Attempts: 5;
- Reply Timeout: 10 seconds;
- User Name Format: Without Authentication Domain.
Для проверки связи нажмите Test и укажите:
- Test Account: имя тестового пользователя;
- Password: пароль тестового пользователя;
- Authentication Type: PAP.
При корректной настройке пользователю поступит запрос второго фактора, а попытка входа отобразится в панели администратора, в разделе «Попытки авторизации». Нажмите OK.
Дополнительно увеличьте интервал ожидания ответа RADIUS-сервера — это время нужно пользователю на подтверждение второго фактора. Настройка доступна только через CLI:
<USG6500E> system-view
[USG6500E] radius-server max-unresponsive-interval 60
3) Создайте домен аутентификации
В разделе User → Authentication Domain нажмите Add и добавьте новый домен аутентификации:
- Name: имя вашего домена (например, domain.com);
- Associated Group: Domain Name.
Нажмите OK. Затем откройте созданный домен в разделе User и перейдите в расширенные настройки:
- Scenario: включите флажок SSL VPN access;
- User Location: Authentication Server;
- Authentication Server: RADIUS / SIMPLE2FA;
- Reporting Traffic to the Authentication Server: отключите;
- RADIUS Accounting: отключите;
- RADIUS Authorization: включите.
Нажмите Apply.
4) Привяжите домен к шлюзу SSL VPN
В разделе Network → SSL VPN выберите ваш шлюз.
На вкладке Gateway Configuration:
- Authentication Domain: выберите домен, созданный на шаге 3.
На вкладке Role Authorization/User в разделах List of Authorized Roles и User/User Group List добавьте тот же домен.
Нажмите OK.
Проверка работы
- Запустите SecoClient и подключитесь к вашему шлюзу SSL VPN,
- Введите логин и пароль (первый фактор),
- Получите запрос второго фактора,
- Подтвердите второй фактор,
- После подтверждения доступ к VPN будет разрешён.
Результат каждой попытки входа доступен в панели администратора, в разделе «Попытки авторизации».