¿Cómo puedo configurar Redmine => autenticación de Active Directory?

9

Primero, no soy un administrador de AD en el sitio, pero mi gerente me ha pedido que intente que mi instalación de Redmine personal se integre con ActiveDirectory para probarlo para un despliegue a mayor escala.

Nuestro servidor AD está en el host: puerto ims.example.com:389y tengo un usuario IMS/me.

En este momento, también tengo un usuario meen Redmine que usa autenticación local.

He creado un método de autenticación LDAP de ActiveDirectory en RedMine con los siguientes parámetros:

Host: ims.example.com
Port: 389
Base DN: cn=Users,dc=ims,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

Probar esta conexión funciona bien.

Sin embargo, no me he autenticado con éxito.

Creé un usuario administrador de respaldo para poder volver a la mecuenta si rompo las cosas, y luego intenté cambiar mepara usar las credenciales de ActiveDirectory. Sin embargo, una vez que lo hago, nada funciona para iniciar sesión. He probado todas estas opciones de nombre de inicio de sesión:

  • me
  • IMS/me
  • IMS\me

He usado mi contraseña de dominio conocida, pero no me alegro.

Entonces, ¿qué configuración tengo equivocada o qué información necesito obtener para que esto funcione?

Chris R
fuente

Respuestas:

13

Bien, aquí están las configuraciones específicas que necesitaba para hacer que esto funcione:

Host: ims.example.com
Port: 389
User: MYDOMAIN\accountName
Password: *******
Base DN: dc=mydomain,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

El truco fue eliminar cn=Usersdel DN base, después de lo cual todo se unió.

La otra cosa notable fue la inclusión de un usuario para leer el directorio.

Por último, el usuario que inicia sesión usa su nombre de usuario sin calificación de dominio y su contraseña de dominio como de costumbre. Nuestro dominio no requiere una dirección de correo electrónico, por lo que hay un paso adicional en el que la dirección de correo electrónico debe configurarse durante la creación del usuario, pero eso es bastante sencillo.

Chris R
fuente
Ahh ... Ni siquiera pensé en preguntarte si tus cuentas de usuario estaban bajo el contenedor predeterminado "CN = Users, ..." o no.
Evan Anderson
Sería más útil saber cómo me podría haber determinado que. Solo llegué a esta configuración a través de prueba y error.
Chris R
Esto también fue en gran medida prueba y error para mí, ya que he desarrollado manualmente mi propio complemento de autenticación AD para Devise que ni siquiera requiere una cuenta AD Read específica; se une y se autentica en AD mediante el inicio de sesión con nombre de usuario / contraseña. Esto fue muy útil, Chris, gracias.
Ben Kreeger
Una aclaración (me llevó toda una tarde): la cuenta debe formatearse como un nombre distinguido, no como un nombre de inicio de sesión.
porque el
Para mí, la solución es agregar el dominio a la cuenta de usuario de la consulta, por ejemplo, la parte MYDOMAIN.
Andy Arismendi
6

Un truco para encontrar el DN base para la autenticación LDAP de ActiveDirectory es verificar cuál es el nombre de dominio completo de los usuarios. puedes verificar eso con:

whoami /FQDN

si ha iniciado sesión como ese usuario, que devuelve algo como

CN=John Doe,OU=users,OU=department,DC=corp,DC=domain,DC=com

y el DN base se puede encontrar quitando el primer CN.

OU=users,OU=department,DC=corp,DC=domain,DC=com
Remco Schoeman
fuente
Gracias por esto. No estaba al tanto de este comando, muy útil.
jasonmmiraglia
4

No estoy familiarizado con Redmine, pero parece que estás intentando hacer un enlace anónimo a Active Directory para validar las credenciales. Eso no va a funcionar. Habiendo configurado múltiples productos para la integración LDAP con AD, este es un problema común que he visto.

Fuera de la caja, AD requiere que los clientes se autentiquen cuando se vinculan al directorio para realizar consultas.

Eche un vistazo a esta publicación de wiki de Redmine sobre la configuración de la autenticación LDAP. Están hablando de especificar una cuenta y una contraseña para que Redmine las use (una que tenga derechos para leer el directorio; un simple "Usuario de dominio" lo hará) para enlazar al directorio.

Evan Anderson
fuente
¿En qué formulario debo poner el nombre de usuario? Realmente no explican eso en la publicación de la wiki (que fue mi punto de partida para este proceso de todos modos)
Chris R
Específicamente, lo intenté IMS\mey no pareció funcionar. Tampoco puedo obtener detalles sobre por qué está fallando.
Chris R
Especificaría el nombre de usuario de enlace en la sintaxis DOMAIN \ samAccountName. En cuanto a averiguar por qué está fallando, recomendaría obtener un sniffer (tcpdump, wireshark, un "Monitor de red" de Microsoft incorporado, etc.) y tenerlo en cuenta para solucionar el problema. No hay una forma más rápida de averiguar lo que se dice en el cable que mirar lo que se dice en el cable. (Suena tonto, pero muchas personas nunca piensan mirar allí ...) Entonces, al menos, puedes ver si los parámetros que has especificado se están pasando como esperas que sean.
Evan Anderson
Wireshark está resultando ser un regalo del cielo aquí. Gracias por ese consejo. Encontré algunos problemas, y lo revisaré y publicaré los detalles en breve.
Chris R
Ver lo que las cajas se dicen entre sí aclara al instante la causa de muchos problemas. ¡Me alegra saber que lo tienes funcionando!
Evan Anderson
3

Use un navegador ldap y verifique visualmente la estructura ... luma en ubuntu funciona bien, ldapper para mac también.


fuente
En realidad no funcionó con mi servidor LDAP, pero puedo ver cómo sería útil.
Chris R