Este post esta dedicado a hablar de la configuración de LDAP en Rocket.Chat, así de como usar otros tipos de autenticaciones.
Publicado en May 06, 2021 by ManuelLoraRoman
LDAP Rocket.Chat Settings Authentication
7 min LECTURA
Rocket.Chat, como hemos comentado anteriormente, permite que los usuarios se autentiquen para entrar al servidor mediante LDAP.
Podemos acceder a la configuración de LDAP de la siguiente manera:
Accedemos al servidor como accedemos normalmente.
En la siguiente ventana, pinchar en el icono de la parte superior izquierda, y acceder a la opción de Administración.
Una vez ahí, se nos desplegará un listado con varias opciones. Nos tendremos que ir a la sección de Configuración y, para que sea más sencillo, poner en el buscador “LDAP” y acceder:
A continuación, se nos desplegará las opciones de las que dispone LDAP. Nosotros seleccionaremos las siguientes opciones para nuestro uso personal:
Debemos seleccionar esta opción para que podamos utilizar LDAP
En nuestro caso, no lo vamos a seleccionar por ahora, ya que en principio queremos que todos los inicios de sesión sean mediante LDAP.
Garantiza que se realizó correctamente la búsqueda del DN del usuario después de la vinculación.
En el cuadro de texto, debemos incorporar o el nombre del servidor LDAP o su dirección IP.
Puerto para acceder a nuestro servidor LDAP
Cuando la conexión se vea interrumpida, permite intentar conectarse automáticamente de nuevo.
En nuestro caso, como no lo tenemos configurado no pondremos ningún cifrado, pero en el caso del instituto, usaremos SSL/LDAPS.
Puesto que no vamos a utilizar cifrado, estas opciones están desactivadas.
El nombre distinguido completamente calificado de un subárbol LDAP donde quieras buscar usuarios y grupos.
En nuestro caso, hemos creado un servidor LDAP con unos datos de prueba, así que usaremos el siguiente:
A partir de aquí, ya se podría comprobar la conexión con el botón de color azul. También, en cualquier caso, podemos restablecer la configuración de esta sección.
Ahora pasaremos inmediatamente a configurar la sección llamada Autenticación, que es la otra parte importante para configurar LDAP. En ella, nos encontramos las siguientes opciones:
Habilitamos la autenticación de LDAP
El usuario usado para realizar las búsquedas de usuarios y para autenticarlos. Usualmente, se utiliza el administrador del servidor LDAP.
La contraseña LDAP usada para el administrador anteriormente puesto.
Terminada esta sección, pasaremos a la siguiente, Sincronizar/Importar. Esta sección nos permitirá configurar la búsqueda de usuarios y la posterior incorporación como usuarios en nuestro servidor Rocket.Chat. Esta sección dispone de las siguientes opciones:
El campo utilizado como Nombre de usuario en Rocket.Chat para los nuevos usuarios. Si este campo se deja en blanco, se usará el nombre de usuario informado en la página de inicio de sesión.
En nuestro caso, hemos utilizado el campo LDAP “givenName”.
El campo que se utilizará para vincular al usuario LDAP y el usuario Rocket.Chat. Dejar el valor por defecto.
Se usa para crear un correo electrónico exclusivo para los usuarios donde el correo electrónico no se haya implementado mediante LDAP. Nosotros usaremos el siguiente:
Fusionar usuarios existentes –> ON
Sincronizar Datos de Usuario –> ON
Mantiene los datos del usuario en sincronía con el servidor al iniciar sesión.
Configura los campos de usuario del servidor Rocket.Chat, poblándolos con los datos de los registros LDAP. Los únicos campos que están disponibles en Rocket.Chat son: name, email y customFields.
Nosotros lo hemos configurado de la siguiente forma:
Sincronizar grupos de LDAP –> ON
Eliminar automáticamente roles de usuario –> OFF
Se eliminan los roles de Rocket.Chat para implementar roles según los asignados en el servidor LDAP.
Filtro usado para verificar que un usuario pertenece a un grupo. Dejar el valor por defecto:
DN base utilizado para buscar usuarios. En nuestro caso, no hemos utilizado dicha opción.
Mapea los grupos de LDAP a los roles de usuario de Rocket.Chat. No hemos tocado más allá del valor por defecto:
Si se habilita esta opción, añadirá automáticamente a los usuarios a un canal basándose en su grupo LDAP.
Administrador por defecto en caso de que se creen automáticamente canales que no existan durante la sincronización. Dejaremos el usuario por defecto
Dejamos los valores por defecto. Mapea los grupos LDAP a los canales de Rocket.Chat.
Habilita esta opción si desea eliminar a cualquier usuario en un canal que no esté en el grupo LDAP.
En caso de que queramos que nuestros usuarios dispongan del avatar de usuario, seleccionaremos el campo LDAP el cual tenga el avatar de usuario.
Sincronización de fondo –> ON
Intervalo de sincronización de fondo
Se puede usar diferentes formatos para el intervalo: Cron Text Parser
Importará todos los usuarios (según criterios de filtro) que existen en LDAP y no en Rocket.Chat.
Sincronizará el avatar, los campos, el nombre de usuario, etc de todos los usuarios ya importados.
Por último, debemos pulsar el siguiente botón azul para que se ejecute la sincronización.
Una vez realizado los cambios, ya tendríamos una configuración inicial de LDAP. Lo único ya sería esperar a que se conecte al servidor y se sincronicen los usuarios de LDAP.
Una vez haya terminado la sincronización, podremos acceder a los usuarios en la siguiente pestaña Administración > Usuarios:
Los usuarios añadidos mediante LDAP en nuestro caso serán los mismos añadidos mediante este fichero:
dn: uid=maria,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: person
cn:: TWFyaWEgZGVsIENhcm1lbiBMb3JhIFJvbcOhbgo=
uid: maria
uidNumber: 2002
gidNumber: 2502
homeDirectory: /home/maria
loginShell: /bin/bash
userPassword:: {SSHA}OuK8ryroLXs+fpudBXcJrMTZ3ASD/H46
sn:: TG9yYSBSb23DoW4K
mail: marialoraroman@gmail.com
givenName: maria
dn: uid=rosaura,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: Um9zYXVyYSBIYWJhIFBlcmVhCg==
uid: rosaura
uidNumber: 2003
gidNumber: 2503
homeDirectory: /home/rosaura
loginShell: /bin/bash
userPassword: {SSHA}sgJUlNb20SdYbUclyXQNFCe0tjjdijdS
sn: SGFiYSBQZXJlYQo=
mail: rosaurahabaperea@gmail.com
givenName: rosaura
dn: uid=laura,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: TGF1cmEgTW9yYWxlcyBDYWJlbGxvCg==
uid: laura
uidNumber: 2004
gidNumber: 2504
homeDirectory: /home/laura
loginShell: /bin/bash
userPassword: {SSHA}bZ1BzoZWQGN25d5ecDzOVfaSi35h7/Dq
sn: TW9yYWxlcyBDYWJlbGxvCg==
mail: lauramoralescabello@gmail.com
givenName: laura
dn: uid=pablo,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: UGFibG8gU3VzbyBHb256YWxlego=
uid: pablo
uidNumber: 2005
gidNumber: 2505
homeDirectory: /home/pablo
loginShell: /bin/bash
userPassword: {SSHA}1Dmh5fQgowk0Cvfzje4B71kC1SmeiIqi
sn: U3VzbyBHb256YWxlego=
mail: pablosusogonzalex@gmail.com
givenName: pablo
dn: uid=arturo,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: QXJ0dXJvIEJvcnJlcm8gR29uemFsZXoK
uid: arturo
uidNumber: 2006
gidNumber: 2506
homeDirectory: /home/arturo
loginShell: /bin/bash
userPassword: {SSHA}RoA4bctGSRG537NslZYSifHAmzf0DWTv
sn: Qm9ycmVybyBHb256YWxlego=
mail: arturo@debian.org
givenName: arturo
dn: uid=diego,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: RGllZ28gTG9zYWRhIEZ1ZW50ZXMK
uid: diego
uidNumber: 2007
gidNumber: 2507
homeDirectory: /home/diego
loginShell: /bin/bash
userPassword: {SSHA}pclPYfaM0zvJos+h86gu+bx//Q+UULyj
sn: TG9zYWRhIEZ1ZW50ZXMK
mail: dlosadafuentes@gmail.com
givenName: diego
dn: uid=isabel,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: SXNhYmVsIE1vcmFsZXMgQ2FiZWxsbwo=
uid: isabel
uidNumber: 2008
gidNumber: 2508
homeDirectory: /home/isabel
loginShell: /bin/bash
userPassword: {SSHA}cBES958lKSd7Trpj7Yrah5yHfX4Ikl/e
sn: TW9yYWxlcyBDYWJlbGxvCg==
mail: isabelmoralescabello@gmail.com
givenName: isabel
dn: uid=alberto,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: QWxiZXJ0byBDb3Jkb24gQXJldmFsbwo=
uid: alberto
uidNumber: 2009
gidNumber: 2509
homeDirectory: /home/alberto
loginShell: /bin/bash
userPassword: {SSHA}GMTZonB3W7TcL9D0BEVfO7Z6xUVKbir8
sn: Q29yZG9uIEFyZXZhbG8K
mail: albertocordonarevalo@gmail.com
givenName: alberto
dn: uid=rosalia,ou=People,dc=manuel-lora,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn:: Um9zYWxpYSBDb3Jkb24gQXJldmFsbwo=
uid: rosalia
uidNumber: 2010
gidNumber: 2510
homeDirectory: /home/rosalia
loginShell: /bin/bash
userPassword: {SSHA}fmbcJQuDFJY6+fW3KXBs8NDHugw5ULuO
sn: Q29yZG9uIEFyZXZhbG8K
mail: rosaliacordonarevalo@gmail.com
givenName: rosalia