27. Odoo LDAP

1. Obtener los parámetros del servidor LDAP

Ejecutar en Windows:

nslookup -type=srv _ldap._tcp.DOMAIN_NAME

En Linux

host -t srv _ldap._tcp.DOMAIN_NAME


Y nos devuelve els servidor y la dirección IP, que para el caso de windows:

Servidor:  MUNICIPIO-DC-04.edificio.municipio
Address:   XXX.XXX.XXX.XXX

_ldap._tcp.edificio.municipio           SRV service location:
priority = 0 weight = 100 port = 389 svr hostname = municipio-dc-03.edificio.municipio _ldap._tcp.edificio.municipio SRV service location:
priority = 0 weight = 100 port = 389 svr hostname = municipio-dc-04.edificio.municipio
municipio-dc-03.edificio.municipio internet address = XXX.XXX.XXX.XXX municipio-dc-04.edificio.municipio internet address = XXX.XXX.XXX.XXX

Y para linux


_ldap._tcp.edificio.municipio has SRV record 0 100 389 municipio-dc-03.edificio.municipio.
_ldap._tcp.edificio.municipio has SRV record 0 100 389 municipio-dc-03.edificio.municipio.

Y para saber si está activado el TSL

openssl s_client -connect municipio-dc-03.edificio.municipio:389

Y nos devuelve para el caso que  no esté activado el TSL

CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 338 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

Para ver un usuario como esta en LDAP hay que entrar en el servidor de LDAP y ejecutar este comando

dsquery user -name "Ximo Dante" 

Siendo el name el nombre del usuario y no el nombre de identificación al iniciar una sesión 
Y nos devuelve


"CN=Ximo Dante,OU=DEPARTAMENTO,OU=XX USUARIOS,DC=edificio,DC=poblacion"

2. Consultar LDAP en Linux


Se sigue a devconnected.com

Si queremos consultar información de LDAP de un Active Directory en Windows desde Linux:
1. Hay que instalar ldap-utils
2. Ejecutar

ldapsearch -x -b "dc=edificio,dc=poblacion" -H ldap://192.XXX.XXX.XXX -D "cn=ldap user, ou=DEPARTAMENTO, ou=USUARIOS,  dc=edificio, dc=poblacion" -W

Siendo:
-D : Bind que es un usuario que es el que da acceso al LDAP y que en principio, no requiere privilegios especiales. Por ejemplo se ha creado un usuario llamado "ldap user" dentre de la carpeta USUARIOS/DEPARTAMENTO. Hay que indicar delante la carpeta mas interior, por tanto  ou=DEPARTAMENTO va antes que ou=USUARIOS. Si invertimos el orden entonces fallará la búsqueda. 
-x: Autorización simple
-b: Base DN para buscar, cuanto mas acotemos, más rápida será la búsqueda
-H: URL del servidor LDAP
-W: para que pida el password del usuario que se utiliza como bind (ldap user)


3. Configurar Odoo para autenticación LDAP

1. Instalar el módulo de Autenticación vía LDAP


2. Ir a Ajustes - Opciones generales

En el apartado de integraciones selweccionar Autentificación LDAP



3. Crear un servidor de LDAP



Y en base a la información recopilada en el apartado 1 rellenamos la pantalla


Base LDAP: Nivel del LDAP de los usuarios que pueden acceder
Filtro LDAP: 
  1. sAMAcoountName = logon names  (ej. a010)
  2. userPrincipalName = email    (ej. pepe@gmail.com)







Comentarios

Entradas populares de este blog

20. Desarrollando con Odoo (15). Permisos y grupos. Crear usuarios de la aplicación. Restringir permisos a usuarios

2. El Modo desarrollador

8. Desarrollando con Odoo (6). Herencia de clase en modelos. Herencia de vistas. Operaciones numeradas en Odoo ??