// DevOps

Подключение Jitsi Meet к Active Directory: Полное руководство по настройке и отладке

Опубликовано 06.11.2025


Jitsi Meet — открытая платформа для видеоконференций, которая легко интегрируется с Active Directory (AD). Такая интеграция позволяет использовать корпоративные учётные записи для входа, упрощая администрирование и повышая безопасность. В этом руководстве мы подробно разберём, как подключить Jitsi Meet (в Docker) к AD на базе Windows Server 2016, и покажем проверенные методы отладки, которые помогут избежать типичных ошибок.

Важно: использование LDAP без шифрования небезопасно. Для тестирования это допустимо, но в продакшене обязательно нужно применять LDAPS (порт 636) с корректными сертификатами.


Подготовка Active Directory

Для интеграции нам понадобится отдельный bind-аккаунт, через который Prosody будет выполнять поиск пользователей и проверять пароли.

1. Создаём bind-аккаунт

  1. В консоли Active Directory Users and Computers создаём нового пользователя, например:

    • Name = bind
    • SamAccountName = binduser
  2. Устанавливаем надёжный пароль (например, "YourStrongPassword!") и снимаем флаг User must change password at next logon.

  3. В разделе Delegation выдаём права “Read all user information” для нужного OU.

2. Получаем DN пользователя

На контроллере домена выполняем команду PowerShell:

Get-ADUser -Identity "binduser" -Properties DistinguishedName

Пример вывода:

CN=bind,CN=Users,DC=example,DC=local

Это значение DistinguishedName мы используем при настройке Jitsi.

3. Ослабляем политику bind (для теста)

Если появляется ошибка Strong auth required, временно разрешаем более мягкий режим:

Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity" -Value 1
Restart-Service NTDS -Force

Значение 1 включает режим “Negotiate signing”. После тестов важно вернуть 2 и перейти на LDAPS.


Настройка Jitsi Meet в Docker

В корне проекта docker-jitsi-meet редактируем файл .env, задавая параметры LDAP:

ENABLE_AUTH=1
AUTH_TYPE=ldap
LDAP_URL=ldap://your-dc.example.com:389/
LDAP_BASE=DC=example,DC=local
LDAP_BINDDN=CN=bind,CN=Users,DC=example,DC=local
LDAP_BINDPW=YourBindPassword
LDAP_FILTER=(sAMAccountName=%u)
LDAP_AUTH_METHOD=bind
LDAP_VERSION=3
LDAP_USE_TLS=0
LDAP_TLS_CHECK_PEER=0
ENABLE_GUESTS=0

Если хотим вход по адресу user@domain.local, меняем фильтр на:

LDAP_FILTER=(userPrincipalName=%u)

Настраиваем DNS через extra_hosts

Иногда контейнер prosody не видит контроллер домена, если Docker использует публичные DNS. Чтобы избежать этой проблемы, прописываем IP-адрес DC вручную через extra_hosts в docker-compose.yaml.

Пример секции:

services:
  prosody:
    image: jitsi/prosody:latest
    extra_hosts:
      - "your-dc.example.com:192.168.1.10"

После этого перезапускаем стек:

docker compose down
docker compose up -d

Проверяем конфигурацию Prosody

Чтобы убедиться, что настройки применились, заходим в контейнер prosody и открываем файл:

docker compose exec prosody bash
cat /etc/saslauthd.conf

Параметры должны совпадать с переменными из .env.


Тестирование и отладка

Перед запуском авторизации нужно убедиться, что LDAP и SASL работают корректно.

1. Устанавливаем инструменты

apt-get update
apt-get install -y ldap-utils 

2. Проверяем bind-аккаунт

ldapsearch -x -H ldap://your-dc.example.com:389 \
  -D "CN=bind,CN=Users,DC=example,DC=local" \
  -w 'YourBindPassword' \
  -b "DC=example,DC=local" "(sAMAccountName=user)"

Если команда возвращает запись пользователя — соединение установлено успешно.

3. Проверяем авторизацию пользователя

testsaslauthd -u user -p 'UserPassword' -s xmpp -r meet.jitsi

