Настройка Kerberos SSO в TrueConf Server
TrueConf Server поддерживает беcпарольную аутентификацию с помощью технологии единого входа (Single-Sign-On, SSO) и протокола Kerberos. При этом необходимо, чтобы была настроена интеграция со службой каталогов по протоколу LDAP.
С некоторыми примерами вы можете ознакомиться в соответствующих статьях:
Общий алгоритм настройки Kerberos SSO сводится к нескольким шагам:
Добавить SPN, подробнее ниже.
Сгенерировать keytab-файл.
Применить настройки на сервере.
В разрезе Kerberos SSO важно понимать значение Service Principal Name (SPN). Что это такое? SPN – это уникальный идентификатор экземпляра службы. В нашем случае для контроллера домена такой службой выступает TrueConf Server. SPN состоит из нескольких частей:
protocol/service.name@DOMAINВ качестве service.name нужно использовать внешнее имя сервера, указанное при его регистрации.
Пример:
trueconf/video.example.com@EXAMPLE.COMДалее в нашей статье будут приведены примеры с использованием терминала, но вы можете воспользоваться графическим интерфейсом.
Active Directory
В Active Directory (AD) имя сервисной службы (SPN) привязывается к учетной записи компьютера или пользователя. Мы не рекомендуем привязывать SPN к машине самого TrueConf Server, потому что это может повлиять на его работу в домене. Поэтому для корректной настройки необходимо создать отдельную учетную запись сервис пользователя с определёнными параметрами:
запретить смену пароля;
не ограничивать срок действия пароля.
Это важно, так как при смене пароля или истечении срока действия придется заново генерировать keytab-файлы привязанные к этому пользователю.
Для настройки Kerberos SSO:
Запустите PowerShell с правами администратора и импортируйте модуль для работы со службой AD:
Import-Module ActiveDirectoryЗадайте переменные с нужными значениями:
$Username = "kb_user" # Имя пользователя $Password = "UserPassword!"# Пароль пользователя $DisplayName = "KB_USER" # Отображаемое имя пользователя $Path = "OU=Users,DC=yourdomain,DC=loc" # Путь к организационной единице, где должен быть создан пользователь.С помощью команды создайте нового сервисного пользователя используя заданные переменные:
New-ADUser -Name $DisplayName -SamAccountName $Username -Path $Path -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -PasswordNeverExpires $true -CannotChangePassword $trueДобавьте SPN и привяжите его к созданному пользователю:
setspn -U -S trueconf/server.name@yourdomain.loc $UsernameСгенерируйте keytab-файл:
ktpass -princ trueconf/server.name@YOURDOMAIN.LOC -mapuser $Username -crypto ALL -ptype KRB5_NT_PRINCIPAL -pass $Password -target yourdomain.loc -out С:\yourdomain.keytab
После этого перейдите в панель управления сервером и настройте Kerberos SSO как написано в документации.
FreeIPA/ALD Pro
В FreeIPA сервисная служба (SPN) привязывается к существующему узлу, по сути к A-записи DNS сервера. Поэтому, если узел сервера TrueConf еще не добавлен, то самый раз это сделать. Для настройки Kerberos SSO:
Откройте терминал и получите билет (kerberos-ticket) с помощью команды:
kinit admin # username доменного администратораЗадайте переменные с нужными значениями (без пробелов):
IP_ADDRESS=10.10.10.10 # IP-адрес службы (сервера TrueConf) TRUECONF=video.example.net # Полное доменное имя сервера FREEIPA=freeipa.example.lan # Полное доменное имя контроллера доменаС помощью команды добавьте узел сервера TrueConf используя заданные переменные:
sudo ipa host-add --force --ip-address=$IP_ADDRESS $TRUECONFДобавьте службу (SPN):
sudo ipa service-add trueconf/$TRUECONFДля генерации keytab-файла выполните команду:
sudo ipa-getkeytab -s $FREEIPA -p trueconf/$TRUECONF -k trueconf.keytab
После этого перейдите в панель управления сервером и настройте Kerberos SSO как написано в документации.