Управление пользователями pfSense - локальные, LDAP, RADIUS

User Manager (System > User Manager) - централизованная система управления учётными записями pfSense. Через него создаются локальные пользователи, формируются группы с определёнными привилегиями и настраиваются подключения к внешним серверам аутентификации. Учётные записи используются не только для доступа к веб-интерфейсу, но и для аутентификации в VPN-сервисах, Captive Portal и при SSH-подключении к консоли межсетевого экрана.

Учётная запись администратора

При установке pfSense создаётся учётная запись admin с полными привилегиями доступа ко всем функциям системы. Эта учётная запись не может быть удалена и всегда сохраняет полный набор привилегий.

Рекомендации по безопасности учётной записи admin

РекомендацияОписание
Сменить пароль по умолчаниюПервое действие после установки - изменение пароля admin
Использовать сложный парольМинимум 12 символов, включая буквы, цифры и специальные символы
Создать именные учётные записиДля повседневной работы использовать персональные учётные записи
Ограничить доступ к GUIНастроить правила файрвола для ограничения доступа к веб-интерфейсу по IP-адресам

Внимание:

Использование общей учётной записи admin несколькими администраторами затрудняет аудит действий. Необходимо создавать именные учётные записи для каждого администратора.

Создание локальных пользователей

Локальная база пользователей хранится в конфигурации pfSense (config.xml) и не зависит от внешних серверов аутентификации.

Процедура создания пользователя

  1. Перейти в System > User Manager, вкладка Users
  2. Нажать Add для создания нового пользователя
  3. Заполнить параметры:
ПараметрОписание
DisabledОтключить учётную запись без удаления
UsernameИмя пользователя (латинские буквы, цифры, дефис, точка)
PasswordПароль учётной записи
Full nameПолное имя пользователя для идентификации
Expiration dateДата автоматической деактивации учётной записи
Custom SettingsИндивидуальные настройки интерфейса (тема, язык)
Group membershipПринадлежность к группам
CertificateПривязка пользовательского сертификата
Authorized keysSSH-ключи для аутентификации при консольном доступе
IPsec Pre-Shared KeyПредварительно согласованный ключ для IPsec VPN
  1. Нажать Save

Дата истечения учётной записи

Поле Expiration date позволяет автоматически деактивировать учётную запись по истечении заданного срока. Это полезно для:

  • Временных учётных записей подрядчиков
  • Учётных записей с ограниченным сроком действия (стажёры, аудиторы)
  • Обеспечения соответствия политикам безопасности, требующим периодической ревалидации доступа

После истечения срока действия пользователь не сможет аутентифицироваться ни в одном сервисе pfSense, использующем локальную базу.

Группы и привилегии

Группы объединяют пользователей с одинаковыми правами доступа. Привилегии назначаются на уровне группы и наследуются всеми её участниками. Дополнительные привилегии могут быть назначены индивидуально конкретному пользователю.

Предустановленная группа admins

pfSense содержит предустановленную группу admins, которой назначена привилегия WebCfg - All pages. Все пользователи этой группы получают полный доступ к веб-интерфейсу. Учётная запись admin автоматически включена в эту группу.

Создание группы

  1. Перейти в System > User Manager, вкладка Groups
  2. Нажать Add
  3. Заполнить параметры:
ПараметрОписание
Group nameИмя группы (латинские буквы, цифры)
ScopeLocal (для локальных групп) или Remote (для групп из LDAP/RADIUS)
DescriptionОписание назначения группы
Group membershipПользователи, входящие в группу
  1. Нажать Save
  2. Открыть группу для редактирования
  3. В секции Assigned Privileges нажать Add
  4. Выбрать необходимые привилегии
  5. Нажать Save

Типовые схемы привилегий

РольПривилегииНазначение
Полный администраторWebCfg - All pagesПолный доступ ко всем страницам веб-интерфейса
Оператор мониторингаWebCfg - Dashboard, WebCfg - Status: *Просмотр состояния системы без возможности изменений
VPN-администраторWebCfg - OpenVPN: *, WebCfg - IPsec: *Управление VPN-подключениями
Администратор файрволаWebCfg - Firewall: *, WebCfg - Diagnostics: *Управление правилами файрвола и диагностика
Пользователь VPNUser - VPN: IPsec/OpenVPNТолько подключение через VPN

Принцип наименьших привилегий

