Настраиваем двухфакторную аутентификацию в OPNSense

Print Friendly, PDF & Email

Задача:

Настроить двухфакторную аутентификацию на файерволе OPNSense с использованием Google Authenticator

---------------------------------------------------------------

TOTP (Time-based One-Time Password Algorithm, RFC 6238) — OATH-алгоритм создания одноразовых паролей для защищенной аутентификации.

Двухфакторная аутентификация в OPNsense, в рамках которой необходимо вводит не только постоянный пароль локальной учетной записи, но и ограниченный по сроку действия одноразовый пароль (Time-based One-Time Password). Такая авторизация позволяет более надежно защитить доступ к фаерволу.

Будем настраивать вариант с использованием телефона пользователя с установленным приложением Google Authenticator, которое и будет генерировать одноразовые пароли.

Для правильной настройки 2FA, необходимо проверить настройки сетевого времени. Это важная составляющая в процессе авторизации. Настройки времени доступны в меню: Services > Network Time > General

Если вы пользуетесь стандартным пользователем «root», советую сразу создать нового и пользователя по-умолчанию отключить. Настройки доступны в разделе: System > Access > Users. Для добавления пользования, воспользуемся кнопкой «Add»

Придумываем имя пользователя и пароль

Для пользователей веб-интерфейса, правильным будет выбрать «/sbin/nologin«, тем самым ограничить доступ пользователю к шелу, и добавить в группу «admins»

Если вы планируете пользоваться шелом, тогда стоит выбрать к примеру «/bin/sh». Стандартный шел пользователя root: «/usr/local/sbin/opnsense-shell«

Теперь переходим к добавлению сервера аутентификации: System > Access > Servers

Настраиваем следующим образом:

Descriptive nameTOTP server
TypeLocal + Timebased One Time Password
Token length6 (для Google Authenticator используем длину 6)
Time windowдля Google Authenticator необходимо оставить пустым
Grace periodдля Google Authenticator необходимо оставить пустым
Reverse token orderне отмечаем

Возвращаемся к настройке пользователя, открываем на редактирование. Отмечаем «Generate new secret (160 bit)» и нажимаем «Save»

После сохранения появится ещё один пункт «OTP QR code», на против которого нажимаем кнопку «Click to unhide» и сканируем телефоном появившийся QR-код

В OPNSense есть возможность проверить сервер авторизации. Насти его можно в меню: System > Access > Tester. Не забываем, что в поле пароль — необходимо ввести одноразовый пароль + постоянный пароль вместе, без пробелов или других разделителей между паролями.

Теперь необходимо настроить службу для работы с двухфакторной аутентификацией. В OPNSense такой функционал поддерживается в:

  • в веб-интерфейсе
  • в Captive Portal
  • на веб-прокси сервере
  • в VPN-серверах (OpenVPN и IPsec)

В нашем случае нас интересует веб-интерфейс: System > Settings > Administration и указываем «TOTP server»

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

  • одноразовый пароль + постоянный пароль (используется по умолчанию)
  • постоянный пароль + одноразовый пароль — необходимо отметить «Reverse token order»
Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

Читайте также:

комментария 2

  1. Александр:

    Интересно по аналогии с этой инструкции получится настроить двухфакторную идентификацию в pfSense?

    • openvpn с otp по-моему настраивал. я думаю они практически одинаковы, за плюс минус исключением

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *