jueves, 20 de junio de 2024

LDAP (I)

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)
---

2. Mostrar los usuarios desde el servidor LDAP

Para ver un usuario como esta en LDAP, sabiendo el CN hay que entrar en el servidor de LDAP  pues no se puede jecutar desde otra máquina, 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"

Si queremos buscar por el nombre de inicio de sesión (UID)

dsquery user -samid ximo 

Si no sabemos los nombre podemos ejecutar 

dsquery user 

Y nos lista todos los usuarios


3. El comando ldapsearch (linux)

Veamos algunos ejemplos de este comando:

1. Para ver el contenido del LDAP en el rango de búsqueda indicado en "-b" ejecutar esta orden en una sola línea:

ldapsearch -H ldap://municipio-dc-03.edificio.municipio 
   -D "cn=Ximo Dante,ou=SISTEMAS,ou=USUARIOS IMPORTANTES,dc=edificio,dc=municipio" 
   -w "mi_contraseña" 
   -b "dc=edificio,dc=municipio"

Si por ejemplo hubieramos tomado: -b "ou=USUARIOS IMPORTANTES,dc=edificio,dc=municipio"
entonces se hubiera restringido la búsqueda a esa unidad organizativa ou=USUARIOS IMPORTANTES

OJO: NO podemos hacer -b "ou=SISTEMAS,dc=edificio,dc=municipio" ya que no podemos saltar el orden jerarquico dejando huecos

2. Mostrar los DN:

ldapsearch -x -H ldap://municipio-dc-03.edificio.municipio 
   -D "cn=Ximo Dante,ou=SISTEMAS,ou=USUARIOS IMPORTANTES,dc=edificio,dc=municipio" 
   -w "mi_contraseña" 
   -b "dc=edificio,dc=municipio"
   -LLL -s sub '(objectClass=*)' 'givenName=username*' 

3. Mostrar el usuario introducido en el login "ximo" (muestra el usuario i su DN)

ldapsearch -x -H ldap://municipio-dc-03.edificio.municipio 
   -D "cn=Ximo Dante,ou=SISTEMAS,ou=USUARIOS IMPORTANTES,dc=edificio,dc=municipio" 
   -w "mi_contraseña" 
   -b "dc=edificio,dc=municipio"
   -LLL "(sAMAccountName=ximo)" sAMAccountName dn

4. Mostrar los DN y login de usuarios solo:

ldapsearch -x -H ldap://municipio-dc-03.edificio.municipio 
   -D "cn=Ximo Dante,ou=SISTEMAS,ou=USUARIOS IMPORTANTES,dc=edificio,dc=municipio" 
   -w "mi_contraseña" 
   -b "dc=edificio,dc=municipio"
   -LLL '(objectClass=user)' sAMAccountName dn

5. Mostrar todos los login de usario ordenados

ldapsearch -x -H ldap://municipio-dc-03.edificio.municipio 
   -D "cn=Ximo Dante,ou=SISTEMAS,ou=USUARIOS IMPORTANTES,dc=edificio,dc=municipio" 
   -w "mi_contraseña" 
   -b "dc=edificio,dc=municipio"
   -LLL '(objectClass=user)' sAMAccountName | grep sAMAccountName | sort







No hay comentarios :

Publicar un comentario