При назначении привилегий следует придерживаться следующих правил:

  • Каждый пользователь получает только те привилегии, которые необходимы для выполнения его задач
  • Привилегии назначаются через группы, а не индивидуально (за исключением особых случаев)
  • Регулярно проводить аудит привилегий и удалять неиспользуемые
  • Документировать обоснование для назначения каждой привилегии

Серверы аутентификации

pfSense поддерживает интеграцию с внешними серверами аутентификации для централизованного управления учётными записями.

LDAP и Active Directory

LDAP-интеграция позволяет аутентифицировать пользователей через корпоративный каталог Active Directory или OpenLDAP.

Настройка LDAP-сервера

  1. Перейти в System > User Manager, вкладка Authentication Servers
  2. Нажать Add
  3. Заполнить параметры:
ПараметрЗначениеОписание
Descriptive nameCorporate-ADИмя для идентификации
TypeLDAPТип сервера
Hostname or IPdc.example.comАдрес контроллера домена
Port389 (LDAP) / 636 (LDAPS)Порт подключения
TransportTCP - Standard / SSL/TLSПротокол транспорта
Peer Certificate AuthorityAD-CACA для проверки сертификата сервера (при LDAPS)
Protocol version3Версия протокола LDAP
Search scopeEntire SubtreeОбласть поиска
Base DNDC=example,DC=comБазовый DN для поиска
Authentication containersOU=Users,DC=example,DC=comКонтейнеры для поиска пользователей
Bind credentialsCN=ldap-reader,OU=Service,DC=example,DC=comУчётная запись для поиска (bind DN)
User naming attributesamAccountNameАтрибут имени пользователя (AD)
Group naming attributecnАтрибут имени группы
Group member attributememberOfАтрибут членства в группах
  1. Нажать Save

Требования к учётной записи bind

Для поиска пользователей в каталоге pfSense необходима служебная учётная запись (bind account) с правами чтения. Требования к этой учётной записи:

  • Минимальные привилегии - только чтение атрибутов пользователей и групп
  • Пароль не должен истекать (или необходимо обеспечить своевременную ротацию в pfSense)
  • Учётная запись не должна быть заблокирована политиками безопасности AD

Внимание:

Не следует использовать доменного администратора в качестве bind-аккаунта. Компрометация этой учётной записи даст атакующему чрезмерные привилегии в домене.

RADIUS

RADIUS-интеграция обеспечивает аутентификацию через централизованный RADIUS-сервер (FreeRADIUS, Microsoft NPS, Cisco ISE и др.).

Настройка RADIUS-сервера

  1. Перейти в System > User Manager, вкладка Authentication Servers
  2. Нажать Add
  3. Заполнить параметры:
ПараметрЗначениеОписание
Descriptive nameCorporate-RADIUSИмя для идентификации
TypeRADIUSТип сервера
Hostname or IPradius.example.comАдрес RADIUS-сервера
Shared Secret************Общий секрет для связи с сервером
Services offeredAuthentication and AccountingПредоставляемые сервисы
Authentication port1812Порт аутентификации
Accounting port1813Порт учёта
Authentication Timeout5Таймаут ожидания ответа (секунды)
RADIUS NAS IP AttributeLAN IPIP-адрес pfSense для идентификации на RADIUS-сервере
  1. Нажать Save

Маппинг групп RADIUS

Для назначения привилегий пользователям, аутентифицированным через RADIUS, необходимо создать локальные группы с областью действия Remote и настроить на RADIUS-сервере возврат атрибута, содержащего имя группы. Имя группы в RADIUS-атрибуте должно точно совпадать с именем локальной группы в pfSense.

Тестирование аутентификации

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

  1. Перейти в Diagnostics > Authentication
  2. Выбрать сервер аутентификации
  3. Ввести имя пользователя и пароль
  4. Нажать Test

Результат отображает статус аутентификации и список групп, к которым принадлежит пользователь. При неудачной аутентификации следует проверить:

  • Доступность сервера по сети (ping, traceroute)
  • Корректность bind-credentials (для LDAP)
  • Корректность shared secret (для RADIUS)
  • Правильность Base DN и Authentication containers (для LDAP)

Настройка источника аутентификации по умолчанию

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

  1. Перейти в System > User Manager, вкладка Settings
  2. В поле Authentication Server выбрать нужный сервер
  3. Нажать Save

Внимание:

При переключении на внешний сервер аутентификации необходимо убедиться, что локальная учётная запись admin остаётся работоспособной. В случае недоступности внешнего сервера она останется единственным способом входа в систему.

Доступ к консоли и SSH

SSH-доступ

