Перейти к содержанию

Настройка аутентификации пользователей Filestone MFT через Active Directory

В Filestone MFT используется Kerberos / LDAP для аутентификации через Active Directory.

Важно: Браузеры не передают токены Kerberos внешним сайтам из соображений безопасности. Для работы Kerberos-аутентификации у сотрудников организации в браузерах Яндекс Браузер, Chrome, Edge адрес веб-интерфейса Filestone MFT должен быть добавлен в зону "Местная интрасеть" (Local Intranet) в настройках зон безопасности Windows (Панель управления -> Свойства браузера -> Безопасность -> Местная интрасеть). Для браузера Firefox в настройках about:config добавьте в список network.negotiate-auth.trusted-uris адрес веб-интерфейса Filestone MFT

Важно: Для работы Kerberos-аутентификации время на сервере Filestone MFT и контроллерах домена должно быть синхронизировано. Допустимая разница во времени — не более 5 минут

Важно: FQDN веб-сервера Filestone MFT (например, filestone.example.com) должно корректно резолвиться в DNS (прямая и обратная зона) на IP-адрес сервера Filestone MFT

1. Создание учетной записи

Для настройки аутентификации необходима сервисная учетная запись в домене. Это может быть учетная запись компьютера или пользователя. Рекомендуется использовать учетную запись компьютера.

Ниже приведены примеры команд powershell (с правами администратора), которые необходимо выполнить на контроллере домена для создания учетной записи.

Пример создания учетной записи компьютера (рекомендуемый вариант):

  • filestone замените на имя учетной записи компьютера с Filestone MFT. Параметры CN и DC замените на ваши.
New-ADComputer -Name "filestone" -Path "CN=Computers,DC=domain,DC=local"

Пример создания учетной записи пользователя:

  • filestone замените на имя учетной записи пользователя. Параметры OU и DC, а также данные о пользователе замените на ваши.

$Password = ConvertTo-SecureString -String "ПАРОЛЬ" -AsPlainText -Force

New-ADUser -SamAccountName "filestone" `
-Name "Фамилия Имя Отчество" `
-GivenName "Имя" `
-Surname "Фамилия" `
-EmailAddress "filestone@example.com" `
-UserPrincipalName "filestone@domain.local" `
-Path "OU=Employees,OU=Company,DC=domain,DC=local" `
-AccountPassword $Password `
-Enabled $true
Важно: При создании учетной записи пользователя можно использовать любой пароль, соответствующий доменной политике сложности. Далее, при генерации keytab-файла, этот пароль будет заменен.

2. Включение шифрования для учетной записи в Active Directory

В powershell с правами администратора выполните команду:

  • filestone замените на имя вашей учетной записи

Если на первом шаге создана учетная запись компьютера:

Set-ADComputer -Identity "filestone" -KerberosEncryptionType AES256

Если на первом шаге создана учетная запись пользователя:

Set-ADUser -Identity "filestone" -KerberosEncryptionType AES256

3. Генерация keytab-файла для учетной записи

Для аутентификации через Kerberos необходимо сгенерировать keytab-файл на контроллере домена с помощью утилиты ktpass. В powershell с правами администратора выполните команду:

ktpass /mapuser КРАТКОЕ_ИМЯ_ДОМЕНА\filestone$ `
    /princ HTTP/полное_доменное_имя@ПОЛНОЕ_ИМЯ_ДОМЕНА_AD `
    /ptype KRB5_NT_PRINCIPAL `
    /pass НАДЕЖНЫЙ_ПАРОЛЬ `
    /crypto AES256-SHA1 `
    /out C:\keytab.keytab +answer

Описание параметров

  • КРАТКОЕ_ИМЯ_ДОМЕНА - краткое NetBIOS-имя домена. Пишется без точек. Необходимо указать в верхнем регистре. Пример: DOMAIN

  • filestone$ - замените на имя учетной записи, созданной на первом шаге. Оставьте символ $, если это учетная запись компьютера. Удалите символ $, если это учетная запись пользователя

  • /princ HTTP/... - указывает SPN (Service Principal Name). Утилита ktpass автоматически привяжет этот SPN к учетной записи, указанной в параметре /mapuser. В дальнейшем этот SPN необходимо будет указать в настройках Filestone MFT. Если этот SPN уже существует в домене и привязан к другой учетной записи, команда ktpass завершится ошибкой. В таком случае удалите старый SPN (setspn -D HTTP/полное_доменное_имя СТАРАЯ_УЧЕТНАЯ_ЗАПИСЬ)

  • полное_доменное_имя - полное доменное имя (FQDN) вашего веб-сервера. Должно быть исключительно в нижнем регистре, даже если FQDN сервера содержит заглавные буквы. Пример: filestone.example.com

  • ПОЛНОЕ_ИМЯ_ДОМЕНА_AD - имя вашего домена Active Directory. Обязательно заглавными буквами. Пример: DOMAIN.LOCAL

  • НАДЕЖНЫЙ_ПАРОЛЬ - замените на надежный пароль, соответствующий политикам сложности паролей в домене. Этот пароль заменит существующий пароль учетной записи компьютера или пользователя

  • +answer - флаг автоматически подтверждает перезапись пароля учетной записи, что необходимо для создания валидного keytab-файла

  • C:\keytab.keytab - путь, в котором будет сохранен keytab-файл. Путь можно изменить, но имя файла необходимо оставить keytab.keytab

4. Копирование keytab-файла в каталог файлов настроек Filestone MFT

Keytab-файл, полученный на предыдущем шаге, перенесите в папку /opt/filestone/filestone-mft/etc на сервере Filestone MFT.

Важно: файл обязательно должен иметь имя keytab.keytab. Убедитесь, что Docker-контейнер Filestone MFT имеет права на чтение файла. Обычно для этого требуется назначить владельцем файла пользователя, от которого запускается контейнер и ограничить для остальных пользователей, например:

sudo chown 1000:1000 /opt/filestone/filestone-mft/etc/keytab.keytab
sudo chmod 600 /opt/filestone/filestone-mft/etc/keytab.keytab
Важно: в команде 1000:1000 — это пример. Проверьте UID пользователя, от которого запускается контейнер Filestone MFT.

5. Настройка параметров в интерфейсе администратора Filestone MFT

После копирования keytab-файла выполните настройку параметров LDAP в служебном интерфейсе Filestone MFT на вкладке Настройки -> Active directory в соответствии с Руководством администратора.

Важно: Значение параметра Service Principal Name должно быть равно SPN, указанному при создании keytab-файла. Пример: HTTP/filestone.example.com@DOMAIN.LOCAL

6. Проверка настроек

Для проверки правильности настроек Filestone MFT, откройте пользовательский веб-интерфейс Filestone MFT (например, https://filestone.example.com) и войдите через нажатие кнопки Вход для сотрудника компании. При успешном входе откроется форма отправки файлов с автоматически заполненными данными пользователя из Active Directory.