Voy a intentar resumir la configuración para conectar el sistema de Helpdesk OTRS con Active Directory de Microsoft.
La integración permitirá que los usuarios en el dominio de Windows correspondiente podrán loguearse como agentes a OTRS (también se puede llegar a configurar la autenticación vía Active Directory de clientes en OTRS).
Para configurar Active Directory como backend, el fichero que deberemos modificar es ~otrs/Kernel/Config.pm
En mi caso, la ubicación de OTRS es la de por defecto, /opt/otrs, por lo que sería /opt/otrs/Kernel/Config.pm
Añadiremos antes de la sección “end of your own config options!!!” lo siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# This is an example configuration for an LDAP auth. backend. # (take care that Net::LDAP is installed!) $Self->{AuthModule} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host'} = 'dc.test.local'; $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=test,dc=local'; $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName'; # Definimos grupo, en el que estarán los agentes de OTRS, si no definimos grupos, todos los usuarios del Active Directory # podran hacer login como agentes # En el caso del ejemplo, necesitarás crear el grupo otrs_agents y añadir a él los usuarios que quieres que hagan login como agentes. $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=otrs_agents,OU=grupos,DC=test,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr'} = 'DN'; # Definimos el usuario (que crearemos previamente en AD) con el que realizaremos las consultas $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=users,DC=test,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw'} = 'password_otrs_user'; # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, }; # --------------------------------------------------- # # authentication sync settings # # (enable agent data sync. after succsessful # # authentication) # # --------------------------------------------------- # # Definimos la sincronización con BBDD de AD. Cuando se loggeen correctamente, se sincronizarán datos a BBDD. # (take care that Net::LDAP is installed!) $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host'} = 'dc.test.local'; $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=test,dc=local'; $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; # Definimos el usuario (que crearemos previamente en AD) con el que realizaremos las consultas $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=users,DC=test,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password_otrs_user'; # Mapeo de campos de sincronizacion $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', }; |
Una vez realicéis estos cambios, debería ser posible loggearos con un usuario que se encuentre dentro del grupo otrs_agents de AD.
Estas configuraciones relativas a LDAP/AD (y otras más avanzadas) están sacadas del fichero /opt/otrs/Kernel/Config/Defaults.pm, por si queréis darle alguna vuelta más.
¡¡¡Acceso admin perdido!!!
Si os pasa como a mi, podréis conectar perfectamente a OTRS con usuarios de dominio, pero habréis perdido el acceso Administrador ([email protected]).
Podréis ver en los logs como intenta autenticar [email protected] con el dominio, pero no lo encuentra (evidentemente):
1 |
OTRS-CGI-10[5456]: [Notice][Kernel::System::Auth::LDAP::Auth] User: root@localhost authentication failed, no LDAP entry found!BaseDN='dc=test,dc=local', Filter='([email protected])', (REMOTE_ADDR: x.x.x.x). |
Para poder conseguir acceso administrador, debéis revertir la configuración añadida (en mi caso tuve que reiniciar apache una vez realizados los cambios), conectaros con el usuario local [email protected] y asignar permisos/roles de Administrador al menos a uno de los usuarios de AD, que ya se han sincronizado en la base de datos.
Finalmente volvéis a configurar el fichero Config.pm con el backend AD .
Buenas tardes Adrían, antes que nada darte mi mas enhorabuena por tan excelente tutorial. Estoy teniendo problemas a la hora de poder conectarme como agente a mi OTRS 3.2. He seguido los pasos de tu hilo al pie de la letra pero no encuentro forma de autenticarme.
Tengo creado un usuario llamado “otrs” para realizar las consultas de directorio activo, me podrías decir si dicho usuario tiene que tener algún tipo de privilegio?
También tengo creado un grupo en directorio activo llamado “agentesotrs” con los usuarios que quiero que sean agentes. Habría que realizar algún paso mas?
En este campo, $Self->{‘AuthSyncModule::LDAP::SearchUserPw’} = ‘password_otrs_user’;——->>>>supongo que se introduce la pass del usuario otrs que he creado no?
Espero tu respuesta
Un saludo Daniel
Hola Daniel,
El campo SearchUserPw es referente a la contraseña del usuario en sí. Correcto.
Con respecto a los problemas de conexión, revisa:
– Si tienes el módulo de Perl Net::LDAP
– Si hay conectividad desde el equipo OTRS al servidor DC, puedes revisar con telnet/nc al puerto 389
Por último, revisa /var/log/messages por si tienes algún mensaje de error que pueda guiarte hacia el problema.
Saludos y gracias por el comentario!
Estimado Adrían,
Espero puedas ayudarme, ya logre conectar al OTRS con usuarios del AD, pero no puedo hacer que mi lista de usuarios se cargue como clientes de OTRS, por favor dame luces, ya que intente de todo con el archivo config.pm y no logro nada aun.
Hola Marco,
En mi post, hablo de conectar OTRS con AD para los agentes.
En tu caso creo que quieres conectar los clientes, correcto? Yo intentaría seguir, si no lo has hecho ya, la información que OTRS proporciona en su documentación: http://doc.otrs.org/3.0/en/html/auth-backends.html#customer-auth-backends
En caso de que lo hayas seguido, en qué punto te quedas, tienes algún error?
Saludos y suerte!
Que tal,
Yo tengo configurado OTRS para autenticar con Active Directory y funciona bien, pero, si intento acceder con un usuario que tenga restricciones de inicio de sesión en active directory aun cuando tenga permisos para OTRS, no logro autenticarme. Alguien más tiene este problema?
Saludos.
Hola Adrian,
Disculpa la demora en mi respuesta, en efecto tal como te comento, logro valida como agente con usuario del AD, pero lo que necesito es que la lista de clientes de OTRS sea la lista de usuarios de mi Directorio Activo.
Espero puedas ayudarme.
Slds.
Buenas a ambos,
en mi caso como comentaba sólo comentaba los agentes.
Para configurar que los clientes se conecten a través de LDAP/AD, deberíais seguir las instrucciones indicadas en la siguiente URL: http://otrs.github.io/doc/manual/admin/3.0/en/html/auth-backends.html#customer-auth-backend-ldap
Los pasos son similares y no parece demasiado complicado.
Ya me contaréis si finalmente conseguís hacerlo funcionar.
Un saludo y gracias por vuestros comentarios.
Tengo OTRS 4.0.3 y no me conecta el ldap con el active directory (window server 2008)
Tengo un active directory,, un usuario: OTRS y un grupo otrs_agents.. NO me funciona
quien me puede ayudar.
Hola escatolini
puedes dar algún detalle? tienes algún log, mensaje de error o te has quedado atascado en algún paso
Si nos comentas algo más intentamos ayudarte.
Hola Adrian.
Primero te felicito por tus oportunas respuestas, con respecto a la conexión de OTRS a AD tengo un problema y estoy estancado.
Esta es mi segunda implementación de OTRS pero me da problemas al momento de autenticar los usuarios del AD.
El ambiente que tengo es Active Directory, OTRS Version 3.3 y Zimbra como servidor de correo.
la configuración que use es la misma de tu post cambiandole los datos de:
Se ingresa direccion IP del server que tiene el AD.
Ingresando distinguishedName tanto como para el dominio, para el grupo OTRS y el usuario que se crea para la lectura del AD con su respectiva contraseña.
El mensaje del log es el siguiente
[Kernel::System::Auth::DB::Auth] User: edward.gonzalez authentication ok (Method: sha256, REMOTE_ADDR: 127.0.0.1).
[Error][Kernel::System::Auth::Sync::LDAP::Sync][120] Can’t connect to 198.168.168.10: IO::Socket::INET: connect: 10060
[Error][Kernel::System::State::StateLookup][598] No State for pending reminder found!
Usuarios agentes creados en el AD con el parametro mail lleno “e-mail de Zimbra no es el mismo ID del AD”.
Espero que me pueda dar una mano con lo solicitado.
Muchas gracias.
Resuelto.
El problema es que no resolvía la siguiente linea:
$Self->{‘AuthModule::LDAP::Host’} = ‘dc.test.local’;
en “dc.test.local” yo tenia la IP del Server donde se encuentra el Controlador de Dominio pero no resolvía, lo cambie por el nombre completo del server y funciono sin problemas.
Gracias por todo.
Curioso que no funcionara con la IP.
Gracias por tu aporte!
Adrian primero que nada felicitarte por la información que tienes en este post, por otro lado comentarte que seguí al pie de la letra el post sin embargo estoy presentando problemas al intentar unir mi OTRS 6 a mi AD Win2008, me sale el siguiente error cuando intento acceder con un agente:
[Error][Kernel::System::Auth::LDAP::Auth][Line:192]: First bind failed! 80090308: LdapErr: DSID-0C090400, comment: AcceptSecurityContext error, data 52e, v1db1
Agradezco si me puedes dar una mano de que puede estar pasando.
NOTA: El OTRS lo tengo instalado en una maquina en AWS y tiene conexión al AD por una VPN Site2Site, me resuelve tanto ping a la IP como al DNS del AD.
“Autenticación lograda, pero no se pudieron encontrar ningunos datos de cliente en el interfaz del cliente. Favor, contactar con administrador.”
Alguien mas tiene este problema???