pfSense поддерживает SSH-доступ для администрирования через командную строку.

  1. Включить SSH: System > Advanced, вкладка Admin Access, секция Secure Shell
  2. Установить флажок Enable Secure Shell
  3. Указать порт SSH (по умолчанию 22)
  4. Выбрать метод аутентификации:
МетодОписание
PasswordАутентификация по паролю (менее безопасно)
Public Key OnlyТолько по SSH-ключу (рекомендуется)
BothПароль и ключ

Для SSH-аутентификации по ключу необходимо добавить публичный ключ в поле Authorized keys учётной записи пользователя.

Shell-доступ

По умолчанию пользователи с SSH-доступом получают меню pfSense console. Для предоставления полного shell-доступа (tcsh) необходимо:

  1. Назначить пользователю привилегию User - System: Shell account access
  2. Этот доступ предоставляет полные возможности командной строки FreeBSD

Внимание:

Shell-доступ предоставляет неограниченные возможности модификации системы, включая прямое редактирование конфигурации. Следует предоставлять его только доверенным администраторам.

Sudo-доступ

pfSense поддерживает sudo через установку пакета sudo:

  1. Установить пакет sudo через System > Package Manager
  2. Настроить правила sudo в System > sudo
  3. Определить, какие команды доступны для каждого пользователя или группы

Многофакторная аутентификация

pfSense поддерживает многофакторную аутентификацию (MFA) через интеграцию с RADIUS-серверами, поддерживающими TOTP/HOTP (например, FreeRADIUS с модулем Google Authenticator или privacyIDEA).

Схема работы MFA

  1. Пользователь вводит имя и пароль в форме входа pfSense
  2. pfSense передаёт учётные данные на RADIUS-сервер
  3. RADIUS-сервер проверяет пароль и запрашивает OTP (или принимает OTP, объединённый с паролем)
  4. При успешной проверке RADIUS возвращает Access-Accept

Интеграция с TOTP

Для реализации TOTP (Time-based One-Time Password) необходимо:

  1. Настроить RADIUS-сервер с поддержкой TOTP
  2. Добавить RADIUS-сервер в pfSense как описано выше
  3. Настроить пользователей на RADIUS-сервере с привязкой TOTP-секрета
  4. Пользователи вводят пароль, конкатенированный с OTP-кодом (формат зависит от конфигурации RADIUS)

Устранение неполадок

Не удаётся войти в веб-интерфейс

Возможные причины и решения:

ПричинаРешение
Забыт пароль adminСбросить пароль через консоль (опция 3 в меню)
Внешний сервер аутентификации недоступенВойти с локальной учётной записью admin
Учётная запись заблокированаПроверить дату истечения и статус учётной записи
Браузер не принимает сертификатПроверить настройки сертификатов

LDAP bind не работает

  1. Проверить доступность LDAP-сервера: Diagnostics > Ping или Diagnostics > Test Port
  2. Убедиться в корректности формата bind DN (для AD: CN=user,OU=container,DC=domain,DC=com)
  3. Проверить, не заблокирована ли служебная учётная запись политиками AD
  4. При использовании LDAPS - убедиться, что CA-сертификат импортирован в pfSense
  5. Использовать Diagnostics > Authentication для тестирования

Группы LDAP/RADIUS не маппятся на привилегии

  1. Создать локальную группу с областью действия Remote
  2. Убедиться, что имя локальной группы точно совпадает с именем группы в каталоге
  3. Для LDAP: проверить атрибут Group member attribute (memberOf для AD)
  4. Для RADIUS: проверить, что RADIUS-сервер возвращает атрибут с именем группы
  5. Использовать Diagnostics > Authentication для проверки списка групп пользователя

Пользователь VPN не может подключиться

  1. Убедиться, что учётная запись не деактивирована и не истекла
  2. Проверить, что учётная запись имеет привилегию VPN-доступа
  3. Для сертификатной аутентификации - проверить привязку сертификата к пользователю
  4. Проверить логи VPN в Status > System Logs

Примечания по миграции

При миграции конфигурации pfSense между устройствами локальная база пользователей переносится автоматически в составе config.xml. Следует учитывать:

  • Все локальные пользователи, группы и привилегии сохраняются в резервной копии
  • Настройки внешних серверов аутентификации (LDAP, RADIUS) переносятся, но подключение необходимо проверить после миграции
  • SSH-ключи пользователей сохраняются в конфигурации
  • Пользовательские сертификаты переносятся вместе с основной конфигурацией

Связанные разделы

Last updated on