Ожидаем результат:

0: OK "Success."

Проверяем вход через веб-интерфейс

После настройки открываем https://your-jitsi.com и входим под учётной записью из AD. Если всё сделано правильно, вход проходит успешно, и пользователь может создавать конференции.


Отладка и диагностика ошибок

Чтобы не тратить время на угадывание, проводим отладку последовательно.

Проверяем сетевое соединение и доступность AD

ПроверкаКомандаОжидаемый результатВозможная причина ошибки
Пинг DCping your-dc.example.comОтвет от DCПроблема с DNS — добавить extra_hosts.
Bind от binduserldapsearch ...Вывод объектов ADОшибка в DN или пароле.
Поиск пользователя(sAMAccountName=user)Найдена записьОшибка фильтра или OU.
Bind от пользователяldapsearch -x -H ... -D "user@example.local" -w 'Pass'SuccessОграничения LDAPServerIntegrity.

Просматриваем логи Prosody

docker compose logs prosody | grep -i "auth\|ldap\|failure"

Для более детальной диагностики включаем отладочный режим saslauthd:

killall saslauthd
saslauthd -d -a ldap -O /etc/saslauthd.conf -n 5

Затем выполняем проверку:

testsaslauthd -u user -p 'Password' -s xmpp -r meet.jitsi

Типичные ошибки:

  • Unknown — неверный DN или фильтр.
  • Invalid credentials — ошибка в пароле binduser.
  • Bind failed — TLS-проблема или политика безопасности AD.

Проверяем состояние в Active Directory

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

Get-ADUser user -Properties LockedOut, BadLogonCount, DistinguishedName
Unlock-ADAccount -Identity user

Неудачные попытки входа отображаются в Event Viewer → Windows Logs → Security (события 4625). Если таких записей нет, значит Jitsi не может подключиться к AD.


Частые проблемы и их решения

ОшибкаПричинаРешение
authentication failedНеверный пароль пользователяСбросить пароль в AD.
UnknownНеверный DN или фильтрПроверить DN через Get-ADUser.
Strong auth requiredСтрогая политика ADДля теста установить LDAPServerIntegrity=1, для продакшена — использовать LDAPS.
User not foundОшибка фильтраДля AD использовать (sAMAccountName=%u).
Ошибка TLSОтсутствует сертификатНастроить LDAPS и добавить доверенный сертификат.

Заключение

Интеграция Jitsi Meet с Active Directory делает систему аутентификации централизованной, безопасной и удобной. Главное — корректно указать DN и фильтры LDAP, а также тщательно проверить соединение с помощью ldapsearch и testsaslauthd. После успешной настройки важно включить LDAPS и вернуть строгие политики безопасности на контроллере домена.

// Reviews

Отзывы по теме

Опыт сотрудничества оставил максимально позитивное впечатление, в первую очередь профессионализмом и подходом к решению возникающих проблем.

Опыт сотрудничества оставил максимально позитивное впечатление, в первую очередь профессионализмом и подходом к решению возникающих проблем.

mendarinno384

Jitsi meet: персональный zoom, настройка jitsi meet в docker и на VPS

11.11.2025 · ★ 5/5

Была задача наладить работу n8n, redis и базы данных. Заказывал раньше у другого исполнителя, постоянно все ломалось. Заказал у Михаила, на следующий же день все стало работать быстро, как часы!

Была задача наладить работу n8n, redis и базы данных. Заказывал раньше у другого исполнителя, постоянно все ломалось. Заказал у Михаила, на следующий же день все стало работать быстро, как часы!

christ_media

N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram

24.09.2025 · ★ 5/5

Опытный покупатель

ladohinpy

N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram

25.08.2025 · ★ 5/5

Михаил выполнил настройку очередного VPS. Быстро, профессионально обходя определенные ограничение хостинг провайдеров.

Михаил выполнил настройку очередного VPS. Быстро, профессионально обходя определенные ограничение хостинг провайдеров.

NadoBy

NadoBy

N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram

12.08.2025 · ★ 5/5

Освоившийся покупатель

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему