Bandera: Русский Русский Bandera: English English

Conectar Jitsi Meet a Active Directory: Guía completa de configuración y resolución de problemas

Publicado el 06.11.2025


Jitsi Meet — plataforma de videoconferencias de código abierto que se integra fácilmente con Active Directory (AD). Esta integración permite usar cuentas corporativas para iniciar sesión, simplificando la administración y aumentando la seguridad. En esta guía analizaremos en detalle cómo conectar Jitsi Meet (en Docker) a un AD basado en Windows Server 2016, y mostraremos métodos de depuración probados que ayudarán a evitar errores típicos.

Importante: usar LDAP sin cifrado no es seguro. Para pruebas esto es admisible, pero en producción es obligatorio usar LDAPS (puerto 636) con certificados correctos.


Preparación de Active Directory

Para la integración necesitaremos una cuenta bind separada, a través de la cual Prosody realizará búsquedas de usuarios y comprobará contraseñas.

1. Creamos la cuenta bind

  1. En la consola Active Directory Users and Computers creamos un nuevo usuario, por ejemplo:

    • Name = bind
    • SamAccountName = binduser
  2. Establecemos una contraseña segura (por ejemplo, "YourStrongPassword!") y quitamos la marca User must change password at next logon.

  3. En la sección Delegation otorgamos permisos “Read all user information” para la OU necesaria.

2. Obtenemos el DN del usuario

En el controlador de dominio ejecutamos el comando PowerShell:

Get-ADUser -Identity "binduser" -Properties DistinguishedName

Ejemplo de salida:

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

Este valor DistinguishedName lo usaremos al configurar Jitsi.

3. Relajamos la política de bind (para pruebas)

Si aparece el error Strong auth required, temporalmente permitimos un modo más flexible:

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

El valor 1 activa el modo “Negotiate signing”. Después de las pruebas es importante volver a 2 y pasar a LDAPS.


Configuración de Jitsi Meet en Docker

En la raíz del proyecto docker-jitsi-meet editamos el archivo .env, estableciendo los parámetros 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

Si queremos iniciar sesión con la dirección user@domain.local, cambiamos el filtro a:

LDAP_FILTER=(userPrincipalName=%u)

Configuramos DNS mediante extra_hosts

A veces el contenedor prosody no ve el controlador de dominio si Docker utiliza DNS públicos. Para evitar este problema, indicamos la IP del DC manualmente mediante extra_hosts en docker-compose.yaml.

Ejemplo de sección:

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

Después reiniciamos la pila:

docker compose down
docker compose up -d

Comprobamos la configuración de Prosody

Para asegurarnos de que los ajustes se aplicaron, entramos al contenedor prosody y abrimos el archivo:

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

Los parámetros deben coincidir con las variables del .env.


Pruebas y depuración

Antes de activar la autenticación hay que asegurarse de que LDAP y SASL funcionan correctamente.

1. Instalamos las herramientas

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

2. Verificamos la cuenta 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)"

Si el comando devuelve el registro del usuario — la conexión se ha establecido correctamente.

3. Verificamos la autenticación del usuario

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

Esperamos el resultado:

0: OK "Success."

Comprobamos el acceso a través de la interfaz web

Después de la configuración abrimos https://your-jitsi.com e iniciamos sesión con una cuenta del AD. Si todo está correctamente configurado, el acceso será exitoso y el usuario podrá crear conferencias.


Depuración y diagnóstico de errores

Para no perder tiempo adivinando, realizamos la depuración de forma secuencial.

Comprobamos la conexión de red y la accesibilidad del AD

ComprobaciónComandoResultado esperadoPosible causa del error
Ping al DCping your-dc.example.comRespuesta del DCProblema con DNS — añadir extra_hosts.
Bind con binduserldapsearch ...Salida de objetos ADError en el DN o en la contraseña.
Búsqueda de usuario(sAMAccountName=user)Registro encontradoError en el filtro o en la OU.
Bind con el usuarioldapsearch -x -H ... -D "user@example.local" -w 'Pass'SuccessRestricciones LDAPServerIntegrity.

Revisamos los logs de Prosody

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

Para un diagnóstico más detallado activamos el modo de depuración de saslauthd:

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

Luego realizamos la comprobación:

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

Errores típicos:

  • Unknown — DN o filtro incorrecto.
  • Invalid credentials — error en la contraseña del binduser.
  • Bind failed — problema TLS o política de seguridad del AD.

Comprobamos el estado en Active Directory

En el controlador de dominio se puede revisar el estado de la cuenta:

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

Los intentos fallidos de inicio de sesión se muestran en Event Viewer → Windows Logs → Security (eventos 4625). Si no hay entradas de ese tipo, significa que Jitsi no puede conectarse al AD.


Problemas frecuentes y sus soluciones

ErrorCausaSolución
authentication failedContraseña del usuario incorrectaRestablecer la contraseña en AD.
UnknownDN o filtro incorrectoVerificar el DN con Get-ADUser.
Strong auth requiredPolítica estricta del ADPara pruebas establecer LDAPServerIntegrity=1, en producción — usar LDAPS.
User not foundError en el filtroPara AD usar (sAMAccountName=%u).
Error TLSFalta el certificadoConfigurar LDAPS y agregar el certificado de confianza.

Conclusión

La integración de Jitsi Meet con Active Directory centraliza, asegura y simplifica la autenticación. Lo principal es indicar correctamente el DN y los filtros LDAP, así como verificar la conexión con ldapsearch y testsaslauthd. Tras una configuración exitosa es importante habilitar LDAPS y restaurar las políticas de seguridad estrictas en el controlador de dominio.

Reseñas relacionadas

Había que hacer funcionar n8n, Redis y la base de datos. Lo había encargado antes a otro proveedor; todo se rompía constantemente. Se lo encargué a Mijaíl y al día siguiente todo funcionó rápido, ¡como un reloj!

christ_media · Instalación de n8n en su servidor VPS. Configuración de n8n, Docker, IA, Telegram

Comprador experimentado

24.09.2025 · ⭐ 5/5

Había que poner en marcha n8n, redis y la base de datos. Contraté antes a otro proveedor, y todo se rompía constantemente. Lo encargué a Mikhail, y al día siguiente ¡todo empezó a funcionar rápido, como un reloj!

Solución rápida al problema, ¡recomiendo a Mijaíl como profesional a todo el mundo! Intenté montar una configuración similar por mi cuenta y siguiendo consejos de IA, y acabé gastando mucho tiempo y dinero (por el tiempo de inactividad del servidor). Así que mi consejo final: acudan a profesionales, sale más barato =) Gracias a Mijaíl por su profesionalidad.

ladohinpy · Instalación de n8n en su servidor VPS. Configuración de n8n, Docker, IA, Telegram

25.08.2025 · ⭐ 5/5

Solución rápida al problema, ¡recomiendo a Mikhail como profesional! Intenté montar una configuración similar por mi cuenta y siguiendo consejos de redes neuronales, y acabó siendo una pérdida de mucho esfuerzo y dinero (por el tiempo de inactividad del servidor). Así que mi consejo al final: acudan a profesionales, saldrá más barato =) Gracias a Mikhail por su profesionalismo.

¿Necesitas ayuda?

Escríbeme y te ayudaré a resolver el problema

Publicaciones relacionadas