Настройка 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 состоит из нескольких частей:
1 |
protocol/server.name@DOMAIN |
В качестве service.name
нужно использовать внешнее имя сервера, указанное при его регистрации.
Пример:
1 |
trueconf/video.example.com@EXAMPLE.COM |
Далее в нашей статье будут приведены примеры с использованием терминала, но вы можете воспользоваться графическим интерфейсом.
Active Directory
В Active Directory (AD) имя сервисной службы (SPN) привязывается к учетной записи компьютера или пользователя. Мы не рекомендуем привязывать SPN к машине самого TrueConf Server, потому что это может повлиять на его работу в домене. Поэтому для корректной настройки необходимо создать отдельную учетную запись сервис пользователя с определёнными параметрами:
- запретить смену пароля;
- не ограничивать срок действия пароля.
Это важно, так как при смене пароля или истечении срока действия придется заново генерировать keytab-файлы привязанные к этому пользователю.
Для настройки Kerberos SSO:
- Запустите PowerShell с правами администратора и импортируйте модуль для работы со службой AD:
1Import-Module ActiveDirectory - Задайте переменные с нужными значениями:
1234$Username = "kb_user" # Имя пользователя$Password = "UserPassword!"# Пароль пользователя$DisplayName = "KB_USER" # Отображаемое имя пользователя$Path = "OU=Users,DC=yourdomain,DC=loc" # Путь к организационной единице, где должен быть создан пользователь. - С помощью команды создайте нового сервисного пользователя используя заданные переменные:
1New-ADUser -Name $DisplayName -SamAccountName $Username -Path $Path -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -PasswordNeverExpires $true -CannotChangePassword $true - Добавьте SPN и привяжите его к созданному пользователю:
1setspn -U -S trueconf/server.name@yourdomain.loc $Username - Сгенерируйте keytab-файл:
1ktpass -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) с помощью команды:
1kinit admin # username доменного администратора - Задайте переменные с нужными значениями (без пробелов):
123IP_ADDRESS=10.10.10.10 # IP-адрес службы (сервера TrueConf)TRUECONF=video.example.net # Полное доменное имя сервераFREEIPA=freeipa.example.lan # Полное доменное имя контроллера домена - С помощью команды добавьте узел сервера TrueConf используя заданные переменные:
1sudo ipa host-add --force --ip-address=$IP_ADDRESS $TRUECONF - Добавьте службу (SPN):
1sudo ipa service-add trueconf/$TRUECONF - Для генерации keytab-файла выполните команду:
1sudo ipa-getkeytab -s $FREEIPA -p trueconf/$TRUECONF -k trueconf.keytab
После этого перейдите в панель управления сервером и настройте Kerberos SSO как написано в документации.